ApiDemos学習ノートApp-Activity編(10)——Redirection
1567 ワード
この例では、Activity間転送データとSharedPreferencesを使用してデータを格納します.
主に論理的な実装であり、以下は私が整理した例示的な実装の流れです.
ステップ1:メインインタフェースRedirectEnterがジャンプを実現する:
ステップ2:RedirectMainにジャンプして判定します.SharedPreferencesにはRedirectMainにデータが残っていて、格納されているデータが表示されます.そうしないとRedirectGetterにジャンプします.
ステップ3:RedirectGetterにジャンプした場合、データを取得してRedirectMainに戻ります.
主に論理的な実装であり、以下は私が整理した例示的な実装の流れです.
ステップ1:メインインタフェースRedirectEnterがジャンプを実現する:
Intent intent = new Intent(RedirectEnter.this, RedirectMain.class);
startActivity(intent);
ステップ2:RedirectMainにジャンプして判定します.SharedPreferencesにはRedirectMainにデータが残っていて、格納されているデータが表示されます.そうしないとRedirectGetterにジャンプします.
if (!loadPrefs()) {
Intent intent = new Intent(this, RedirectGetter.class);
startActivityForResult(intent, INIT_TEXT_REQUEST);
}
private final boolean loadPrefs() {
SharedPreferences preferences = getSharedPreferences("RedirectData", 0);
mTextPref = preferences.getString("text", null);
if (mTextPref != null) {
TextView text = (TextView)findViewById(R.id.text);
text.setText(mTextPref);
return true;
}
return false;
}
ステップ3:RedirectGetterにジャンプした場合、データを取得してRedirectMainに戻ります.
SharedPreferences preferences = getSharedPreferences("RedirectData", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("text", mText.getText().toString());
if (editor.commit()) {
setResult(RESULT_OK);
}
finish();