2016-08-15 15 views
2

JSONObjectまたはJSONArrayのデータ構造を使用して、アプリにキーと値のペアを格納できます。Android開発のBundleとJSONObjectの違いは何ですか?

また、Bundleを使用して、アプリにキーと値のペアを保存できます。

その違いは何ですか?

もう一方の代わりにいずれかを使用する利点/欠点はありますか?

+0

これらはかなり異なるユースケースを持っています...バンドルなしでインテント間でデータをどのように渡しますか?バンドルだけでJSONをどのように解析しますか?また、JSONArrayはキーと値のペアを格納しません。 –

+2

'Bundle'は内部アプリ間**通信の両方で使えるものですが、' Json'はそうではありません! –

+1

ここに簡単な例があります。 JSONObject/Arrayはラブレターのようなテキストを保持できる単なる紙だったのに対し、バンドルはギフトボックスのようなもので、重量(少し重い)があり、チョコレートや詰め物のようなコンテンツを保持できます。はるかに軽い。 – Enzokie

答えて

2

アンドロイドでは、バンドルはfragment/activity/Service/BroadcastReceiverに関連付けられています。あるアクティビティ/フラグメントから別のアクティビティ/フラグメントへデータを送信するために使用されます。 JSONObjectを介してデータを送信することもできますが、一般的なファイルシステムまたはローカルdbまたはバンドルのいずれかでデータを転送するにはメディアが必要です。バンドルは、メディアと同様に、キーバリューペアのデータ構造です。 JSONObjectは主にWeb APIで使用され、オブジェクトをシリアライズします。

1

異なる場合に使用されます。 バンドルはアクティビティ間でデータを転送するために使用され、JSONオブジェクトは、JSONデータを格納し、同じデータを操作するために使用されます。 JSONObjectをアクティビティに直接渡すことはできません。したがって、バンドルが必要です。