I see that you already received an answer for this in another thread. On Nov 23, 12:39 pm, JasonMP <hyperje...@gmail.com> wrote: > I implemented a bit of code at the end there before you recycle the > bitmap to open a fileoutput stream and write the image to the /data/ > data/<package>/file directory and save it there after the scaling. > What I need to figure out is how to grab that images URI so that I can > bind it to a simpleCursorAdapter. Does the image even have a URI > after I place it into the apps file dir? or should I instead of > copying it to the file dir just reference the original image on the > sdcard? > > On Nov 23, 11:23 am, Mihai Fonoage <fonoag...@gmail.com> wrote: > > > > > Happy it does. I posted a very brief description of the code at the > > beginning of the blog; that, together with code comments should help a > > bit. Let me know if you have any questions. > > > Mihai Fonoage > > > On Nov 23, 10:52 am, Jason Mallet-Prevost <hyperje...@gmail.com> > > wrote: > > > > Mihai, > > > > It works! Like a charm too. Thanks for your help on this. I'll have to > > > tinker around with it and see how it works exactly. > > > > On Mon, Nov 23, 2009 at 10:27 AM, Mihai Fonoage <fonoag...@gmail.com> > > > wrote: > > > > No, you can take that line out (I updated the code with this change). > > > > Thanks for noticing that. > > > > > Mihai Fonoage > > > > > On Nov 23, 10:04 am, Jason Mallet-Prevost <hyperje...@gmail.com> > > > > wrote: > > > > > Do I need to be including any other classes for this to run? What is > > > > > a > > > > > PuzzleView? Is that something in Android 2.0? > > > > > > On Mon, Nov 23, 2009 at 9:59 AM, Jason Mallet-Prevost > > > > > <hyperje...@gmail.com>wrote: > > > > > > > Hi Mihai, > > > > > > > I have an HTC G1 running Android 1.6. I'm working on getting your > > > > > > new > > > > code > > > > > > implemented this morning. I'll let you know how it goes. And thank > > > > you. > > > > > > > On Mon, Nov 23, 2009 at 7:56 AM, Mihai Fonoage <fonoag...@gmail.com > > > > >wrote: > > > > > > >> Hi Jason, > > > > > > >> Have you tried the updated version of my code (http:// > > > > > >> mihaifonoage.blogspot.com/2009/11/displaying-images-from-sd-card- > > > > > >> in.html< > > > >http://mihaifonoage.blogspot.com/2009/11/displaying-images-from-sd-ca...>) > > > > > >> ? I am curious if you'll encounter the same problem with it. > > > > > >> I am still using MediaStore, so you might. It would also be > > > > > >> interesting to know what is wrong with the above code. I remember > > > > > >> getting the same behavior on the emulator once, but I deleted the > > > > > >> AVD, > > > > > >> created a new one, and could not reproduce it afterwards. > > > > > > >> By the way, what phone are you using, and what version of the SDK > > > > > >> do > > > > > >> you have on it? > > > > > > >> Mihai Fonoage > > > > > > >> On Nov 22, 1:38 pm, JasonMP <hyperje...@gmail.com> wrote: > > > > > >> > Hello, I'm testing some code from a demo found in a forum and I'm > > > > > >> > getting some strange results. My goal is to be able to allow > > > > > >> > users > > > > to > > > > > >> > access the pictures on their device to choose an avatar/logo. > > > > > >> > This > > > > > >> > code run flawlessly except that I only get a handful of images on > > > > the > > > > > >> > phone. And its not even always the same images. Whats more is > > > > > >> > that > > > > > >> > it loads those images into a gridview and repeats them for what > > > > looks > > > > > >> > like a number of times equal to the actual number of images that > > > > > >> > are > > > > > >> > on the device. And on top of that if I scroll down the through > > > > > >> > the > > > > > >> > pictures, and scroll back up, it reorders the pictures from what > > > > they > > > > > >> > were previously. Each time I load the app the pictures seem to > > > > > >> > be > > > > > >> > different as well. I have around 400 pictures stored on my > > > > > >> > phone, > > > > and > > > > > >> > thats what I'm using to test. If someone could shed some light > > > > > >> > on > > > > > >> > this for me that would be great. This is my first time using a > > > > > >> > URI > > > > to > > > > > >> > access content to I'm not sure where to start troubleshooting > > > > > >> > this > > > > > >> > one. > > > > > > >> > public class gallery extends Activity { > > > > > > >> > /** > > > > > >> > * Cursor used to access the results from querying for > > > > > >> > images on > > > > > >> > the SD card. > > > > > >> > */ > > > > > >> > private Cursor cursor; > > > > > >> > /* > > > > > >> > * Column index for the Thumbnails Image IDs. > > > > > >> > */ > > > > > >> > private int columnIndex; > > > > > > >> > @Override > > > > > >> > public void onCreate(Bundle savedInstanceState) { > > > > > >> > super.onCreate(savedInstanceState); > > > > > >> > setContentView(R.layout.gallery); > > > > > > >> > // Set up an array of the Thumbnail Image ID column we > > > > > >> > want > > > > > >> > String[] projection = {MediaStore.Images.Thumbnails._ID}; > > > > > >> > // Create the cursor pointing to the SDCard > > > > > >> > cursor = managedQuery > > > > > >> > ( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, > > > > > >> > projection, // Which columns to return > > > > > >> > null, // Return all rows > > > > > >> > null, > > > > > >> > MediaStore.Images.Thumbnails.IMAGE_ID); > > > > > >> > // Get the column index of the Thumbnails Image ID > > > > > >> > columnIndex = cursor.getColumnIndexOrThrow > > > > > >> > (MediaStore.Images.Thumbnails._ID); > > > > > > >> > GridView sdcardImages = (GridView) > > > > findViewById(R.id.sdcard); > > > > > >> > sdcardImages.setAdapter(new ImageAdapter(this)); > > > > > > >> > // Set up a click listener > > > > > >> > sdcardImages.setOnItemClickListener(new > > > > OnItemClickListener() > > > > > >> > { > > > > > >> > public void onItemClick(AdapterView parent, View v, > > > > > >> > int > > > > > >> > position, long id) { > > > > > >> > // Get the data location of the image > > > > > >> > String[] projection = > > > > {MediaStore.Images.Media.DATA}; > > > > > >> > cursor = managedQuery > > > > > >> > ( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, > > > > > >> > projection, // Which columns to return > > > > > >> > null, // Return all rows > > > > > >> > null, > > > > > >> > null); > > > > > >> > columnIndex = cursor.getColumnIndexOrThrow > > > > > >> > (MediaStore.Images.Media.DATA); > > > > > >> > cursor.moveToPosition(position); > > > > > >> > // Get image filename > > > > > >> > String imagePath = cursor.getString(columnIndex); > > > > > >> > // Use this path to do further processing, i.e. > > > > > >> > full > > > > > >> > screen display > > > > > >> > } > > > > > >> > }); > > > > > >> > } > > > > > > >> > /** > > > > > >> > * Adapter for our image files. > > > > > >> > */ > > > > > >> > private class ImageAdapter extends BaseAdapter { > > > > > > >> > private Context context; > > > > > > >> > public ImageAdapter(Context localContext) { > > > > > >> > context = localContext; > > > > > >> > } > > > > > > >> > public int getCount() { > > > > > >> > return cursor.getCount(); > > > > > >> > } > > > > > >> > public Object getItem(int position) { > > > > > >> > return position; > > > > > >> > } > > > > > >> > public long getItemId(int position) { > > > > > >> > return position; > > > > > >> > } > > > > > >> > public View getView(int position, View convertView, > > > > ViewGroup > > > > > >> > parent) { > > > > > >> > ImageView picturesView; > > > > > >> > if (convertView == null) { > > > > > >> > picturesView = new ImageView(context); > > > > > >> > // Move cursor to current position > > > > > >> > cursor.moveToPosition(position); > > > > > >> > // Get the current value for the requested column > > > > > >> > int imageID = cursor.getInt(columnIndex); > > > > > >> > // Set the content of the image based on the > > > > provided > > > > > >> > URI > > > > > >> > picturesView.setImageURI(Uri.withAppendedPath( > > > > > > >> > MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, "" + > > > > > >> > imageID)); > > > > > >> > picturesView.setScaleType > > > > > >> > (ImageView.ScaleType.FIT_CENTER); > > > > > >> > picturesView.setPadding(8, 8, 8, 8); > > > > > >> > picturesView.setLayoutParams(new > > > > GridView.LayoutParams > > > > > >> > (100, 100)); > > > > > >> > } > > > > > >> > else { > > > > > >> > picturesView = (ImageView)convertView; > > > > > >> > } > > > > > >> > return picturesView; > > > > > >> > } > > > > > >> > } > > > > > > >> > } > > > > > > >> -- > > > > > >> 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<android-developers%2Bunsubs > > > > > >> cr...@googlegroups.com><android-developers%2Bunsubs > > > > cr...@googlegroups.com> > > > > > >> For more options, visit this group at > > > > > >>http://groups.google.com/group/android-developers?hl=en > > > > > -- > > > > You received this > > ... > > read more »
-- 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