0

sdカードから特定のフォルダからイメージを取得しようとしています。どのようなSDカードからすべての画像を取得している行うことができイムカーソルローダーを使用してディレクトリ内の特定のフォルダイメージを取得する

コード: onCreateLoader方法:

@Override 
    public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
     String[] projection = {MediaStore.Files.FileColumns._ID, 
       MediaStore.Files.FileColumns.DATE_ADDED, 
       MediaStore.Files.FileColumns.MEDIA_TYPE 
     }; 
     String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "=" 
        + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE; 

     return new CursorLoader(getContext(), MediaStore.Files.getContentUri("external"), projection, selection, null, 
       MediaStore.Files.FileColumns.DATE_ADDED + " ASC"); 
    } 
+1

はそれをuを助けることを願っています: http://stackoverflow.com/questions/20410791/query-directory-with-cursorloader – Farhan

答えて

1

私はSDカードから特定のフォルダから画像を取得しようとmは

ディレクトリ名をselectionArgsとし、選択文字列を次のように変更します。

String selection = MediaStore.Images.Media.DATA + " like ? "; 
String selectionArgs =new String[] {"%PASS_DIR_NAME_HERE%"}; 

new CursorLoader(getContext(),MediaStore.Files.getContentUri("external"), 
       projection, 
       selection, 
       selectionArgs, 
       MediaStore.Files.FileColumns.DATE_ADDED + " ASC"); 
+0

thnkuあなたの助けが、私はからサブフォルダからそれを取得したい場合ディレクトリ –

+0

@HarmeetKaur:サブフォルダ名をPASS_DIR_NAME_HEREとして渡してみてください –

0

ImageViewで設定できるBitmapオブジェクトを与えるdecodeFile(String pathName)から直接ビットマップを作成できます。

File path = new File(Environment.getExternalStorageDirectory(),"iWallet/Images"); 
if(path.exists()) 
{ 
    String[] fileNames = path.list(); 
} 
for(int i = 0; i < filename.length; i++) 
{ 
    Bitmap mBitmap = Bitmap.decodeFile(path.getPath()+"/"+ fileNames[i]); 
    ///Now set this bitmap on imageview 
} 
関連する問題