sharedPreferences如何存储我们的数据

时间:2016-07-11 06:57:04

标签: android

在研究了如何使用sharePreferences在活动中存储值之后,我仍然对它存储数据的方式有一些疑问。

由于我们点击按钮关闭我们的活动后,Android通常会调用OnPauseOnStopOnDestroy。但是在我们使用sharedPreferences的方式中,我们在OnPause方法中调用它,就像下面的代码一样。

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mEditText = (EditText)findViewById(R.id.editText);
    mSharedPreferences = getSharedPreferences(PREFS, Context.MODE_PRIVATE);
    mEditor =mSharedPreferences.edit();

    String editTextString = mSharedPreferences.getString(EDIT_TEXT, "");
    mEditText.setText(editTextString);
}


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

    mEditor.putString(EDIT_TEXT, mEditText.getText().toString());
    mEditor.apply();
}

在这种情况下,当我返回活动时,我输入了一些内容并按回按钮以退出活动。在活动停止并销毁之后,android如何仍然可以显示我在EditText中输入的内容。

1 个答案:

答案 0 :(得分:0)

当您的活动 失去焦点 时,

onPause始终会被调用。无论是切换到另一个应用程序,切换活动,关闭手机还是其他任何一个。

当您按后退按钮时,将调用onPause并保存共享首选项的值。之后,onStoponDestroy get called in the order written。下次创建活动时,您将获取已保存的sharedpref值,以便它显示出来。