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[]{"張三