You have to call moveToNext or moveToPosition first before you can use the cursor.
On Apr 1, 2:13 pm, Bobbie <bobbie.st...@gmail.com> wrote: > The exception is: > > 04-01 14:09:30.274: ERROR/AndroidRuntime(719): > java.lang.RuntimeException: Failure delivering result ResultInfo > {who=null, request=1, result=-1, data=Intent { data=content://media/ > external/images/media/7 }} to activity {com.app.name/ > com.app.name.activity}: > android.database.CursorIndexOutOfBoundsException: Index -1 requested, > with a size of 1 > > What does that mean? > > On Apr 1, 9:44 am, Streets Of Boston <flyingdutc...@gmail.com> wrote: > > > > > I can't tell. > > > Debug your code and see which statement throws an exception and see > > what exception is thrown and note the values of the variables (are > > some set to null when they shouldn't, for example). > > > On Apr 1, 9:35 am, Bobbie <bobbie.st...@gmail.com> wrote: > > > > I tried this code, and every time it force closes. The Uri object > > > gives me the Uri, but I can't see why it's failing... Please help!!! > > > > Uri photoUri = intent.getData(); > > > Cursor cursor = getContentResolver().query(photoUri, new String[] > > > {MediaStore.Images.ImageColumns.DATA}, null, null, null); > > > String absoluteFilePath = cursor.getString(0); > > > > On Mar 26, 8:57 am, beachy <beachy.g...@gmail.com> wrote: > > > > > cheers, did not know that about Drawables will use Bitmaps then. > > > > > Thanks, > > > > Greg. > > > > > On Mar 25, 3:23 pm, Streets Of Boston <flyingdutc...@gmail.com> wrote: > > > > > > This Uri is the logical (not physical) path used by theimagecontent > > > > > provider. > > > > > If you want to get the physical path to the actual file on the SD- > > > > > card, query this Uri: > > > > > > Cursor cursor = query(photoUri, new String[] > > > > > {MediaStore.Images.ImageColumns.DATA}, null, null, null); > > > > > String absoluteFilePath = cursor.getString(0); > > > > > > Now, absoluteFilePath is the physical path to yourimage, which you > > > > > can use in Drawable.createFromPath > > > > > > Question: Why don't you create a Bitmap instead? > > > > > > ... > > > > > InputStream is = getContentResolver().openInputStream(photoUri); > > > > > Bitmap bm = BitmapFactory.decodeStream(is); > > > > > ... > > > > > is.close(); > > > > > > I ask this, because it is safer to cache Bitmaps instead of Drawables. > > > > > If you cache Drawables, you run the risk of memory leaks. Drawables > > > > > have handles to your activity and when your activity gets destroyed > > > > > while your Drawables are still cached, your activiy will never be > > > > > garbage collected --> memory leak. > > > > > Bitmaps don't have this problem. They are basically byte-arrays with > > > > > some behavior :). > > > > > > On Mar 25, 3:15 am, beachy <beachy.g...@gmail.com> wrote: > > > > > > > In some code I call this; > > > > > > Intent photoPickerIntent = > > > > > > new Intent > > > > > > (Intent.ACTION_PICK); > > > > > > > > > > > > photoPickerIntent.setType("image/*"); > > > > > > > > > > > > startActivityForResult(photoPickerIntent, > > > > > > 1); > > > > > > > then implement this method.... > > > > > > > protected void onActivityResult(int requestCode, int resultCode, > > > > > > Intent intent) > > > > > > { > > > > > > super.onActivityResult(requestCode, resultCode, > > > > > > intent); > > > > > > > if (resultCode == RESULT_OK) > > > > > > { > > > > > > Uri photoUri = intent.getData(); > > > > > > Log.d(TAG, "should be adding a photo"); > > > > > > if (photoUri != null) > > > > > > { > > > > > > > Log.d(TAG, "photo uri is not blank"); > > > > > > // do something with the content > > > > > > Uri > > > > > > //TODO figure out why this does not > > > > > > work!! > > > > > > Log.d(TAG, "the photo URI is " + > > > > > > photoUri.getPath()); > > > > > > Drawable thePic = Drawable.createFromPath > > > > > > (photoUri.getPath()); > > > > > > //thePic is Null > > > > > > if(thePic != null){ > > > > > > Log.d(TAG, "the pic has loaded"); > > > > > > myRecipe.addPic(thePic); > > > > > > > > > > > > ((RecipeAdapter)myListView.getAdapter > > > > > > ()).notifyDataSetChanged(); > > > > > > > } > > > > > > } > > > > > > } > > > > > > } > > > > > > > trying to get aimageand load it in to a drawable object. The Uri > > > > > > that is returned seems logical > > > > > > > 03-25 08:12:58.554: DEBUG/ConvertScaleScreen(174): the photo URI is > > > > > > / > > > > > > external/images/media/1 > > > > > > > but when i start up a shell with adb the file location or even the > > > > > > root drive does not exitst, am I missing something here? should the > > > > > > be > > > > > > a symbolic link on the file system?- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---