【问题标题】:Android: Store data that can be accessed by multiple applicationsAndroid:存储可以被多个应用程序访问的数据
【发布时间】:2016-06-08 15:54:30
【问题描述】:

我有一个场景,其中有 4 个(或更多)应用程序,第一个在设备上运行的应用程序(可以是 4 个应用程序中的任何一个)将生成唯一 ID 并将其存储在某个位置,以及所有其他位置之后运行的应用程序需要读取由第一个运行的应用程序生成的唯一 ID。

我想排除 External Storage 选项,因为某些用户可能很容易更改存储的值。

我也考虑过Shared Preferences,但是似乎使用Shared Preferences我们可以实现多个应用程序来读取单个应用程序生成的数据,但是所有应用程序都不能写入这个共享数据。

【问题讨论】:

  • 使用远程服务器并通过 API 连接。
  • @AnirudhSharma 我的要求是识别安装了我的应用程序的客户端设备。我们不能在这种情况下使用这个选项。
  • 您可以使用内容提供程序。 Content Provider 在 android 中的目的是在多个应用程序(进程)之间共享数据。
  • @muditsen1234,我之前没有创建过Content Providers,我试试。但我认为“内容提供者”模式需要一个应用程序注册为Provider,所有其他应用程序都需要在接收端。在我的场景中,4 个应用程序中的任何一个都可以是Provider,所有其他应用程序都应该在接收端。使用Content Provider 仍然可以实现吗?

标签: android


【解决方案1】:

您还可以使用 Sqlite DB 选项并共享 ContentProvider 以供其他应用程序访问或修改数据。优点是这些数据将存储在本地,缺点是如果您希望数据安全,则必须加密数据或选择远程服务器选项。

【讨论】:

  • 在上面给定的场景中,如果我必须使用Content Provider 模式,4 个应用程序中的任何一个都可以是Provider,这取决于哪个应用程序首先运行。由于无法在开发(编译)时确定提供者。我认为同一提供商名称不能用于多个应用程序
  • 您可以让一个应用程序来存储 ContentProvider 和 Sqlite DB,并赋予其他应用程序写/读权限。请在此处查看有关此主题的更多信息:developer.android.com/guide/topics/manifest/…
猜你喜欢
  • 2016-10-18
  • 2016-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多