在应用程序内共享数据

问题描述:

有一个应用程序,我必须通过JSON采集数据并在我的应用程序的不同部分使用这些数据。做这个的最好方式是什么?我的意思是,对我来说这似乎并不高效 - 将数据捆绑到数据包中,然后将数据包中的额外内容添加到不同的意图中。有没有像shared preferences,但只为我的应用程序,所以从应用程序中的每个地方我可以检索我需要的数据,但这些数据对其他应用程序不可见?谢谢!在应用程序内共享数据

您可以使用SQLite数据库,文件或共享偏好,看看这个Android - Data storage或试试这个Tutorial

看来你正在寻找android application对象。

这里是一个如此贴子,有你正在寻找的解决方案。

How to declare global variables in Android?

Shared Prefs仅适用于您的应用程序(除非您更改模式,PRIVATE是默认设置),并且可以从您的所有活动中进行访问。 如果你可能考虑使用SQLite数据库的数据很多。

首先,我不会建议你使用共享偏好,如果你需要高效的方式来获取你的数据。共享首选项可以保持实际上代表首选项的小(即布尔值或整数)值。为什么?由于SharedPreferences速度很慢。我建议你检查了这一点:

  • 使用共享偏好的原始数据
  • 私有数据使用设备内部存储使用外部存储大数据集不属于私人
  • 使用SQLite数据库的结构存储

这就是Google建议您要做的。如果你希望你的数据是私人的,我建议你使用Mode Private并将你的数据保存在应用程序包文件夹中的隐藏文件(./data)文件夹中。但请记住,如果你真的想得到一些东西,你实际上会得到它,所以不要保留私人服务器密码等