一.SQLite數據庫
* 1.事務
beginTransaction(); // 開始事務
setTransactionSuccessful(); // 設置成功點, 在事務結束時, 成功點以前的操做會被提交
endTransaction(); // 結束事務, 一般放在finally中, 若是不顯示關閉事務, 超市也會關閉, 但效率較低
* 2.另外一種增刪改查
SQLiteDatabase類中有insert(), delete(), update(), query()四個方法, 不用寫SQL語句, 經過參數拼裝獲得SQL
一般使用在ContentProvider
二.ListView
1.三種Adapter構建ListView
ListView添加條目的時候, 能夠使用setAdapter(ListAdapter)方法, 經常使用的ListAdapter有三種
BaseAdapter: 定義一個類繼承BaseAdapter, 重寫4個抽象方法, ListView的條目是由getView()方法構建出來的
SimpleAdapter: 建立SimpleAdapter對象時, 傳入數據(List<Map<String, ?>>), 並指定數據的綁定關係
SimpleCursorAdapter: 建立SimpleCursorAdapter對象時, 傳入一個Cursor, 指定數據的綁定關係
2.監聽ListView的點擊
調用ListView.setOnItemClickListener(OnItemClickListener)方法註冊一個監聽器
在監聽器的onItemClick()方法中使用 parent.getItemAtPosition(position) 方法能夠獲取指定條目上的數據
BaseAdapter: 返回的就是自定義的getItem()方法中返回的數據
SimpleAdapter: 返回的是一個Map, 就是建立SimpleAdapter時List中的一個Map
SimpleCursorAdapter: 返回的是一個Cursor, 這個Cursor就是建立時傳入的Cursor, 可是已經經過moveToPosition()方法指定到點擊的索引了
三.內容提供者(ContentProvider)
1.什麼是ContentProvider
ContentProvider能夠用來把程序中的數據對外進行共享, 提供增刪改查的方法
ContentProvider中能夠註冊觀察者, 監聽數據的變化
* 2.怎麼建立
定義類繼承ContentProvider, 實現抽象方法
在清單文件中註冊
3.在手機上註冊
將應用安裝到手機上便可, 不用運行程序
* 4.怎麼訪問
獲取解析器ContentResolver, 指定Uri
經過ContentResolver.insert(), delete(), update(), query()方法訪問Uri關聯的ContentProvider
5.Uri的處理
使用UriMatcher能夠檢查傳入的Uri是否和指定的匹配
若是Uri帶了id, 能夠使用ContentUris獲取id, 插入方法能夠使用ContentUris給Uri加上id數據庫