android(4)事務處理,ContentProvider,ListView

一.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數據庫

相關文章
相關標籤/搜索