zoukankan      html  css  js  c++  java
  • Api demo源码学习(7)App/Activity/Persistent State

    在智能手机的使用过程中常常会碰到这样的情况,比如你正在写一条短信,突然一个电话打进来,等你电话接完回来重新写短信的时候,如果发现原来辛辛苦苦写的短信全都没了,那你一定会发狂的。所以这些临时数据我们需要暂时保存起来,Android提供了SharedPreferences的存储机制用来储存这一类数据。

    一般临时数据的存储操作放在onPause()中进行,恢复数据的操作就放在onResume()中进行。
     
    View Code
     1 public class PersistentStateActivity extends Activity {
    2 /** Called when the activity is first created. */
    3 private EditText mSaved;
    4 private TextView mView;
    5
    6 @Override
    7 public void onCreate(Bundle savedInstanceState) {
    8 super.onCreate(savedInstanceState);
    9 setContentView(R.layout.save_restore_state);
    10
    11 mView = (TextView) findViewById(R.id.msg);
    12 mView.setText(R.string.persistent_msg);
    13 mSaved = (EditText)findViewById(R.id.saved);
    14 }
    15
    16 @Override
    17 protected void onResume() {
    18 // TODO Auto-generated method stub
    19 super.onResume();
    20
    21 SharedPreferences prefs = getPreferences(0);
    22 String restoredText = prefs.getString("text", null);
    23 if (restoredText != null) {
    24 mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
    25
    26 int selectionStart = prefs.getInt("selection-start", -1);
    27 int selectionEnd = prefs.getInt("selection-end", -1);
    28 if (selectionStart != -1 && selectionEnd != -1) {
    29 mSaved.setSelection(selectionStart, selectionEnd);
    30 }
    31 }
    32 }
    33
    34 @Override
    35 protected void onPause() {
    36 // TODO Auto-generated method stub
    37 super.onPause();
    38
    39 SharedPreferences.Editor editor = getPreferences(0).edit();
    40 editor.putString("text", mSaved.getText().toString());
    41 editor.putInt("selection-start", mSaved.getSelectionStart());
    42 editor.putInt("selection-end", mSaved.getSelectionEnd());
    43 editor.commit();
    44 }
    45 }
    通过DDMS工具可以看到临时保存的数据在 手机文件系统的/data/data/#你的包名#/shared_prefs/类名.xml 中。
  • 相关阅读:
    改了一下分辨率,Areo特效奇迹般的恢复了...
    此连接需要活动的Internet连接
    Apple Mac OS X每日一技巧026:Spotlight打开文件所在的文件夹
    WP7有约(八):在ListPicker控件的选择页面上播放铃声
    WP7有约(七):实现铃声设置的播放图标的效果
    WP7有约(五):回到主页
    WP7有约:一个应用的破蛋过程
    WP7有约(六):AppBarUtils使用指南
    IE与firefox事件处理
    C#试题
  • 原文地址:https://www.cnblogs.com/xutao1988/p/2286818.html
Copyright © 2011-2022 走看看