0

こんにちは、アプリに 2 つのアクティビティがあり、それらを切り替えたときにユーザー インターフェイスと変数が変わらないようにしたいのですが、それを行う方法はあります。

助けてくれてありがとう

4

2 に答える 2

1

SharedPreferences は、SharedPreferences メソッドを使用して何でも (つまり、基本的なデータ型を) 永続的に保存できるため、これを実現するための最も簡単な方法のように思えます。

/**
 * Retrieves data from sharedpreferences
 * @param c the application context
 * @param pref the preference to be retrieved
 * @return the stored JSON-formatted String containing the data 
 */
public static String getStoredJSONData(Context c, String pref) {
    if (c != null) {
        SharedPreferences sPrefs = c.getSharedPreferences("AppPreferences", Context.MODE_PRIVATE);
        return sPrefs.getString(pref, null);
    }
    return null;
}

/**
* Stores the most recent data into sharedpreferences
* @param c the application context
* @param pref the preference to be stored
* @param policyData the data to be stored
*/
public static void setStoredJSONData(Context c, String pref, String policyData) {
    if (c != null) {
        SharedPreferences sPrefs = c.getSharedPreferences("AppPreferences", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sPrefs.edit();
        editor.putString(pref, policyData);
        editor.commit();
    }
}

文字列「pref」は、その特定のデータを参照するために使用されるタグです。たとえば、「taylor.matt.data1」はデータを参照し、SharedPreferences から取得または保存するために使用できます。

于 2013-03-28T14:03:12.510 に答える
1

プリミティブ データ型 (string、int、boolean など) を保存する場合は、SharedPreferences を使用します。これにより、ユーザーがアプリケーションを再インストール (データを消去) するまで、値が永久に保存されます。共有設定は次のように機能します

// save string in sharedPreferences
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putString("some_key", string); // here string is the value you want to save
                    editor.commit(); 

// sharedPreferences の文字列を復元します

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
string = settings.getString("some_key", "");
于 2013-03-28T14:05:02.667 に答える