Android应用程序以异步方式读取某种缓冲区

时间:2013-05-14 11:35:41

标签: android buffer shared-memory

我目前被分配任务来研究和实施两个执行以下操作的应用程序:

  • App A将某些内容写入某种缓冲区/寄存器
  • App A终止
  • App B启动并读取缓冲区

应用程序不应该同时运行。

首先,我不知道我有哪些可能性。 我想出了以下内容:

  1. 写入文件
  2. 写入某个共享内存范围
  3. 这两个选项是否可行,我是否必须授予App B访问文件或内存范围的权利?

    此外,我应该检查网络套接字用作“缓冲区”。 我知道这会违背应该做的所有事情,但这是预期的! 我试图使用DatagramSocket,因为我可以打开那种套接字,通过它发送数据包,关闭套接字并终止应用程序。 我以为会有一些系统缓冲区保存数据包,直到有人在具有相同端口的DatagramSocket上调用receive。 这甚至是可能的还是当没有人立即收到它们时系统会抛弃所有数据包?

1 个答案:

答案 0 :(得分:0)

Android API中有一个专门创建的类,允许您在不同的应用程序之间共享数据 - ContentProvider

您应该创建一个负责数据的ContentProvider(我建议使用SQLite数据库来存储数据),这两个应用都可以使用相同的ContentProvider来访问和/或修改数据。

ContentProvider所在的应用程序无关紧要,但最好是在应用程序A中,因为它是创建和修改数据的应用程序。

请参阅此指南,了解如何创建ContentProvider

http://developer.android.com/guide/topics/providers/content-providers.html

相关问题