十、Android數據存儲

課程目標:sql

掌握Android中數據存儲的幾種方式shell

熟練使用PreferenceActivity&PreferenceScreen作專業的Setting功能數據庫

熟練使用SQLite3來存儲數據安全

深刻研究SQLite3數據庫特性,而且比對與大型數據庫的包括存儲過程,主外鍵關聯等特性 網絡

瞭解文件存儲的內外存儲分別  瞭解網絡存儲C/S結構原理 。 app

重點難點:SQLiteOpenHelper類的使用   SQLIte數據庫的特性掌握函數

考覈目標:佈局

說出Android數據存儲的幾種形式 ?spa

Sqlite3能支持存儲過程麼,支持主外鍵關聯麼 ?操作系統

如何讓本身的Setting程序與系統的Setting程序融合

 

 

1、Android數據存儲初探

XML              Share Preference

Binary File     File  <使用內部存儲,使用擴展存儲>

關係型數據庫   SQLite3

網絡訪問         Network <Socket , Http,Https>

 

2、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

 

3、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

相關文章
相關標籤/搜索