本周我們學習了利用Android創(chuàng)建數據庫進行儲存數據椎工。
1、在Android中一共提供了5種數據存儲方式翘簇,分別為:
(1)Files:通過FileInputStream和FileOutputStream對文件進行操作撬码。
(2)SharedPreferences:常用來存儲鍵值對形式的數據,對系統配置信息進行保存版保。
(3)ContentProviders:數據共享呜笑,用于應用程序之間數據的訪問。
(4)SQLite:Android自帶的輕量級關系型數據庫找筝,支持SQL語言蹈垢,用來存儲大量的數據慷吊,并且能夠對數據進行使用袖裕、更新、維護等操作溉瓶。
(5)Network:通過網絡來存儲和獲取數據急鳄。
2、SharedPreferences類堰酿,它是一個輕量級的存儲類疾宏,特別適合用于保存軟件配置參數。使用SharedPreferences保存數據触创,其背后是用xml文件存放數據坎藐,文件存放在/data/data//shared_prefs目錄下。
使用Shared?Preferences存儲數據可以通過以下4個步驟來實現:
(1)使用Context類提供的getSharedPreferences()方法,獲取SharedPreferences對象岩馍。getSharedPreferences()方法的原型如下:
public?abstract?SharedPreferences?getSharedPreferences(String?name,?int?mode);
//參數name表示存儲數據的文件名碉咆。
//參數mode用于指定文件的操作模式,其可選值有Context.MODE_APPEND(內容加模式)蛀恩、Context.MODE_PRIVATE(默認操作模式)疫铜、
Context.MODE_MULTI_PRIVATE(多進程)
Context.MODE_WORLD_READABLE(可讀模式)、Context.MODE_WORLD_WRITEABLE(可寫模式)
注意:有一點需要注意的是双谆,此處只是定義了該文件名壳咕,該文件實際上并沒有被創(chuàng)建,該文件只有當創(chuàng)建了SharedPreferences.Edit對象并使用該對象的commit()方法提交數據時顽馋,才會被創(chuàng)建谓厘。
(2)使用SharedPreferences對象的edit()方法創(chuàng)建SharedPreferences.Edit對象。
SharedPreferences.Edit類提供了以鍵值對的形式存儲boolean寸谜、float庞呕、int、long以及String數據類型的數據的方法程帕。
(3)使用SharedPreferences.Edit對象存儲數據住练。
(4)使用commit()方法提交數據。
3愁拭、案例:做一個小應用讲逛、啟動的時候有張引導界面、只有第一次啟動時顯示岭埠,3秒后到主界面盏混。下一次啟動就不會再顯示引導界面了,直接到主界面惜论。
4许赃、ContentProvider簡介
(1)ContentProvider可以在不同的程序之間共享數據,屬于android四大組件之一馆类。
(2)為存儲和獲取數據提供了統一的接口混聊。
(3)Android為常見的一些數據提供了ContentProvider(包括音頻視頻圖片和通訊錄等)
5、調用者不能夠直接調用ContentProvider的接口函數乾巧,而需要使用ContentResolver對象句喜,通過URI間接調用ContentProvider。上圖是互相之間的調用關系沟于。
6咳胃、Uri指定了將要操作的ContentProvider,其實可以把一個Uri看作是一個網址旷太,我們把Uri分為三部分展懈。
第一部分是"content://"。可以看作是網址中的"http://"存崖。
第二部分是主機名或authority榄攀,用于唯一標識這個ContentProvider,外部應用需要根據這個標識來找到它金句¢萦可以看作是網址中的主機名,比如"blog.csdn.net"违寞。
第三部分是路徑名贞瞒,用來表示將要操作的數據〕寐可以看作網址中細分的內容路徑军浆。
7、ContentProvider和SQLite比較類似挡闰,SQLite通過表明來進行增減改查乒融,但是ContentProvider是通過Uri來處理數據。
8摄悯、感悟:通過本節(jié)課程的學習赞季,我學習到了數據的存儲過程以及數據的函數調用,雖然這次的函數方面和調用的方面還不是很清楚奢驯。但是還是學會了一些的方法及其用法申钩。在課余時間我會付出更多的時間和努力去學會和讀懂Android設計程序。在接下來的學習中可以更加的輕松瘪阁,可以自己完成數據存儲功能的實現撒遣。