Androidデータストレージアクセス方式-SharedPreferencesの応用
1978 ワード
SharedPreferences
SharedPreferencesはプロファイルに相当し、アプリケーションのプリファレンスを提供します.キー値のペアを含むxmlファイルである.SharedPreferenceは、boolean、float、int、long、stringなどの基本的なタイプのデータを保存できます.
SharedPreferencesオブジェクトの取得
-getSharedPreferences(String name,int mode):指定SharedPreferencesオブジェクトを取得して使用し、リソースid(xmlのファイル名)を入力ことで取得する.
-getPreferences(int mode):現在のActivityに属するSharedPreferences対像を取得する(検討する).リソースIDを入力必要はない.getSharedPreferences()を呼び出し、Activityのclass nameを入力して取得することもできる.つまりMyActivityでgetPreferences(0)を呼び出すのはgetSharedPreferences("MyActivity",0)に等しい
ここではパラメータmodeについて説明し、Contextでは以下のようにいくつかのmodeを提供します.
MODE_APPEND:ターゲットファイルが既に存在する場合、ファイルの最後にコンテンツが追加されます.コンテンツを先にクリアしない
MODE_MULTI_PROCESS:ターゲットファイルが複数のアプリケーションにアクセスできる場合、ターゲットファイルが変更されているかどうかを最もチェックします.
MODE_PRIVATE:ターゲットファイルがプライベートであることを示し、本アプリケーションのみがアクセスでき、ファイルが同じであれば上書きされます
MODE_WORLD_READABLE:他のアプリケーションによるターゲットファイルの読み取りが許可されていることを示す
MODE_WORLD_WRITEABLE:他のアプリケーションがターゲットファイルを書くことを許可することを示す
読み書きデータ
SharedPreferencesクラスでは、さまざまなデータの読み取り方法が提供されています(getXXX()
データを書き込むにはSharedPreferencesが必要です.Editorオブジェクト
SharedPreferencesを呼び出すSharedPreferencesを取得するEditorオブジェクト
次に、Editorオブジェクトの対応するメソッドを呼び出してデータ(putXXX()を読み書きし、最後にcommit()を必要とします.
次に、クリップの例を示します.
//SharedPreferences setting = getPreferences(0);//xmlファイルは現在のActivityのclass nameで直接作成されます
SharedPreferences setting = getSharedPreferences("myPreference", 0);//パラメータ1はファイル名です
String name = setting .getString("name",")/パラメータ2がデフォルト
SharedPreferences.Editor editor = setting.edit();
editor.putString("name", "Jack");
editor.commit();//変更のコミット
実行後、/data/data/com.****/shared_prefsディレクトリの下にmyPreferenceを作成する.xml(コードに設定されている)、ファイルの内容は以下の通りです.
SharedPreferencesはプロファイルに相当し、アプリケーションのプリファレンスを提供します.キー値のペアを含むxmlファイルである.SharedPreferenceは、boolean、float、int、long、stringなどの基本的なタイプのデータを保存できます.
SharedPreferencesオブジェクトの取得
-getSharedPreferences(String name,int mode):指定SharedPreferencesオブジェクトを取得して使用し、リソースid(xmlのファイル名)を入力ことで取得する.
-getPreferences(int mode):現在のActivityに属するSharedPreferences対像を取得する(検討する).リソースIDを入力必要はない.getSharedPreferences()を呼び出し、Activityのclass nameを入力して取得することもできる.つまりMyActivityでgetPreferences(0)を呼び出すのはgetSharedPreferences("MyActivity",0)に等しい
ここではパラメータmodeについて説明し、Contextでは以下のようにいくつかのmodeを提供します.
MODE_APPEND:ターゲットファイルが既に存在する場合、ファイルの最後にコンテンツが追加されます.コンテンツを先にクリアしない
MODE_MULTI_PROCESS:ターゲットファイルが複数のアプリケーションにアクセスできる場合、ターゲットファイルが変更されているかどうかを最もチェックします.
MODE_PRIVATE:ターゲットファイルがプライベートであることを示し、本アプリケーションのみがアクセスでき、ファイルが同じであれば上書きされます
MODE_WORLD_READABLE:他のアプリケーションによるターゲットファイルの読み取りが許可されていることを示す
MODE_WORLD_WRITEABLE:他のアプリケーションがターゲットファイルを書くことを許可することを示す
読み書きデータ
SharedPreferencesクラスでは、さまざまなデータの読み取り方法が提供されています(getXXX()
データを書き込むにはSharedPreferencesが必要です.Editorオブジェクト
SharedPreferencesを呼び出すSharedPreferencesを取得するEditorオブジェクト
次に、Editorオブジェクトの対応するメソッドを呼び出してデータ(putXXX()を読み書きし、最後にcommit()を必要とします.
次に、クリップの例を示します.
//SharedPreferences setting = getPreferences(0);//xmlファイルは現在のActivityのclass nameで直接作成されます
SharedPreferences setting = getSharedPreferences("myPreference", 0);//パラメータ1はファイル名です
String name = setting .getString("name",")/パラメータ2がデフォルト
SharedPreferences.Editor editor = setting.edit();
editor.putString("name", "Jack");
editor.commit();//変更のコミット
実行後、/data/data/com.****/shared_prefsディレクトリの下にmyPreferenceを作成する.xml(コードに設定されている)、ファイルの内容は以下の通りです.
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">Jack</string>
</map>