java - 在 Android 应用程序之间共享数据的最佳实践

标签 java android android-intent sharedpreferences android-contentprovider

我需要在不使用互联网的情况下在同一部手机上的两个 Android 应用程序之间共享数据。我要分享的数据包括几个不同数据类型的键值对。我知道的选项是:

  1. 使用 Intent - SendReceive .但典型的例子 for intents 不涉及这些用例。 Intent 似乎更多 适用于共享特定 MIME 类型的数据或启动应用程序(或 让用户选择)来处理共享的数据。

  2. 分享 SharedPreferences .然而 MODE_WORLD_READABLE 或为此所需的 MODE_WORLD_WRITEABLE 标志已被弃用 发布 API 17。

  3. Broadcast Receivers - 但我并没有完全听事件。 我想使用请求/响应周期。

  4. Content Providers .这很棒,除了我 需要将数据存储在共享数据的应用程序的数据库中。如果我有键值对 其中值可以是不同的数据类型,这使得数据 表有点麻烦。有没有更好的方法来做到这一点 内容提供商?

采用哪种技术最好?

最佳答案

我创建了一个小型库,它可以使用 ContentProviderREAD ONLY 方式轻松地将一个应用程序的 SharedPreferences 共享到另一个应用程序。

在这里描述 - https://github.com/ratpik/android-sharedpreferences-api/blob/master/README.md

关于java - 在 Android 应用程序之间共享数据的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20214963/

相关文章:

java - menuitem - 开关未显示在 ActionBar 上

java - 无法从互联网检索数据

android - 将 Amazon sdk(jar 文件)用于 android 应用程序

java - 网站不会在 android webview 中加载,但在 android 浏览器中工作正常

java - 方法局部内部类不能使用方法内声明的变量

java - 是否可以在 java 中重用字符串?

android - 动态从字符串资源中获取字符串

android - 将两个花车返回到上一个 Activity

android - 我可以作为新应用程序或在我的应用程序之外启动 Activity 吗?

java - 如何在java中生成0到2^32-1之间的随机数