如何保存一些临时数据,以便在关闭应用程序时所有数据都消失了?我尝试过sharedPreferences但是当我再次打开应用程序时,似乎数据仍然存在。
我听说你可以将数据保存到某个缓存中,但是如果内存在应用程序仍处于运行状态时被“填满”,我真的不希望数据消失。也许我应该选择一些全局变量?并不是说我知道如何才能让它发挥作用。
我的简单应用程序,即“游戏”,当您更进一步时,会打开和关闭活动。它基本上是一个充满愚蠢图片的游戏^^。已经在一个活动中完成的东西应该保存在某个地方,所以如果我回去,我可以加载数据并使其看起来像是在活动关闭之前。我希望你明白我在说什么..
我知道如何存储一些在您需要时也很容易访问的信息。
答案 0 :(得分:5)
使用全局变量。
在onCreate
定义变量之前:
int i;
要么
String s = "myString"
然后您可以在任何功能中访问/更改它们。
希望我帮助过:)
答案 1 :(得分:2)
您可以使用全局变量,然后使用Intent将它们从活动传递到活动。为此,您可以使用:
Intent intent = new Intent(getBaseContext(), MYourActivity.class);
intent.putExtra("variableName", value);
startActivity(intent)
并在下一个活动中获取
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("new_variable_name");
}
答案 2 :(得分:1)
您好,您可以将临时数据保存到sharedPreferences
。通过这种方式,您可以更新插入并以正确的方式删除有关游戏的所有信息。如果您在关闭游戏后需要删除数据,请删除sharedPreferences
生命周期中的onDestroy()
;
@override
public void onDestroy()
{
super.onDestroy();
SharedPreferences myPrefs = this.getSharedPreferences("examlePrefs");
myPrefs.edit().remove("example");
myPrefs.edit().clear();
myPrefs.edit().commit();
}
或者请使用。
@override
public void onStop()
{
super.onStop();
SharedPreferences myPrefs = this.getSharedPreferences("examlePrefs");
myPrefs.edit().remove("example");
myPrefs.edit().clear();
myPrefs.edit().commit();
}
我可以理解你不知道活动的生命周期。所以本文将解释如何使用它们。
http://developer.android.com/training/basics/activity-lifecycle/index.html