導航:首頁 > 操作系統 > android存儲json

android存儲json

發布時間:2024-11-02 21:15:02

『壹』 android 怎樣將數據以json格式保存在手機文件中

json是一種輕量級數據交換格式,可以包含對象和數組,以下是一個json字元串的示例:
{"key":[{"key1":"value1","key2":value2",...}]}

json只是一種數據交換格式,並不是存儲格式,所以只要你正確地組織好json字元串後,跟其他文件是一樣存儲的;

同時建議你,如果你存儲的數據量比較多的話,建議存儲在android系統自帶的SQLite資料庫中,這樣操作起數據來更方便簡單;如果數據量非常少,只有三五個欄位存儲,那樣使用android的SharedPreferences可能會是更好的選擇,希望你根據應用需求適當選用。

『貳』 Android開發中為什麼很少使用JSON存儲數據

是可以用JSON存儲數據對象的,而且也是Google推薦的,可以取代以實現Serializable來存儲對象的方法。下面是使用JSON存儲數據的原因。

Android開發中,涉及到對象存儲,通常的做法是直接實現`Serializable`。有關這個介面,它保證了實現該介面的類的對象能夠被`ObjectOutput/InputStream`直接輸入輸出,即序列化。這很方便,但是也很不好。

提到『序列化』,大多數人都想到`Serializable`,而實際上『序列化』的只是指「將對象的狀態信息轉換為可以存儲或傳輸的形式的過程」,Java的`Serializabe`是位元組序列化的一種。

`Serialziable`的缺點之一是,實現了該介面的類將失去靈活性。這一點《Effective Java》第74條也指出了,實現了這個`Serializable`的類將會依賴這個類的內部演化,根源在於UID(Serial version UID)。如果你沒有指定UID,那麼每次這個類被序列化時都會根據這個類的當前狀態生成一個UID。想像這么一種場景:這個類已經被導出了,比如發給其他公司或部門使用了,然後你又修改了這個類,那麼當你再將這個類發布時,由於UID不同,其他公司或部門的程序員將可能得到一個「InvalidClassException」。

這種情況的根本原因是因為你不能控制序列化的實現,你控制不了UID的生成過程。這就需要一個自定義的序列化形式。在Android中,Google推薦JSON序列化。而且Android程序員也可以使用Gson等工具來進行序列化和反序列化。

和`Serializable`的位元組序列化不同,JSON序列化是字元序列化。

此外,`Serializable`只適合存儲對象。由於在傳輸時`Serializalbe`要做大量IO,Android提供了`Parcelable`。

最後,題主不應該把資料庫和JSON,XML比較,如果要比,也只能把資料庫和文件存儲比。資料庫適合存儲數量大,關系復雜的數據,這樣管理,查閱就很方便。與此相對文件存儲適合數量小,關系簡單的數據。

閱讀全文

與android存儲json相關的資料

熱點內容
小書亭下載的文件在哪手機文件夾 瀏覽:173
交叉編譯器編譯單個c文件 瀏覽:509
代理伺服器地址列表吧 瀏覽:928
java列出所有文件 瀏覽:866
壓縮包看圖軟體 瀏覽:187
sqlite在android中的應用 瀏覽:657
一本通pdf 瀏覽:911
2021免費的編程軟體 瀏覽:124
項目編譯後瀏覽器不對應刷新 瀏覽:565
三星升級android60 瀏覽:293
粘土的壓縮模量 瀏覽:116
美國程序員生活 瀏覽:220
51單片機摘要 瀏覽:407
英語經典pdf下載 瀏覽:320
大學文件夾怎麼刪除 瀏覽:671
linux科研軟體 瀏覽:556
ue4打包編譯著色器 瀏覽:778
雲伺服器可以在手機上登錄嗎 瀏覽:678
網游腳本為什麼要連接伺服器 瀏覽:11
程序員發展路線圖 瀏覽:320