天天看點

android資料庫降級_挖穿Android第三十二天sqlite介紹 如何建立一個資料庫 注意事項 使用sql語句進行增删改查 使用谷歌封裝好的API完成增删改查 android事務操作 ListView入門 ListView的優化 ListView顯示複雜布局 ListView原理

android資料庫降級_挖穿Android第三十二天sqlite介紹 如何建立一個資料庫 注意事項 使用sql語句進行增删改查 使用谷歌封裝好的API完成增删改查 android事務操作 ListView入門 ListView的優化 ListView顯示複雜布局 ListView原理

sqlite介紹

sqlite:輕量級資料庫->不區分資料類型 嵌入式資料庫->不需要安裝相應的軟體支援 直接調用系統提供的API就可以使用了

建立資料庫實際上就是一個特殊的一個檔案 這個檔案在包下面

如何建立一個資料庫

[1]定義一個類繼承SQLiteOpenHelper

[2]在SQLiteOpenHelper中onCreate方法中執行sql語句

[2.1]create table info(_id integer primary key,name text,age text)

[2.2]alter table info add sex text

注意事項

[1]Android推薦在建立表的時候用_id作為主鍵

[1]自增長設定 _id integer primary key

[2]sqlite不能降級

[3]使用就像File對象操作 建立對象 不會建立資料庫

使用sql語句進行增删改查

[1]getReadableDatabase 擷取一個可讀資料庫 會先擷取一個getWritableDatabase 當磁盤滿了 隻傳回可讀

[2]getWritableDatabase 擷取一個可寫資料庫 當磁盤滿了 報錯

增[1]insert into info values(null,'張三',18,'男')

查[2]select * from info;

改[3]update info set age='20' where name='張三'

删[4]delete from info where name='張三'

使用谷歌封裝好的API完成增删改查

[1]使用sql語句實作增删改查非常容易出錯

[2]nullColumnHack: 當values參數為空或者裡面沒有内容的時候,insert是會失敗的

android事務操作

事務:要麼代碼執行都成功,要麼代碼執行都失敗

[1]create table info(_id integer primary key autoincrement,name text,money text)

[2]insert into info values(null,'張三',5000)

[2]insert into info values(null,'李四',5000)

事務的标準寫法:

db.beginTransaction();

try {

...

db.setTransactionSuccessful();

} finally {

db.endTransaction();

}

業務邏輯:

[1]update info set money = money-200 where name='張三'

[2]update info set money = money+200 where name='李四'

事務沒有執行成功 就會執行復原操作,實際上就是撤消之前的操作

ListView入門

簡介:

[1]垂直滾動的清單

[2]item内容來自于Adapter

ListView的優化

[1]螢幕顯示多少個item gteView方法就調用 多少次

[2]convertView 曆史緩存對象

ListView顯示複雜布局

infalte的擷取方式:

[1]View.inflate();

[2]LayoutInflater.from();

[3]getSystemService();

ListView原理

mvc:Mode(JavaBean) View(ListView) Controller(Adapter)

Adapter負責把資料展示到View上面去

使用ListView必須要注意 高度避免使用wrap_content

arrayAdapter的使用

ListView的Item隻要一個控件的時候考慮使用

String[] s=new String[]{"張三