こんにちは、アプリに 2 つのアクティビティがあり、それらを切り替えたときにユーザー インターフェイスと変数が変わらないようにしたいのですが、それを行う方法はあります。
助けてくれてありがとう
こんにちは、アプリに 2 つのアクティビティがあり、それらを切り替えたときにユーザー インターフェイスと変数が変わらないようにしたいのですが、それを行う方法はあります。
助けてくれてありがとう
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 から取得または保存するために使用できます。
プリミティブ データ型 (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", "");