Android Note 02-01:SharedPreferences初解
2391 ワード
Androidデータの4つのストレージ方式SharedPreferences、SQLite、Content Provider、File.
SharedPreferencesはAndroidのインタフェースの1つで、キー値ペアの形式で保存と読み取りを行う軽量級の記憶方式ですが、本質的にはXMLファイルを使用してデータを保存します.通常、ユーザの好み設定、ブートインタフェースの判定など、簡単な構成情報やデータ量の小さいデータを格納するために使用される.
ストレージ: Contextに従ってSharedPreferencesオブジェクト を取得する. edit()メソッドを使用してEditorオブジェクトを取得する Editorオブジェクトを介してkey-valueキー値対データ を記憶する. commit()メソッドによりデータをコミット コードクリップ:
取得: SharedPreferencesオブジェクトを取得 SharedPreferencesオブジェクトを使用して、Editorオブジェクトに格納key値に基づいて対応するvalue を取得する.
コードクリップ:
まとめ本質:SharedPreferencesはXMLファイルに基づいてkey-valueキー値対データ を格納する格納場所:/data/data//shared_prefs SharedPreferencesオブジェクト自体は、 の保存および変更をサポートすることなく、データのみを取得できます.ストレージ変更は、Editorオブジェクトによって実現され、commit()/apply() が必要である. commit()はapply()と同期し、後者は非同期であり、後者は を推奨する.
広がる SharedPreferencesを取得する2つの方法 ContextオブジェクトのgetSharedPreferences()メソッドを呼び出し、同じプログラムの下で他のコンポーネントによって を共有することができる. Activityオブジェクトを呼び出すgetPreferences()メソッドは、このActivityでのみ を使用できます. int modeの4パターン Context.MODE_PRIVATE:デフォルトの動作モードであり、このファイルがプライベートであることを示し、アプリケーション自身にしかアクセスできない.このモードでは、書き込まれた内容は元のファイルの内容 を上書きする. Context.MODE_APPEND:モードはファイルが存在するかどうかをチェックし、存在する場合はファイルに内容を追加し、そうでない場合は新しいファイルを作成する. MODE_WORLD_READALBLE:現在のファイルが他のアプリケーションによって読み取ることができることを示す. MODE_WORLD_WRITEABLE:現在のファイルを他のアプリケーションに書き込むことができることを示す.
SharedPreferencesはAndroidのインタフェースの1つで、キー値ペアの形式で保存と読み取りを行う軽量級の記憶方式ですが、本質的にはXMLファイルを使用してデータを保存します.通常、ユーザの好み設定、ブートインタフェースの判定など、簡単な構成情報やデータ量の小さいデータを格納するために使用される.
ストレージ:
// XML , String "preference_name",
// int mode 4 , Context.MODE_PRIVATE
SharedPreferences sharedPreferences = ListViewDemoActivity.this.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
//SP
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(LIST_VIEW_DATA_COUNTS, dataCounts);
// path:data/data/packagename/Shard_prefs/preference_name
// editor.commit();// , boolean
// ,IO ,
editor.apply();// , ,
// editor.remove(LIST_VIEW_DATA_COUNTS);//delete
// editor.commit();
取得:
コードクリップ:
SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
// key , key
mDataCounts = sharedPreferences.getInt(LIST_VIEW_DATA_COUNTS, DEFAULT_VALUE);
まとめ
広がる