使用SQLite

SQLite是Android內建的一個小型資料庫

首先我們需要一個SQLiteOpenHelper來幫我們架設好基本的資料庫的架構



這是一個基本的SQLiteOpenHelper的樣子

他會有一個private static int version = 1;
跟final private static String DBname = "MyTest.db";

一個是目前的版本,另一個是你資料庫的名字

版本只能越來越大,不然在建構子的部分會出現錯誤

再來就是onCreate,裡面可以看到熟悉的SQL語法

SQLite中的
數字是用INTEGER
字串是用TEXT(能不能用VARCHAR可以試試)
浮點數是用REAL(雖然我用DOUBLE也沒問題就是了)

最後就是onUpgrade

當他在建構子中發現你的版本更新了就會執行這一段(會更新通常不外乎是增加table或是table的結構變了)

創建完Helper了,接下來就是要在自己的Activity中實用了



剛剛建了這麼辛苦當然是有用的首先先宣告一個SQLiteDatabase

接著在onCreate中把他的WritableDatabase傳給他就沒他的事了(戲分少



實際使用的時候你會需要一個Cursor來接他找出來的資料



找到資料後Cursor會在-1的位置,所以就用while把找到的資料一行一行取出來

雖然Cursor有各種getXX的方法,不過並不是代表索引的數字是XX類別的第幾個

換個說法,比較像是把索引位置的值用什麼類別取出來
(所以以上面為例索引1的位置其實也能用c.getString(1)把他轉成字串)

另外rawQuery可以用取代的方式取代字串(像是rawQuery("Select ?","name")這樣),沒有字串要取代的話第二個值就是null了

最後,要怎麼確認自己打了半天的資料到底有沒有進到SQLite的資料庫呢

首先(記得要先把模擬器關掉)在tools->Android中找到Android Device Monitor

接著再打開模擬器等一會兒

看到左邊的手機出現,就表示讀取成功了!!

接著在旁邊找到資料夾data/data/"packagename"/database裡面就會找到你命名的資料庫了~

點他一下,然後按右上角最左邊的磁碟片把他匯出來,再用查看軟體(像我是用DB Browser for SQLite)就能看到資料庫到底打了什麼東西進去了!

留言

這個網誌中的熱門文章

基本元件Spinner與ListView

Thread與Handler淺介紹