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

熱點內容
如何將軟體放到CentOS伺服器 瀏覽:630
linux復制根目錄文件 瀏覽:418
php安裝漏洞 瀏覽:893
php數組中的對象 瀏覽:712
哥倫布pdf 瀏覽:398
php職業發展 瀏覽:1001
雲伺服器能訪問網頁嗎 瀏覽:315
ygo電腦伺服器地址 瀏覽:485
為啥自己的電腦編譯不出來 瀏覽:612
程序員男友把鑰匙遞給我開門 瀏覽:641
2019考研數學三真題pdf 瀏覽:812
程序員吃美食圖片 瀏覽:566
pdf回調 瀏覽:780
php視頻教程2017 瀏覽:878
創建共享文件夾加不進去 瀏覽:55
手機雲伺服器安裝教程 瀏覽:568
領導方式命令式 瀏覽:898
android存儲json 瀏覽:276
s7200smartpid編譯錯誤 瀏覽:86
列印時保存為pdf 瀏覽:823