プリミティブな型でデータを保存することは少ないかと思うが、
- 保存できる型は、
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", "");
}
}
0 件のコメント:
コメントを投稿