используя данные JSON в моем массиве gridview - PullRequest
0 голосов
/ 25 июля 2011

Я бездельничаю со своим собственным приложением галереи, которое загружает изображения (большие пальцы и полный размер) с веб-сервера.У меня есть информация об изображении, возвращенная из базы данных и закодированная как данные json.

{"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"]}

Я использую developer.android.com hello gridview в качестве справочного материала.Они используют URL, ссылающийся на локальные изображения.

МОИ ВОПРОСЫ.

  1. Должен ли я анализировать свои данные json в отдельные массивы, так как я буду использовать все данные в какой-то момент в моем приложении или я должен сохранитьвсе вместе?

  2. как заменить массив статических изображений, представленный ниже, на мои миниатюрные изображения?

массив статических изображений

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 Ответ

1 голос
/ 25 июля 2011

Лучший способ - определить класс, который имеет переменные-члены id, name, thumb, path.

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

Затем просто проанализируйте ваши массивы в ArrayList этого типа bject.

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

Вы можете вызвать метод add в myFooArray для добавления объекта foo:

myFooArray.add(new foo());

Чтобы ответить на вторую часть вашего вопроса, вы должны сослаться на элемент thumb в вашем массиве

mThumbIds[position] становится myFooArray[position].thumb

конечно, вам нужно будет загрузить изображение из файла, а не из ресурса, вы легко сможете найти пример этого, но для подсказки вы можете использовать что-то вроде setImageDrawable(Drawable.createFromPath(myFooArray[position].thumb);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...