android 學習四 ContentProvider

來源:互聯網
上載者:User

標籤:

1.系統內建的許多資料(連絡人,本地資訊等)儲存在sqllite資料庫,然後封裝成許多ContentProvider來供其他程式訪問。

2.對sqllite資料庫的操作,可以在命令列通過adb工具登入裝置運行sqlite3來操作。3.ContentProvider 是用URI來標示,訪問程式通過URI來訪問相應的資料,URI的結構是   content://***/*/*...其中***是授權,在ContentProvider提供者的說明檔案中聲明,後面的*表示路徑,具體由ContentProvider實現來解釋,ContentProvider為簡化URI的調用,將這種URI定義為常量字串供查看和調用。 4.用戶端通過URI和需要擷取的列,選擇條件,排序條件等用相應的api來擷取結果,結果是一個android Cursor,可以使用相應的方法擷取結果集中的內容,返回的資料是MIME格式,類型/子類型。 5.android內建    http://developer.android.com/reference/android/provider/package-summary.html 6.從Context中擷取ContentResolver,然後ContentResolver通過URI  進行AUD ContentProvider操作7.可以通過managedQuery方法擷取一個ContentProvider資料集合(Cursor)然後通過Cursor類的,moveFirst() afterLast() moveNext()來遍曆資料,並可以先擷取列索引(Cursor.getColumnIndex(columnName)),然後根據索引擷取列值(Cursor.getString(ColumnIndex)) 8.where子句可以通過URI和參數兩種方式,orderby子句可以通過參數,having可以通過參數指定。9.操作記錄時需要一個ContentValues類型,該類型為索引值對,鍵為列名值為需要插入的值。insert操作會返回插入記錄的URI10.將檔案添加到ContentProvider中。     10.1通過一個insert操作擷取URI     10.1通在URI上使用(ContentResolver.openOutputStream(URI)來讓提供者產生一個內部檔案,並將檔案名稱儲存在保留列_data上,然後返回這個內部檔案的輸出資料流。 11.實現一個ContentProvider的幾個步驟    11.1 計劃資料庫,URI及列名稱,建立中繼資料類來定義所有這些資料元素常量    11.2擴充抽象類別ContentProvider    11.3實現方法query,insert,update,delete和getType    11.4在描述檔案中註冊提供者。 12 擴充ContentProvider     12.1擴充ContentProvider時需要定義和初始化一個列名稱與別名的map,就算沒有別名也需要。     12.2用UriMatcher來識別uri     12.3通過擴充SQLiteOpenHelper類來建立資料庫,建立表,擷取資料庫執行個體。      

android 學習四 ContentProvider

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.