【问题标题】:Sharing data between apps在应用程序之间共享数据
【发布时间】:2014-04-05 15:34:25
【问题描述】:

我有 2 个应用程序。

第一个应用需要存储大量的字符串数据。 问:我应该将这个字符串存储在哪里,它将被第二个应用程序访问。

我知道 android 中的数据存储方案。 我需要将其存储在内部存储或 SharedPreferences 中吗? 我知道创建世界可读的文件是非常危险的。

有没有办法只与第二个应用共享这个字符串?

【问题讨论】:

  • 在秘密文件夹中创建数据库并从两者访问它。

标签: android data-storage


【解决方案1】:

在大多数情况下,通过内容提供商在应用之间共享数据是最安全、最方便的方式。

您可以在这里寻求帮助:

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

或者这里:

https://developer.android.com/training/sharing/index.html

通过提供程序,文件对其中一个应用程序保持私有,它只是为其他应用程序提供了一种访问数据的方式。因此,任何第 3 方应用程序都无法访问该文件 - 他们可能会访问提供程序,但如果需要,您可以实施一些简单的访问控制,因此很难发现。

【讨论】:

  • 如果我使用内容提供程序,那么我也需要将其保存在一个文件数据中,该文件数据需要是世界可读的,以便第二个应用程序访问其内容。
  • 您可以通过任何存储数据的方式支持内容提供者,无论是 SQLite 数据库还是平面文件。请注意,通过内容提供者共享文件(甚至使其成为全球可读的文件)比没有内容提供者要安全得多。
  • 我相信在文件中存储一个大字符串就可以了,然后是 SQLite。你能解释一下使用内容提供者比 SharedPreferences 更安全吗?
  • 考虑使用文档提供者:developer.android.com/guide/topics/providers/…
  • 我很清楚内容提供商的安全因素,所以我会选择内容提供商
猜你喜欢
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多