標籤:android style http color io os 使用 java ar
課程目標:
掌握Android中資料存放區的幾種方式
熟練使用PreferenceActivity&PreferenceScreen做專業的Setting功能
熟練使用SQLite3來儲存資料
深入研究SQLite3資料庫特性,並且比對與大型資料庫的包括預存程序,主外部索引鍵關聯等特性
瞭解檔案儲存體的內外儲存分別 瞭解網路儲存C/S結構原理 。
重點痛點:SQLiteOpenHelper類的使用 SQLIte資料庫的特性掌握
考核目標:
說出Android資料存放區的幾種形式 ?
Sqlite3能支援預存程序麼,支援主外部索引鍵關聯麼 ?
如何讓自己的Setting程式與系統的Setting程式融合
一、Android資料存放區初探
XML Share Preference
Binary File File <使用內部儲存,使用擴充儲存>
關係型資料庫 SQLite3
網路訪問 Network <Socket , Http,Https>
二、SharedPreference
2.1 最基本操作步驟
1) getSharedPreference
2) get SharedPreferences.Editor
3) Editor.commit()。
2.2 三種方式得到preference區別
1) public SharedPreferences getPreferences (int mode)
通過Activity對象擷取,擷取的是本Activity私人的Preference,儲存在系統中的xml形式的檔案的名稱為這個Activity的名字,因此一個Activity只能有一個,屬於這個Activity。
2) public SharedPreferences getSharedPreferences (String name, int mode)
因為Activity繼承了ContextWrapper,因此也是通過Activity對象擷取,但是屬於整個應用程式,可以有多個,以第一參數的name為檔案名稱儲存在系統中。
3)public static SharedPreferences getDefaultSharedPreferences (Context context)
PreferenceManager的靜態函數,儲存PreferenceActivity中的設定,屬於整個應用程式,但是只有一個,Android會根據包名和PreferenceActivity的布局檔案來起一個名字儲存。
2.3 打造專業的User Preference
PreferenceActivity
PreferenceScreen..
. setOnPreferenceChangeListener...
2.4 如何嵌套系統preference
2.5 Subtopic
三、SQLite3
3.1 SQLite資料庫簡介
SQLite (http://www.sqlite.org/),是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月. 至今已經有10個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。
特徵:輕量級,獨立性,隔離性,跨平台,多語言介面,安全性。
3.2 總結
SQLite 是一個全面而又完整支援sql語句的檔案型資料庫
Sqlite 支援 事務 , 視圖 , 索引,觸發器 ,主外鍵約束
預設的必須給每張表的主鍵名字為_id
SqliteDatabase 可以用封裝的insert ,update ,delete ,query 方法 ,也可以用execSql , rawSql 等原生方法
3.3 SQLiteOpenHelper
getReadableDatabase()
getWritableDatabase()
onCreate(SQLiteDatabase db , int oldVersion, int newVersion)
onOpen(SQLiteDatabase db)
onUpgrade(SQLiteDatabase db)
1)通過Helper , 建立好資料庫表結構 - onCreate , onUpgrade。
2)調用helper執行個體 , 通過get***Database()得到DB對象。
3)通過DB對象執行個體來調用增刪改查 ,insert()。
3.4 建立資料庫,更新資料庫: adb shell 看資料庫
3.5 具體的資料操作:Add,Update,Search,Delete,批次更新和刪除。
3.6 我們思考一下Sqlite3資料庫引擎在哪兒? external/sqlite
思路:
如你來移植,對開源的項目,你是編譯好類庫放上來還是直接源碼都放上來呢?
如果源碼放上來,我們去官網下載源碼 , 開啟看看
去搜尋一下源碼
找到地址 。
3.7 我們來思考一下SQlite3串連方式實際是什嗎? libcore/sqlite-jdbc
3.8 表的主外鍵關係
3.9 表的視圖
3.10 表的觸發器,預存程序
3.11 Sqlite事務
beginTransaction
setTransactionSuccessful
endTransaction
10、Android資料存放區