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