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()メソッドによりデータをコミット
  • コードクリップ:
            //             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オブジェクトを使用して、Editorオブジェクトに格納key値に基づいて対応するvalue
  • を取得する.
    コードクリップ:
            SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
            //      key ,         key        
            mDataCounts = sharedPreferences.getInt(LIST_VIEW_DATA_COUNTS, DEFAULT_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:現在のファイルを他のアプリケーションに書き込むことができることを示す.