データストア--SharedPreferences

1243 ワード

一、概念
SharedPreferenceの本質も、ローカルのXMLファイルにキー値ペアでデータを保存することです.
二、使用
1.SharedPreferencesにデータを書き込む
private void saveSharePreference() {
    SharedPreferences sp = getSharedPreferences("demo", MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putString("username", "tian");
    editor.putString("password", "123456");
    //editor.commit();
    editor.apply();
}

2.SharedPreferencesからデータを読み込む
private void readSharePerference() {
    SharedPreferences sp = getSharedPreferences("demo", MODE_PRIVATE);
    String userName = sp.getString("username", "");
    String password = sp.getString("password", "");
}

3.commit()メソッドとapply()メソッドの違い
●applyは値を返さず、失敗のヒントはありませんが、commitはbooleanを返し、変更がコミットされたかどうかを示します.●applyは、変更されたデータ原子をメモリにコミットし、その後、非同期でハードウェアディスクにコミットするが、commitは同期的にハードウェアディスクにコミットするので、複数の同時コミットcommitの場合、処理中のcommitがディスクに保存されてから操作されるのを待つことになり、効率が低下し、applyは原子のコミットのみがメモリにコミットされる.後でapplyを呼び出すと、前のメモリデータが直接上書きされ、ある程度効率が向上します.●1つのプロセスでSharedPreferencesは単一のインスタンスであるため、通常は同時衝突は発生しないが、コミットの結果に関心がない場合はapplyを使用することを推奨し、もちろんコミットが成功し、後続の操作があることを確保する必要がある場合は、commitを使用する必要がある.