読者です 読者をやめる 読者になる 読者になる

Androidプログラミングブログ

Androidプログラミングを勉強していく中でわかったことをメモする

【Androidプログラミング入門 #028】設定値などちょっとしたデータを保存する

はじめに

設定値などちょっとしたデータを保存します。

SharedPreferencesクラスを使用します。

SharedPreferencesを使って保存できるデータ型

  • boolean
  • String
  • int
  • long
  • float
  • Set

ここではデフォルトのSharedPreferencesを使う方法を書きます。

テキストデータの保存

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = preferences.edit(); editor.putString("text", "保存するテキスト"); editor.commit();

テキストデータの取得

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); textView.setText(preferences.getString("text", "保存されたデータがありません"));

サンプル

サンプルを作りました。

SampleSharedPreferences.zip - Google ドライブ

1. EditText欄に入力し、保存ボタンを押す

f:id:fjswkun:20151110002806p:plain

2. アプリを終了する。
3. アプリを起動し、読込ボタンを押す

保存されたテキストデータが表示されます。
アプリを終了してもデータが保存されていることがわかりました。
f:id:fjswkun:20151110002922p:plain

editText = (EditText)findViewById(R.id.edittext);
textView = (TextView)findViewById(R.id.textView);

Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // editTextに入力されているテキストを保存
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString("text", editText.getText().toString());
        editor.commit();
    }
});
Button button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 保存されているデータを読込
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
        textView.setText(preferences.getString("text", "保存されたデータがありません"));
    }
});

参考情報

参考

Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)

Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)

開発用デバイス

Androidの勉強をはじめた人は知っているようにエミュレーターはちょー遅い。
開発用に安いAndroidを買えば、勉強がはかどります!
iPhoneと比較すると安いので買ったほうがいいと思います。

おすすめデバイス

勉強用に使うだけなので価格が高い最新デバイスは必要ないと思います。
最新のデバイスは一人前のAndroidプログラマーになったら購入を検討しましょう。

nexus5 16GBASUS Nexus7 ( 2013 ) TABLET

その他に探すなら↓から。
Android nexus5を勉強用に購入