かなり機密性の高いデータをそこに保存することに問題がない限り、共有設定でこれを行うことができます。保存と取得の間にいくつかの共有コードが必要になります。
final static String pfName = "com.super.stuff.preffile.name";
final static String pfCodeForID = "com.super.stuff.pf.id";
final static String pfCodeForPassword = "com.super.stuff.pf.passwd";
final static String pfNoStringPresent = "NO-STRING-PRESENT-HERE";
final static pfCodes = MODE_PRIVATE; // See http://developer.android.com/reference/android/content/Context.html#getSharedPreferences(java.lang.String, int)
情報を保存するには:
String ID = //whatever;
String password = //whatever;
SharedPreferences settings = context.getSharedPreferences(pfName, pfCodes);
SharedPreferences.Editor editor = settings.edit();
editor.putString(pfCodeForID, ID);
editor.putString(pfCodeForPassword, password);
editor.commit();
情報を取得するには:
SharedPreferences settings = context.getSharedPreferences(pfName, pfCodes);
String ID = editor.getString(pfCodeForID, pfNoStringPresent);
String password = editor.getString(pfCodeForPassword, pfNoStringPresent);
if (ID.contentEquals(pfNoStringPresent) && password.contentEquals(pfNoStringPresent)) {
// Handle the case of nothing stored, ie get ID and password
}
ユーザー名とパスワードの両方が pfNoStringPresent と同じ場合、これは明らかに失敗します。
この方法で機密データを保存することに懸念がある場合は、データベースに保存するか、何らかの方法で暗号化する必要があります。ID 情報を提供している人物のデバイスに情報が保存されている場合に、その情報を保護することがどれほど重要か、電話からこの情報を取得することが泥棒にとってどれほど重要かなどを判断する必要があります。等