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

熱點內容
加密三 瀏覽:128
通過編譯鏈接後形成的可執行程序 瀏覽:678
怎麼用matlab編程 瀏覽:779
解壓助眠小動物吃東西 瀏覽:339
外圓倒角60度編程視頻 瀏覽:491
vcc編譯沒問題運行跳不見 瀏覽:749
ada編譯成dll 瀏覽:473
單片機代碼跳掉 瀏覽:450
程序員談薪水壓價 瀏覽:864
榮耀10青春版支持方舟編譯啊 瀏覽:161
最優估計pdf 瀏覽:828
androiddrawtext字體 瀏覽:671
c語言源編輯源程序編譯 瀏覽:823
手裡捏東西真的可以解壓嗎 瀏覽:268
編譯原理畫狀態表 瀏覽:31
用echo命令產生下列輸出 瀏覽:361
在內網如何訪問伺服器 瀏覽:961
java導入oracle資料庫 瀏覽:136
堅朗內開內倒鋁條演算法 瀏覽:260
華為閱讀新建文件夾 瀏覽:771