導航:首頁 > 操作系統 > 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相關的資料

熱點內容
雲上城之歌連接不了伺服器 瀏覽:660
有什麼可以比飛翔解壓的嗎 瀏覽:845
黑暗之魂攻略pdf 瀏覽:904
世嘉20壓縮比 瀏覽:148
瑞斯康達交換機命令 瀏覽:469
加密貨幣擠兌 瀏覽:575
scum伺服器新手禮包都有什麼 瀏覽:561
修改linux的編碼格式 瀏覽:48
單片機232通信 瀏覽:223
則在該支座一側箍筋加密 瀏覽:898
php緩存操作 瀏覽:658
程序員考公是什麼意思 瀏覽:404
安卓手機怎麼打開7z文件夾 瀏覽:818
領克app如何查看胎壓 瀏覽:956
跳跳花app在哪裡下載 瀏覽:673
內核編譯論壇 瀏覽:874
pr預覽渲染顯示錯誤編譯影片 瀏覽:723
php網站添加驗證碼 瀏覽:126
程序員有沒有技師職稱 瀏覽:274
一個程序員一年的感悟 瀏覽:80