2016-07-11 17 views
-1

sharePreferencesを使用して値をアクティビティに格納する方法を勉強した後も、データの格納方法についてはまだ質問があります。sharedPreferencesがデータを格納する方法

アクティビティを閉じるためにボタンを押した後、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(); 
} 

この場合、私はアクティビティに戻ると、何かをタイプし、戻るボタンを押してアクティビティを終了します。どのようにアンドロイドは、私がEditTextで打ち込んだものが、アクティビティが停止して破壊された後も表示することができます。あなたの活動のフォーカスを失ったときに

+0

これを見てくださいhttp://stackoverflow.com/questions/38282021/how-do-i-store-if-a-checkbox-has-been-checked/38282050#38282050 – sushildlh

+0

あなたはsharePreferencesで値を保存しています。ので、破壊または停止アンドロイドはまだその値thatsを格納している.. –

+0

あなたはそれを自分で表示 'mEditText.setText(editTextString)' – tynn

答えて

0

は常に呼び出されます。それは別のアプリに切り替えること、アクティビティを切り替えること、電話を切ること、何かを切り替えることなどです。

戻るボタンを押すとが呼び出され、sharedpreferenceの値が保存されます。その後、onStoponDestroyget called in the order written。アクティビティが作成された次回は、保存されたsharedprefの値を取得しているので、表示されます。

関連する問題