0

I am messing around with my own gallery app that loads images (thumbs and full size) from a webserver. I have my image info returned from a database and encoded as json data.

{"id":["1","2","3"],"name":["Dragon","Butterfly","Tattoo"],"thumb":["thm_polaroid.jpg","thm_default.jpg","thm_enhanced-buzz-9667-1270841394-4.jpg"],"path":["polaroid.jpg","default.jpg","enhanced-buzz-9667-1270841394-4.jpg"]}

I am using the developer.android.com hello gridview tutorial as my reference. They are using a url referencing local images.

MY QUESTIONS.

  1. Should I parse my json data into separate arrays since I will be using all of the data at some point in my app or should I keep it all together?

  2. how can I replace the static image array found below with my thumbnail images?

Static Image array

private Integer[] mThumbIds = {
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7,
        R.drawable.sample_0, R.drawable.sample_1,
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7,
        R.drawable.sample_0, R.drawable.sample_1,
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7
};

1 Answer 1

1

The best way is to definea class that has member variables id,name,thumb,path.

public class foo{
    public int id;
    public String name;
    public String thumb;
    public String path;
}

Then just parse your arrays into an ArrayList of this bject type.

ArrayList<foo> myFooArray = new ArrayList<foo>();

You can call the add method on the myFooArray to append a foo object:

myFooArray.add(new foo());

To answer the second part of your question you would reference the thumb member of the object in your array

mThumbIds[position] becomes myFooArray[position].thumb

of course you will need to load the image from file rather than resource, you should easily be able to find an example of this but for a clue you can use something like setImageDrawable(Drawable.createFromPath(myFooArray[position].thumb);

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.