15
  1. 以前のアクティビティから保存された共有設定を取得するにはどうすればよいですか?
  2. ファイルの書き込みやその他のマニフェストの変更を有効にする必要がありますか?
4

3 に答える 3

39

それを達成するために特別なマニフェストの変更は必要ありません。

すでに設定を保存していると仮定すると、次のようにいつでもそれらの設定を読み取ることができます。

  1. 共有設定ファイルに書き込む:

      SharedPreferences prefs = getSharedPreferences("your_file_name", MODE_PRIVATE);
      SharedPreferences.Editor editor = prefs.edit();
      editor.putString("yourStringName", "this_is_the_saved_value");
      editor.commit(); // This line is IMPORTANT. If you miss this one its not gonna work!
    
  2. 共有プリファレンス ファイルから読み取ります。

      SharedPreferences prefs = getSharedPreferences("your_file_name",
      MODE_PRIVATE); String string = prefs.getString("yourStringName",
      "default_value_here_if_string_is_missing");
    

デフォルトのファイルを使用して、設定を保存/読み取ることができます。上記の 2 つのコード スニペットの最初の行を次のように置き換えます。SharedPreferences prefs = getDefaultSharedPreferences(getApplicationContext());

それでおしまい!この件に関する Android 開発者向けの専用ページは、こちらをご覧ください。

それが役に立ったことを願っています。それについて教えてください。

于 2012-09-14T23:16:03.513 に答える
9

両方のアクティビティが同じファイルへの書き込み/同じファイルからの読み取りであることを確認する以外に、特別なことをする必要はありません。内部的には、設定はXMLファイルとして保存されるだけです。

したがって、選択肢は次のとおりです。

1)両方のアクティビティからPreferenceManager.getDefaultSharedPreferences()を使用して、デフォルトファイルに書き込みます。

2)カスタムファイル名を指定してContext.getSharedPreferences()を使用し、両方のアクティビティから同じ名前を使用します。

于 2012-09-14T22:13:00.337 に答える
2

共有プリファレンスはまさに共有されたものです。Editor.commit() を呼び出して設定を編集した後、設定を適切に保存する限り、それらは将来利用可能になります。

于 2012-09-14T22:29:26.080 に答える