Hi I have 21 photo JPEG images on a (simulated) SD Card. I want to read out the binary image bytes from each image in turn via the Image ContentProvider and process the data (upload to a server). I have written the method processImages() for my Activity -
public void processImages() { Log.d(TAG,"processImages()---ENTER---"); int cnt=1; byte [] imageData = null; Uri extImagesUri = Images.Media.EXTERNAL_CONTENT_URI; String [] projection = {Images.ImageColumns._ID} ; Cursor cur = managedQuery(extImagesUri, projection, null, null, null); long rowID=0; int idIndex =0; // cur.moveToFirst() ; while ( cur.moveToNext() ) { Log.d(TAG,"Picture #"+cnt+" ---begin---"); idIndex = cur.getColumnIndexOrThrow(Images.Media._ID); rowID = cur.getLong( idIndex ); Uri imageUri = Uri.withAppendedPath(extImagesUri, (new Long(rowID)).toString() ); Log.d(TAG, "imageUri is " + imageUri.toString() ); try { Bitmap bitmap = Images.Media.getBitmap( getContentResolver(), imageUri ); if (bitmap == null) { Log.d(TAG, "Sorry no bitmap today :("); Log.d(TAG,"Picture #"+cnt+" ---end-----"); cnt++; continue; } ByteArrayOutputStream bytes = new ByteArrayOutputStream(); if (bytes == null) { Log.d(TAG, "Sorry no ByteArrayOutputStream today :("); Log.d(TAG,"Picture #"+cnt+" ---end-----"); cnt++; continue; } bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes); imageData = bytes.toByteArray() ; Log.d(TAG,"len of data is " + imageData.length + " bytes"); // Release bitmap bitmap = null ; // // Do something with imageData // <SNIP> ... </SNIP> // release imageData imageData=null; if (bytes != null) { bytes.close(); } } catch (FileNotFoundException of) { Log.e(TAG,of.toString(),of); } catch (IOException ioe) { Log.e(TAG, ioe.toString(), ioe); } Log.d(TAG,"Picture #"+cnt+" ---end-----"); cnt++; } Log.d(TAG,"processImages()---EXIT----"); } When I run this code I get data fbytes or the first Image only, all the later Bitmap objects are returned as null by --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new Android 0.9 SDK beta! http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---