私はAndroidアプリケーションを開発中で、なんらかの理由で(onSaveInstanceState()
メソッドを使用して)ディスクにオブジェクトを格納してから、それを再びSerialization/Parcelableで(onRestoreInstanceState()
メソッドで)取り戻す必要があります。ライブラリ内のオブジェクトをシリアル化する方法は?
分かりやすいように、クラスをParcelableにするには、Parcelerライブラリを使用するか、定型コードを書く必要があります。
私の問題は、クラスを作成していないオブジェクトがいくつかあることです。彼らはサードパーティまたはAndroid-SDK関連のクラスです。
private FragNavController mNavController;
private MenuItem mMenuItem;
private SharedPreferences mPrefs;
@Override
public void onCreate(Bundle savedInstanceState) {
LayoutInflaterCompat.setFactory(getLayoutInflater(), new IconicsLayoutInflater(getDelegate()));
setDefaultLanguage(Locale.ENGLISH.toString());
//Paper.init(getApplicationContext());
mPrefs = getPreferences(MODE_PRIVATE);
super.onCreate(savedInstanceState);
.
.
.
}
は私がParceler図書館、Xstream、icepick、paper、Gson and sharedPreferences Methodを使用しますが、それらのすべてで、私はmNavController
とmMenuItem
のようないくつかのオブジェクトを保存するために失敗します。明確にするためにここに私のコードです。
誰もこの問題に直面していましたが、これらのオブジェクトを保存する最良のソリューションを知っていますか?
ありがとうございます。 "もっと堅牢なアプローチは、設計段階の"データ要素 "を特定し、そのデータをデータとして保存できるようにすることです。 店舗データのデータベースをセットアップすることをお勧めしますか? –
更新を見る – GhostCat