我有简单的计数器应用程序,每当你点击按钮时,textview显示数字增加。如果单击该按钮10次,则textview显示10.然后,当我从应用程序退出并再次启动应用程序时,应用程序将重新启动我之前完成的所有活动。
我怎样才能继续计算我之前离开的地方?例如,我想打开我的应用程序并使用计数器计数到8。当我退出时,在重新启动活动之后,我想继续计算从8号离开的地方。
请查看源代码:
{{1}}
答案 0 :(得分:4)
在您的活动的onStop()
方法中,尝试将您的数据保存在SharedPreferences
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putInt("key", count);
editor.commit();
当您启动它时,在您的主要活动onCreate()
方法上按键检索您的SharedPreferences
值并继续您离开的位置
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
int count = prefs.getInt("key",0); //0 is the default value.
答案 1 :(得分:0)
如果您需要在整个活动的生命周期中存储少量数据,那么将计数器变量存储在onSaveInstanceState(Bundle outState)方法中的Bundle中就足够了。注意 - 在将变量放入Bundle之后,不要忘记调用该方法的super。
这个特殊的Bundle传递给两个方法来重新创建Activity:onRestoreInstanceState()和onCreate()方法。所以你可以从那里重置你的实例变量。
有关详细信息,请查看此处:http://developer.android.com/training/basics/activity-lifecycle/recreating.html