Android で managedQuery 関数を使用してメディアストアから取得した結果を制限する方法はありますか。私は現在、SDカードで見つかったすべての写真を表示するグリッドを持っていますが、それを取得するのが多すぎるため、メディアストアから取得した結果を制限することにしましたが、結果のデータセットを減らすことができる制限機能を見つけることができませんでした. .
助けてください
Android で managedQuery 関数を使用してメディアストアから取得した結果を制限する方法はありますか。私は現在、SDカードで見つかったすべての写真を表示するグリッドを持っていますが、それを取得するのが多すぎるため、メディアストアから取得した結果を制限することにしましたが、結果のデータセットを減らすことができる制限機能を見つけることができませんでした. .
助けてください
contentresolver の query メソッドで order を使用して、「columnname asc limit number」などの関数を実装します
私の場合:
cursor = resolver.query(STORAGE_URI, projection,
Media.BUCKET_DISPLAY_NAME + "=?",
new String[] { folderName },
" _id asc limit " + num);
queryメソッドのsortOrderパラメーターを使用して結果を制限できます。このようなもの
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で並べ替えられ、結果が制限されます。