2016-08-15 148 views
2

我們可以使用JSONObjectJSONArray數據結構來存儲應用程序中的鍵值對。Android開發中Bundle和JSONObject的區別是什麼?

此外,我們可以使用Bundle來存儲應用程序中的鍵值對。

那麼,他們之間有什麼區別呢?

使用任何一個而不是另一個有什麼優勢/劣勢?

+0

他們有很不相同的用例......你如何在沒有Bundle的情況下在Intents之間傳遞數據?如何僅用一個Bundle解析JSON?另外,JSONArray不存儲鍵值對。 –

+2

'Bundle'是你可以用來** **內部或內部應用程序**通信,但'Json'不是! –

+1

這是一個簡單的例子;捆綁就像一個禮品盒,它有重量(有點重),可以容納任何內容,如巧克力和東西,而JSONObject/Array只是一張紙,可以像愛情文本一樣保存文本。與捆綁JSON的東西不同更輕。 – Enzokie

回答

2

在android中,Bundle與fragment/activity/Service/BroadcastReceiver關聯。它用於將數據從一個活動/片段發送到另一個活動/片段。我們也可以通過JSONObject發送數據,但是我們需要中等傳輸數據,通用文件系統或本地數據庫或捆綁包。 Bundle是一個關鍵值對數據結構以及一個媒介。 JSONObject主要用於web apis和序列化對象。

1

在不同情況下使用。 Bundle用於在活動之間傳輸數據,而JSONObject用於包含JSON數據並處理相同的數據。你不能直接傳遞一個JSONObject到Activity,因此你需要給我們一個Bundle。

相關問題