私の活動では、ユーザーは彼が選んだ画像の配列を持っており、それを好みに保存したいと思います。ユーザーがアクティビティを離れ、戻ってくると、まだロードされているイメージがImageViewにあります。私はこれを達成するためにGsonを使用しようとしていますが、問題があり、私が間違っていることを見ることができません。 外部からの洞察を期待すると、私が見ていないこの明らかな答えが私を助けてくれるかもしれません。アンドロイドでGsonからオブジェクトを保存および取得する方法は?
ありがとうございます。
ここまでは私のコードです。あなたがイメージのリストの中に文字列をデシリアライズするタイプが必要になり、データを取り出すの一部で
private void savePreferencesForImages(String key, ArrayList<Image> imageList)
{
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(imageList);
editor.putString(key,json);
editor.commit();
}
//Storing Local data.
private void loadPreferences()
{
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Gson gson = new Gson();
String gsonString = sharedPreferences.getString("userImages", "");
ArrayList<Image> images = gson.fromJson(gsonString, Image.class);//Ask StackOverflow tomorrow.
}
'Image.class'は' ArrayList 'にロードできません。 –
@ cricket_007よく私に3つの提案を与えました。私はその行にポップアップするエラーメッセージがあります。しかし、どのラインで確実に画像と呼ばれるArrayListが確保されているのか分かりません。画像はユーザの画像で埋められています。 1)変数 '画像'タイプを画像ライブラリに変更します。 2) '画像'タイプを画像ライブラリに移行します 3) 'fromJson'を作成するとjava.util.ArrayListが返されます – TheQ
@ cricket_007重複した回答とは思われません。それはJsonオブジェクトをArrayListに変換します。 – TheQ