0

ログインインターフェースでパスワードを保存するアプリを書いています。ユーザーはログインパスワードを変更できます。次のコードを使用してパスワードを保存し、アプリの再起動時にパスワードがリセットされないようにします。

@Override
public void onSaveInstanceState(Bundle savedInstanceState){
savedInstanceState.putString("pwd", currentPwd);
super.onSaveInstanceState(savedInstanceState);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
    currentPwd = savedInstanceState.getString("pwd");
}

しかし、パスワードを保存できるのはしばらくの間だけであることがわかりました。モバイルを再起動せずに約1時間長時間待つと、パスワードがリセットされます。

パスワードがリセットされないように保存するにはどうすればよいですか?

4

3 に答える 3

0

を使用して、そのタイプの情報を長期間保存できますsharedPreference

public class PreferenceData 
{
    static final String PREF_USER_PASSWORD = "user_password";

    public static SharedPreferences getSharedPreferences(Context ctx) 
    {
        return PreferenceManager.getDefaultSharedPreferences(ctx);
    }

    public static void setUserPassword(Context ctx, String userPassword) 
    {
        Editor editor = getSharedPreferences(ctx).edit();
        editor.putString(PREF_USER_PASSWORD, userPassword);
        editor.commit();
    }

    public static String getUserPassword(Context ctx) 
    {
        return getSharedPreferences(ctx).getString(PREF_USER_PASSWORD, "");
    }
}
于 2012-05-19T12:20:36.367 に答える
0

sharedpreferencesを使用してデータを保存する必要があります。

SharedPreferences prefs =
     getSharedPreferences("myprefname",Context.MODE_PRIVATE);

SharedPreferences.Editor editor = prefs.edit();
editor.putString("pwd", "thepassword");
editor.commit();

その後、それを取得することができます:

SharedPreferences prefs =
    getSharedPreferences("myprefname",Context.MODE_PRIVATE);

String password=prefs.getString("pwd",null);
于 2012-05-19T12:22:52.463 に答える
0

私はあなたとまったく同じ問題を抱えているか、持っていました。Shared_Prefsを使用しただけです。ログインデータをXMLファイルに保存し、読み取りと書き込みを行います。

これがAndroidの記事です: http://developer.android.com/guide/topics/data/data-storage.html

書くには:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putString("key1", username);
            editor.putString("key2", password);
            editor.commit();

読むには:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        String username = settings.getString("key1", null);
        String password = settings.getString("key2", null);
于 2012-05-19T12:46:46.573 に答える