ApiDemos学習ノートApp-Activity編(10)——Redirection

1567 ワード

この例では、Activity間転送データとSharedPreferencesを使用してデータを格納します.
主に論理的な実装であり、以下は私が整理した例示的な実装の流れです.
ステップ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();