2017-02-01 4 views
1

インテントを使用してアクティビティ間でデータを送信する方法はすでにわかっています。問題はサーバーのリクエストが文字列base64の画像ArrayListを返すことです。アプリ、これを行うための他の方法はありますか?この私は通常行う方法:大きなjsonデータをandroidのインテントを通して送信する方法

1活動:

String passing_data = new Gson().toJson(user); 
Intent intent = new Intent(activity,UserAdsView.class); 
intent.putExtra("passed_data",passing_data); 
activity.startActivity(intent); 

2活動:それはコンソールか何かのいずれかのエラーが、それだけでクラッシュを示し、そして再度開くしません

String target = getIntent().getStringExtra("passed_data"); 
UserModelView userModelView = new Gson().fromJson(target,UserModelView.class); 

以前の活動。ありがとう!

+2

保存画像:

// Create your new Intent Intent intent = new Intent(activity,UserAdsView.class); //create a bundle Bundle b = new Bundle(); //when you add a list of objects (JSON or Otherwise), use a serializer b.putSerializable("passed_data", passing_data); intent.putExtras(b); startActivity(intent); 

は、あなたの新しいアクティビティでは、このようなものが必要? –

+0

私の場合、これは「一時的」画像です。最初のアクティビティでは、いくつかの情報とImageを持つCardViewが表示されます。アイテムをクリックすると、「stringsImagesArray」などの追加情報で新しいアクティビティが開始されます。私はそれを考えることができません! –

+0

最初のアクティビティから値を渡すのではなく、2番目のアクティビティでサーバーに再度要求することができます。 –

答えて

0

Hmmm。どういう意味ですか?あなたはJSONオブジェクトを渡そうとしていますか、またはarraylistを渡そうとしていますか?

私はあなたがバンドルとシリアライザを必要としていると思います。このようなことを試してみてください。システムファイルと意図にファイル名を渡すこと

ArrayList<String> target = (ArrayList<String>) b.getSerializable("passed_data"); 
+0

配列リストはプロパティです.itsは区切られません –

関連する問題