在多个Android应用程序之间共享和保存数据

jaz*_*dev 11 sqlite android android-contentprovider android-external-storage

我正在开发一组需要共享常见状态和配置设置的复杂Android应用程序.

例如,请参阅此图片解释我的方案:

在此输入图像描述

我希望APP 1,APP 2和APP 3能够访问(读/写)公共存储区域的数据.此外,我需要卸载保护,即我不希望在用户卸载任何应用程序时删除数据.

我已经阅读过有关SQLite数据库,ContentProviders和内部和外部存储的文章,但上述每种方法都有如下所列的缺点:

  • SQLite数据库:数据库在应用程序卸载时删除,对每个应用程序都是私有的
  • ContentProvider:删除包含ContentProvider的应用程序时删除的数据
  • 内部存储:对每个应用程序都是私有的,并且应用程序卸载时会删除数据(http://developer.android.com/training/basics/data-storage/files.html#InternalVsExternalStorage)
  • 外部存储:不可靠(用户可能会删除SD卡)
  • 存储在服务器上:不可能,用户可能没有可靠的互联网连接

编辑:

我不希望任何依赖Google Play服务,因为我将通过Play商店和第三方下载分发应用程序.

请帮帮我.

Gre*_*lli 1

Google 云端硬盘可以为您完成此操作。您基本上获得了对由远程文件系统支持的本地文件系统的许可。在大多数手机上,这是预安装的,因此您担心的卸载问题不再是问题。

您可以为您的应用程序创建一个文件夹,然后您可以读取/写入。

https://developers.google.com/drive/android/