天天看點

Android SQLite輕量級資料庫(簡單介紹)

SQLite它是相當于嵌入到安卓裡的一個小資料庫吧,

它也可以使用SQL語句進行資料庫的增删改查操作,但是是SQL1992的語句。

然後SQLite也有自己的語句,但是學過SQL的應該都會發現,它比較雞肋,

首先冗長代碼不說,操作還花裡胡哨的。

是以我們就是使用資料庫語言通用 的SQL語句寫就好了。

今天仍然講昨天那個,昨天那個是不能注冊的,我們今天就把注冊資訊放到資料庫裡

然後下次登入的時候就可以查詢資料庫裡有沒有,這樣就真正實作了注冊和登入。

主要介紹的是這個兩個:

SqliteDatabase 他是代表資料庫的一個對象 通過他就能操作資料庫。

  

SqliteOpenHelper 建立打開資料庫需要繼承SqliteOpenHelper 。

它有兩個方法,可以将資料寫入資料庫。

getReadableDatabase:一般用這個,可讀可寫,如果寫滿了就變隻讀(建議使用)。      
getWritableDatabase:這個是可寫,如果寫滿了就會報錯。

他們的傳回值是資料庫對象,是以可以用資料庫對象的變量去儲存。      

我們先建立跳轉到注冊界面的活動和布局。

Android SQLite輕量級資料庫(簡單介紹)

 先簡答的建立一個注冊頁面,和活動。

再開始資料庫的第一步操作,建立繼承SqliteOpenHelper 的類,并重寫方法

Android SQLite輕量級資料庫(簡單介紹)

 主要重寫兩個方法,第一個是建立資料庫回調用的,第二個是更新資料庫版本用的,

然後記得重寫構造方法,不然在注冊活動new不出來。

String sql = "create table user(id integer primary key autoincrement,username varchar(20),password  varchar(20))";
db.execSQL(sql);
建立裡的這兩句話,就是使用SQL語句,然後db是SqliteDatabase 類型的變量
然後execSQL就是實作SQL語句。

聽學長說更新的方法用不到,本牛崽看書上說其實改個版本号,然後資料表如果有多個,這個就有作用,
但是學長說的我可以了解成(我們隻是代碼的搬運工,那些資料庫的東西我。們基本上拿過來用就行)
然後我們



寫注冊活動的東西:
其實就是昨天那個插件自動生成的結構,我們隻需要改一些然後插入資料庫對象和資料庫打開助手
因為登入界面和注冊界面差不多,是以變量就不變了,搞兩個成員變量:資料庫對象和資料庫打開助手

然後在OnCreate裡頭開始new我們自己寫的繼承資料庫打開助手的類,它的四個參數,我們已經在自己寫的類裡固定了三個,第一個資料就是上下文,是以我們隻需要傳入上下文就好
然後用資料庫對象的變量去存儲資料庫打開助手點出來的可讀寫方法,相當于把資料通過助手寫到資料庫裡去了。

      
Android SQLite輕量級資料庫(簡單介紹)

點選方法就是給那倆個方法監聽,傳回就是跳轉到登入界面,完成注冊就是提醒你注冊成功。

然後就是因為用插件生成的方法裡有submit方法,它是得到使用者和密碼的方法,我們存入資料庫就是點選注冊之後,來這個方法裡,把使用者和密碼存進來,我們在注冊活動主要是“增”這個操作

主活動登入時是建立一個“查”的操作,以後再搞個修改密碼就是“改”,“删”一般謹慎使用,

我們繼續主活動裡的方法,就也是修改一下submit方法裡的,

我們的思路就是,先得到使用者和密碼,去資料查,如果有就判斷密碼對不對,如果沒有就提示沒有呗。

Android SQLite輕量級資料庫(簡單介紹)

 這邊主要說說那個“查”的操作:

在submit方法裡,我們獲得使用者名,這邊用Cursor就是給它用rawQuaryd方式寫SQL語句,

然後用使用者名去找到他的所有資訊,并且判斷拿到密碼和輸入的密碼是不是一樣。

最後關閉資料庫對象。

Android SQLite輕量級資料庫(簡單介紹)

上面的截圖有點長,因為代碼長如果隻複制代碼,看起來就很亂,這樣截圖,就很容易看了。

今天的内容就到這了,我可以開開心心的組裝我的QQ了,我發現最近學的好像跟扣扣都有聯系,哈哈,等我凱旋的消息吧,

其實學長讓我們做一個檔案管理的東西,但是我不用那東西,感覺挺别扭,還沒思路,qq這個東西玩的熟,而且聽學長們講課時,想的例子也都是QQ能搭上線的,

是以我打算自己寫個簡易版的手機QQ,前面自己是寫了個小項目,可那都隻是表面的花裡胡哨,最近學的才是真材實料,奧利給。

Android SQLite輕量級資料庫(簡單介紹)