1

現在、共有設定から文字列を保存して復元しようとしていますが、問題が発生しているようです。

Cookieを永続的に保存したいので、その値を共有設定に保存しようとします。残念ながら、取得しようとしても見つかりません。

これが私のコードです:

public void storeString(Activity ctx, String key, String value){
    SharedPreferences prefs = ctx.getSharedPreferences("com.test", Context.MODE_PRIVATE);
    prefs.edit().putString("CAKEPHP", value);
    prefs.edit().commit();

    SharedPreferences newprefs = ctx.getSharedPreferences("com.test", Context.MODE_PRIVATE);
    Log.i("test", "cookie retrieved: "+ newprefs.getString("CAKEPHP", "nodata"));
}

ログ出力は「Cookieretrieved:nodata」です。誰かがこれを正しくする方法を教えてもらえますか?

このメソッドがプレーンなJavaクラスの一部であることが重要な場合があります。呼び出されると、呼び出し元のアクティビティがパラメータとして渡されます。

ヘルプやヒントをいただければ幸いです。

4

1 に答える 1

1

sharedprefの静的変数を作成し、次のように初期化します。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);

sharedpreferencesを繰り返し初期化する必要はありません。理想的には、onCreateで初期化し、アクティビティ全体で使用する必要があります。

さらに、あなたは電話する必要があります

prefs.edit().putString("CAKEPHP", value).commit();
于 2012-12-03T12:57:28.037 に答える