【问题标题】:Save values in non activity class在非活动类中保存值
【发布时间】:2018-09-22 06:22:26
【问题描述】:

我有一个名为“Values”的公共类,我的 SettingsActivty 中的值存储在这个类中。我注意到,一旦我重置/关闭应用程序,这些值就会重置为默认值。我希望这会像在活动中一样发生。

代码如下:

public class Values {

      //General Values
      public boolean vibrationEnabled = true;

      //Single Player Values
      public static float SPBackgroundNumber = 0;
      public static boolean resetScoreSP = false;

}

我如何能够保存这些值并重新打开它们,因为它不是活动的一部分?

【问题讨论】:

  • 您应该使用sharedprefssqlite 来保存您的数据,这些值会重置,因为它将数据保存在内存中,当您关闭或重置应用程序时,GC 将清除内存。

标签: java android class save


【解决方案1】:

使用 sharedPreferences 保存和检索值。 保存值:

    SharedPreferences sharedPref=getSharedPreferences(FileName, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor=sharedPref.edit();
    editor.putString("key_value", data);
    editor.apply();

要检索值:

SharedPreferences sharedPref=getSharedPreferences(FileName, Context.MODE_PRIVATE);
name1=sharedPref.getString("key_value","default_value");

你需要在类外声明FileName。每个数据都标识指定的key_value

【讨论】:

  • 我想我会使用它。一旦应用程序关闭,你知道有什么方法可以用你的方法保存值吗? onDestroy 和其他相关方法在非活动类中不起作用。
  • SharedPreferences 即使在您关闭应用程序时也会存储这些值。您可以在任何课程中使用它。这是存储数据的最简单方法之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 2012-02-09
  • 2015-04-05
  • 2011-12-01
相关资源
最近更新 更多