官术网_书友最值得收藏!

1.2.2 數據存儲

對于很多應用而言,大到復雜的結構化數據,小到簡單的設置信息,都有數據存儲的需求。廣義上看,應用數據存儲有兩種方式:一種是將數據存放在本地存儲設備中;而另一種則是通過網絡,將數據存儲在遠端服務器中,也就是常說的“云存儲”。

Android本地數據存儲的最大特點是數據的私有化。每個應用的配置信息和數據庫文件等數據,都是其私有的,其他應用沒有權限進行讀寫,從而保證了應用數據的安全性。而對于如何將其數據共享給其他應用,一個策略是構造一個數據源組件(Content Provider),其他應用的組件可以通過數據源組件的接口訪問它所提供的數據;而另一個常用的策略是將數據放入擴展存儲設備(通常是SD卡等擴展存儲卡)中,在該存儲設備中的數據,可以被所有應用共同訪問。比如,Android的多媒體數據文件通常存儲在擴展存儲設備中,以便各個圖像應用、音樂播放應用等讀寫。

Android對本地數據的存儲,可以有多種文件格式,比如普通數據文件、設置文件和數據庫,等等。設置文件(Preferences)是專門針對存儲應用設置信息而設計的,它依照鍵值對的形式進行保存,Android從界面到存儲都做了完整的支持。而Android的數據庫依靠Sqlite的支持,在android.database包中提供了更為便捷的讀寫類庫支持,開發者可以使用SQL語言或者結構化的數據對象對數據庫進行增、刪、改、查等操作。

本地數據存儲有其天生的弊端,當用戶更換設備或卸載應用時,存儲在本地的數據就會丟失。為了解決這個問題,在Android 2.2中,引入了云存儲的支持,就是不僅將數據存儲在本地,同時還將其同步到Google提供的遠端服務器中(所謂的云端)。這樣,即使存儲在本地的數據遺失了,也可以通過網絡再同步回來,既保證了數據安全性,又有利于改善用戶體驗。

在實際開發中,數據存儲最重要的是策略合適。面對不同的數據應該用怎樣的策略存儲比較合適,需要綜合性能、簡單性、可靠性等多種因素來考慮,關于數據存儲的更多介紹和實踐,見第9章。

主站蜘蛛池模板: 广西| 陵水| 明光市| 麦盖提县| 定结县| 庆安县| 洪江市| 剑河县| 绥江县| 泸水县| 樟树市| 吴江市| 凤山市| 当涂县| 颍上县| 天镇县| 瑞昌市| 洪江市| 寿光市| 安溪县| 石楼县| 乌拉特前旗| 巴马| 马尔康县| 龙泉市| 丰宁| 湘潭市| 长海县| 山西省| 凭祥市| 旬邑县| 南宫市| 太仓市| 陆良县| 昔阳县| 金堂县| 北京市| 莱州市| 察隅县| 若尔盖县| 昭觉县|