Android:如何跨所有活动访问数据?

时间:2012-08-14 14:20:55

标签: android memory storage

我正在寻找以所有Activites都可以访问的方式存储用户ID(登录后收到)的可能性。
如果我理解正确,则SharedPreference仅适用于一个特定的Acitivty。

我必须全面保存ID吗?

问候, 奥兹

3 个答案:

答案 0 :(得分:2)

  • 选项1:创建singleton以保存您的数据(首选)
  • 选项2:覆盖Application并使用上下文
  • 访问数据

那些适用于非持久性的应用程序状态,这意味着它们存储在内存中,一旦您的应用程序退出,它们就会丢失。

对于持久存储,请使用其中一种。

有关更多提示,请参阅Android文档中的Storage Options文章。

答案 1 :(得分:0)

放置数据:

SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("user_id", "THE USER ID HERE");
editor.commit();

要检索数据:

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String userID = prefs.getString("user_id", null);

如果用户ID是数字,则可以使用putInt或原始数据。

答案 2 :(得分:0)

您可以在整个应用程序中访问SharedPreferences。 如果您只需要为应用程序的运行时存储数据,只需将其声明为public static,您就可以从任何地方访问它。