1. ホーム
  2. アンドロイド

[解決済み】AndroidでSharedPreferencesにオブジェクトを保存/格納するにはどうすればいいですか?

2022-04-02 16:49:22

質問

私は、多くのフィールドを含む多くの場所でユーザーオブジェクトを取得する必要があります。ログイン後、これらのユーザーオブジェクトを保存/保管したいと思います。このようなシナリオをどのように実装することができますか?

このままでは保存できない

SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("BusinessUnit", strBusinessUnit);

解決方法は?

gson.jarを使用して、クラスオブジェクトを 共有設定 . この jar は次のサイトからダウンロードできます。 グーグルグソン

または、Gradle ファイルに GSON の依存関係を追加します。

implementation 'com.google.code.gson:gson:2.8.8'

最新版はこちら ここで

共有プリファレンスを作成する。

SharedPreferences  mPrefs = getPreferences(MODE_PRIVATE);

保存すること。

MyObject myObject = new MyObject;
//set variables of 'myObject', etc.

Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(myObject);
prefsEditor.putString("MyObject", json);
prefsEditor.commit();

取得すること。

Gson gson = new Gson();
String json = mPrefs.getString("MyObject", "");
MyObject obj = gson.fromJson(json, MyObject.class);