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 the image content > 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 your image, 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 a image and 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? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---