【问题标题】:Android - Saving upon pause/stop no matter which activity you're onAndroid - 无论您正在进行哪个活动,都可以在暂停/停止时保存
【发布时间】:2015-05-30 23:29:32
【问题描述】:

尽管您选择保存在什么状态(onPause()、onStop()),但您将代码放在哪里以便无论您离开时处于何种活动状态都可以保存?主要活动?任何 ole' 活动,它只是以某种方式知道从另一个活动中实现它?

我正在研究使用 SharedPreferences 为我的应用程序保存一个 int/bool 数组。我在任何地方都没有看到这个问题的答案。

【问题讨论】:

  • 所有可能改变这些值的活动。
  • 我认为可能是这样,但我真的认为有一些方法可以不必这样做(不是复制/粘贴是一件可怕的事情,哈哈)。我只是认为还有另一种首选方法。这对我来说是一个新话题。
  • @lilgodwin 为什么不拥有一个处理所有逻辑的基本活动类,然后让您的其他活动从该基类继承?
  • 这基本上就是我要做的。我有一堂课,里面有我所有的问题/答案(这是一个学习型应用程序)。我正在其中编写方法来获取/设置/保存/加载变量的副本。我只是不确定是否必须在每个州都编写要保存的方法,或者是否有一个中心位置我可以放置该方法以便无论用户在应用程序关闭时位于何处都可以调用它(暂停( ) 或 stop())。

标签: android android-activity save sharedpreferences


【解决方案1】:

这里是活动的参考资料。 http://developer.android.com/reference/android/app/Activity.html

public class CalendarActivity extends Activity {
     ...

     static final int DAY_VIEW_MODE = 0;
     static final int WEEK_VIEW_MODE = 1;

     private SharedPreferences mPrefs;
     private int mCurViewMode;

     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

         SharedPreferences mPrefs = getSharedPreferences();
         mCurViewMode = mPrefs.getInt("view_mode", DAY_VIEW_MODE);
     }

     protected void onPause() {
         super.onPause();

         SharedPreferences.Editor ed = mPrefs.edit();
         ed.putInt("view_mode", mCurViewMode);
         ed.commit();
     }
 }

这不在开发者网站上。 希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多