我是Android
的新手,我在Android
开发应用时遇到了一个场景,我无法弄清楚应该使用哪种方法来保存和访问不同活动之间的偏好,小部件,后台服务,广播接收器等...
我相信必须有一个简单的内置方式,但在搜索了一段时间之后,我只是遇到了一些我根本无法理解的有线文章而没有指出一个简单的方法来帮助我的情况
以下是我的情景:
基于这些条件,Android
中使用的标准方法是什么,以实现我的目标,即保存和访问数据?
我的常规方法是使用SharedPreferences
,如下所示:
SharedPreferences p = getSharedPreferences("Settings", MODE_PRIVATE);
但第一个问题是SharedPreferences
需要一个Context
而我在服务中没有这个例子。即使我以某种方式将我的主要活动的Context
传递给服务,当该活动在相同的服务仍在单独的线程中运行时完成或终止时会发生什么?
所以,如果有人能指导我在这种情况下保存和访问数据的正确方法,或者有一个总是有效的Context
内部服务和小部件等的方式,而无需任何活动存在,所以从getSharedPreferences("Settings", MODE_PRIVATE)
调用示例Context
总是返回相同的SharedPreferences
对象,我可以使用其他来源存储在其中的数据,我会非常高兴。谢谢!
答案 0 :(得分:0)
您可以使用应用程序上下文而不是活动上下文来访问SharedPreferences。
getApplicationContext().getSharedPreferences("Settings",MODE_PRIVATE);