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

熱點內容
keil分段編譯 瀏覽:26
app有了用戶後怎麼賺錢 瀏覽:306
程序員那麼可愛20觀看 瀏覽:999
一個數除以二的演算法 瀏覽:403
如何選擇php培訓機構 瀏覽:982
app被移除管理了怎麼弄 瀏覽:934
phpredis消息推送 瀏覽:804
剪貼板里怎麼加密碼 瀏覽:153
51單片機入門自學 瀏覽:548
如何看步數有同步伺服器 瀏覽:10
單片機掃描實驗代碼 瀏覽:721
惠州抖音app推廣平台怎麼引流 瀏覽:758
如何再網路設置裡面添加伺服器 瀏覽:191
陶瓷pdf 瀏覽:672
選股指標源碼最新 瀏覽:577
arm嵌入式linuxpdf 瀏覽:477
本田裂行的壓縮比 瀏覽:24
ps色彩調色命令 瀏覽:592
寬頻的伺服器地址怎麼看 瀏覽:423
vb如何給文件加密 瀏覽:215