有沒有辦法限制使用Android上的managedQuery功能從mediastore檢索到的結果。由於我目前有一個網格顯示在SD卡上找到的所有照片,但它太強烈的提取它,所以我決定限制從媒體存儲檢索的結果,但無法找到一個限制功能,可以減少產生的數據集。僅從媒體庫獲取前100行圖像
請幫
有沒有辦法限制使用Android上的managedQuery功能從mediastore檢索到的結果。由於我目前有一個網格顯示在SD卡上找到的所有照片,但它太強烈的提取它,所以我決定限制從媒體存儲檢索的結果,但無法找到一個限制功能,可以減少產生的數據集。僅從媒體庫獲取前100行圖像
請幫
使用順序ContentResolver的的查詢方法來實現你的功能, 如「列名ASC數量限制」
在我的情況:
cursor = resolver.query(STORAGE_URI, projection,
Media.BUCKET_DISPLAY_NAME + "=?",
new String[] { folderName },
" _id asc limit " + num);
您可以使用中將sortOrder參數query法限制的結果。像這樣的東西
ContentResolver contentResolver = getContentResolver();
Cursor androidCursor = null;
String sortOrder = String.format("%s limit 100",BaseColumns._ID);
androidCursor = contentResolver.query(IMAGE_URI,PROJECTION, null, null, sortOrder);
這將命令由id設置的結果並限制結果。
,你需要「 ASC」部分,你可以不要把「限制N」。 –
2013-11-21 22:13:10
請確保不要使用字符串格式創建參數,因爲它默認執行本地化,即以下語句將在阿拉伯語手機上導致SQL異常:'String sortOrder = String.format(「_id asc limit(%d)」,num );' – 2014-06-25 07:53:57
@TomSusel寧可不要依賴默認的語言環境:) – 2014-10-31 12:49:22