mediastore中定義了一系列的資料**,通過contentresolver提供的查詢介面,我們可以得到各種需要的資訊。下面我們重點介紹查詢sd卡上的**檔案資訊。
先來了解一下contentresolver的查詢介面:
cursor query(uri uri, string projection, string selection, string selectionargs, string sortorder);
uri:指明要查詢的資料庫名稱加上表的名稱,從mediastore中我們可以找到相應資訊的引數,具體請參考開發文件。
projection: 指定查詢資料庫表中的哪幾列,返回的游標中將包括相應的資訊。null則返回所有資訊。
selection: 指定查詢條件
selectionargs:引數selection裡有 ?這個符號是,這裡可以以實際值代替這個問號。如果selection這個沒有?的話,那麼這個string陣列可以為null。
sortorder:指定查詢結果的排列順序
下面的命令將返回所有在外部儲存卡上的**檔案的資訊:
cursor cursor = query(mediastore.audio.media.external_content_uri, null, null, null, mediastore.audio.media.default_sort_order);
得到cursor後,我們可以呼叫cursor的相關方法具體的**資訊:
歌曲id:mediastore.audio.media._id
int id = cursor.getint(cursor.getcolumnindexorthrow(mediastore.audio.media._id));
歌曲的名稱 :mediastore.audio.media.titl
string tilte = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.title));
歌曲的**名:mediastore.audio.media.album
string album = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.album));
歌曲的歌手名: mediastore.audio.media.artist
string artist = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.artist));
歌曲檔案的全路徑 :mediastore.audio.media.data
string url = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.data));
歌曲檔案的名稱:mediastroe.audio.media.display_name
string display_name = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.display_name));
歌曲檔案的發行日期:mediastore.audio.media.year
string year = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.year));
int duration = cursor.getint(cursor.getcolumnindexorthrow(mediastore.audio.media.duration));
歌曲檔案的大小 :mediastore.audio.media.size
int size = cursor.getlong(cursor.getcolumnindexorthrow(mediastore.audio.media.size));
**:
MediaStore用法示例
mediastore類向儲存在裝置上 無論是內部儲存器還是外部儲存器中 的 提供了一介面。mediastore還提供了api來操作 mediastore便於簡化操作。下面是使用intent來錄製音訊和拍照的簡單示例。public class mediastoretest extends activi...
通過environment獲取sdcard目錄
在研究拍照後突破的儲存路徑的問題,開始儲存路徑寫死為 private string folder sdcard dcim camera sd卡上拍照程式的儲存路徑 後來發現這樣寫雖然一般不會出錯,但不是很好,因為不同相機,可能路徑會出問題。較好的方法是通過environment 來獲取路徑,最後給出...
通過Spring獲取properties檔案屬性值
spring提供了註解 value,用於在程式中獲取properties配置檔案屬性值。例如 當有多個配置檔案時,上述配置可以配置多條。2.spring bean中使用 value註解獲取指定引數。properties配置項 server.ip 192.168.1.1 server.port 808...