Using Application Preferences

デフォルトの挨拶メッセージ[※1] やアプリケーションスタート時に読み込むテキストフォントといった設定情報を保存しておくことが出来ます。Context.getSharedPreferences()を呼び出すことで値の読み書きが出来ます。同一パッケージ内の他コンポーネントから呼び出したい設定セットに対して名前を付けるか、名前を付けずにActivity.getPreferences()を呼び出すことで、呼び出しを行っているアクティビティ内でのみ閲覧可能とすることが出来ます。これらの設定情報をパッケージ間で共有することは出来ません。以下に電卓でキー押下音を無くす[※2] モード設定のサンプルを示します。[※3]

public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
     ...      

    @Override
    protected void onCreate(Bundle state){         
       super.onCreate(state);

    ...
    
       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }
    
    @Override
    protected void onStop(){
       super.onStop();
    
      // Save user preferences. We need an Editor object to
      // make changes. All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);
 
      // Don't forget to commit your edits!!!
      editor.commit();
    }
}