MediaStore 與Media.EXTERNAL_CONTENT_URI

飄過的小熊發表於2016-05-17

首先

MediaStore這個類是android系統提供的一個多媒體資料庫,android中多媒體資訊都可以從這裡提取。這個MediaStore包括了多媒體資料庫的所有資訊,包括音訊,視訊和影像,android把所有的多媒體資料庫介面進行了封裝,所有的資料庫不用自己進行建立,直接呼叫ContentResolver去掉用那些封裝好的介面就可以進行資料庫的操作了。

查詢,程式碼如下所示:
Cursor cursor = resolver.query(_uri, prjs, selections, selectArgs, order);
ContentResolver的query方法接受幾個引數,引數意義如下:

  1. Uri:這個Uri代表要查詢的資料庫名稱加上表的名稱。這個Uri一般都直接從MediaStore裡取得,例如我要取所有歌的資訊,就必須利用MediaStore.Audio.Media. EXTERNAL_CONTENT_URI這個Uri。專輯資訊要利用MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI這個Uri來查詢,其他查詢也都類似。
  2. Prjs:這個引數代表要從表中選擇的列,用一個String陣列來表示。
  3. Selections:相當於SQL語句中的where子句,就是代表你的查詢條件。
  4. selectArgs:這個引數是說你的Selections裡有?這個符號是,這裡可以以實際值代替這個問號。如果Selections這個沒有?的話,那麼這個String陣列可以為null。
  5. Order:說明查詢結果按什麼來排序。

* 上面就是各個引數的意義,它返回的查詢結果一個Cursor,這個Cursor就相當於資料庫查詢的中Result,用法和它差不多。*

相關文章