2012年12月31日月曜日

android:プリファレンスでデータを保存する

プリファレンスを使うことによって、android端末内にデータを保存できる。

プリミティブな型でデータを保存することは少ないかと思うが、
  • 保存できる型は、
     boolean
     float
     int
     long
     String
  • データの格納先は「/data/data/パッケージ名/shared_prefs/ファイル名.xml」
  • SharedPreferencesのインスタンスはgetSharedPreferencesで取得する。
  • getSharedPreferencesメソッドの第1引数は、ファイル名。
     下記のサンプルの場合、「sample.xml」がファイル名となる。
  • getSharedPreferencesメソッドの第2引数は、プリファレンスへのアクセスモード。
     MODE_PRIVATE:他のアプリケーションからはアクセスできない。
     MODE_WORLD_READABLE:他のアプリケーションからの読み込みを許可する。
     MODE_WORLD_WRITEABLE:他のアプリケーションからの書き込みを許可する。
  • プリファレンスへの読み書きはSharedPreferences.Editorを使う。

package net.kuttya.sharedpreferencessample;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初期化
        SharedPreferences preferences = getSharedPreferences("sample", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();

        // 書き込み
        // 第1引数はキー、第2引数は書き込む値
        editor.putBoolean("boolkey", true);
        editor.putFloat("floatkey", 3.5f);
        editor.putInt("intkey", 7);
        editor.putLong("longkey", 9);
        editor.putString("Stringkey", "文字列");
        editor.commit();

        // 読み込み
        // 第1引数はキー、第2引数はデフォルト値
        boolean b = preferences.getBoolean("boolkey", false);
        float f = preferences.getFloat("floatkey", 1.1f);
        int i = preferences.getInt("intkey", 1);
        long l = preferences.getLong("longkey", 5);
        String str = preferences.getString("Stringkey", "");
    }
}


にほんブログ村 IT技術ブログ Androidアプリ開発へ

0 件のコメント:

コメントを投稿