私はどのアクティビティでもアクセスできる静的フィールドを持つクラスを作成するグローバルな静的手法について読んでいます。 ArrayList<Drawables>
やHashMapsのような大きなデータセットを渡す方法はありますか? 私はSerializableについても読んだことがありますが、それをどのように使用するか分かりません。すべてのサンプルコードは大歓迎です...あるアクティビティから別のアクティビティにオブジェクトを渡す最も良い方法
答えて
Intent intent = new Intent(getBaseContext(), NextActivity.class);
intent.putExtra("arraylist", new ArrayList<String>());
あなたのArrayListのインスタンスFriend.classのため、あなたが自分で作成した別のオブジェクトが含まれている場合は、あなたが実装することができますシリアライズ可能なFriend.class、次に:
Intent intent = new Intent(getBaseContext(), NextActivity.class);
intent.putExtra("friendlist", new ArrayList<Friend>());
そしてNextActivity.classでそれを受信するために:
Bundle extras = getIntent().getExtras();
if(extras != null){
ArrayList<Friend> friends = extras.getSerializable("friendlist");
}
まあ、代わりに空のArrayListを渡すので、あなたはArrayListの値を挿入し、それに合格する必要がありますが、あなたのアイデアを得ます。
Activityと呼ぶために作成したIntentオブジェクトに情報をパックする必要があります。エクストラBundleオブジェクトがあります。
SerializableインターフェイスまたはAndroid固有のParcelableインターフェイスのいずれかを使用して、プリミティブでないオブジェクトを渡すことができます。
Androidデベロッパーサイトでは、自分のチュートリアルからhandy Notepad Tutorial with an example of putting information into the intent.
があります
super.onListItemClick(l, v, position, id);
Cursor c = mNotesCursor;
c.moveToPosition(position);
Intent i = new Intent(this, NoteEdit.class);
i.putExtra(NotesDbAdapter.KEY_ROWID, id);
i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(
c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(
c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
startActivityForResult(i, ACTIVITY_EDIT);
サンプルコード? –
インテント、パーセルブル、シリアライゼーションなどを気にする必要がない同じアプリケーション(同じJVMを話す)にいれば、すべてのオブジェクトが同じヒープにあり、シングルトン、roboguiceのようなDIコンテナまたはあなたが合って見えるものは何でも。
データを他のアプリケーションにプッシュする場合は、JSON/XMLのシリアル化されたものとして渡すことをお勧めします。 HashMapを渡す
は、すべてのコレクションにはシリアライズ(SP?)彼らはHashMapを挿入するために意図
使用putExtra(文字列のキー、SerializableをOBJ)内のエクストラとして渡すことができるインタフェース手段と上を実装するオブジェクト、非常に単純ですgetIntent()。getSerializableExtra(String key)を使うと、戻り値をHashMapとしてキャストする必要があります。
- 1. あるアクティビティから別のアクティビティに値を渡す
- 2. Android:onClickメソッドのあるアクティビティから別のアクティビティにオブジェクトを渡してAsyncTaskクラスに使用する方法
- 3. あるアクティビティから別のアクティビティへデータを渡す
- 4. あるアクティビティから別のアクティビティへ画像を渡す
- 5. 複雑なライブラリクラスオブジェクトを1つのアクティビティから別のアクティビティに渡す方法
- 6. Android:パーセルを使用してあるアクティビティから別のアクティビティにオブジェクトを渡すのが難しい場合
- 7. androidのタブレイアウトで1つのアクティビティから別のアクティビティへデータを渡す方法
- 8. 別のスレッドクラスからのデータをAndroidのアクティビティに渡す方法
- 9. Android:1つのアクティビティから別のアクティビティへWebViewを渡す方法
- 10. Android:ArrayList <object>をアクティビティから別のものに渡す方法
- 11. アンドロイドでオブジェクトの参照をあるアクティビティから別のアクティビティに渡すことはできますか?
- 12. 1つのアクティビティから別のアクティビティにリダイレクトする方法
- 13. キューからアクティビティを更新する最良の方法
- 14. 別のアクティビティからアクティビティを終了する方法
- 15. RecyclerViewアイテムから別のアクティビティにオブジェクト値を送る方法
- 16. あるアクティビティから別のアクティビティにデータを送信する
- 17. リストを渡す<Class>アクティビティから別のアクティビティへ
- 18. タブワイド内のアクティビティグループ内のあるアクティビティから別のアクティビティに開始アクティビティを呼び出す方法
- 19. あるアクティビティから別のアクティビティへのANY型の配列の受け渡し
- 20. あるアクティビティのOutArgument値を別のアクティビティのInArgumentに渡しますか?
- 21. grailのコントローラアクション間でオブジェクトを渡す最も良い方法
- 22. Android:別のアクティビティからのアクティビティへのアクセス方法
- 23. 1つのアクティビティから別のアクティビティに画像を保存する方法
- 24. 別のアクティビティからのアクセス方法
- 25. 値を取得する方法onListItemClickと別のアクティビティに渡す
- 26. 1つのアクティビティから別のアクティビティにArrayListアイテムのデータを渡します。
- 27. オブジェクトのプロパティを別のオブジェクトに接続する最も良い方法
- 28. アプリケーション内で、カスタムオブジェクトをアクティビティ間で渡す最も良い方法は何ですか?
- 29. 他のアクティビティから呼び出されるアクティビティのリストを格納する最良の方法
- 30. バンドルを使用して1つのアクティビティから別のアクティビティに2つのArrayListを渡す方法
私の答え[ここ](http://stackoverflow.com/questions/7400564/android-parcelable-retailerorderactivity-java-return-null)を確認してください。 [Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)を使った完全な例。 Parcelableの詳細については、Androidのドキュメントを使用することができます。 –