Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Evansir
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 4
#1

Создание описания для каждого изображения

01.08.2012, 21:39. Просмотров 631. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Помогите с таким моментом, написал некую маленькую программу которая после нажатия кнопки показывает случайную картинку из drawable.
Как сделать так, чтоб после нажатия на картинку отображалось ее описание ? Для каждой картинки уникальное ?
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2012, 21:39
Ответы с готовыми решениями:

Создание изображения на лету
Требуется на карте Google Maps размещать маркеры у которых в качестве иконок...

Создание описания сайта для ЯНДЕКСа
Никак не могу разобраться с описанием сайта при индексирование. Сниппеты в...

Дополнительные изображения вывод описания
Здравствуйте, вывожу дополнительные изображения в подробном описании новости,...

Вывод изображения как превью из полного описания новости DLE 9.7
Здравствуйте. Хочу изменить строение короткой новости. Должно получится так,...

Графика: Получение негатива отдельно для каждого цветового канала RGB изображения.
1) Получение негатива отдельно для каждого цветового канала RGB изображения....

6
@gent
16 / 16 / 2
Регистрация: 19.10.2009
Сообщений: 91
02.08.2012, 09:17 #2
Я так понимаю информация о картинке должна храниться в программе и после её закрытия
1. использовать название картинки как ID в базе данных. Использовать SQLite
2. Использовать класс SharedPreference также, как и в первом пункте.
0
Evansir
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 4
02.08.2012, 14:07  [ТС] #3
Спасибо за ответ!
Но описание к каждой картинке большое, по абзацу минимум. Закинул и в стринг.
Если идти такими путями то получается создавать кучу if else ?
0
@gent
16 / 16 / 2
Регистрация: 19.10.2009
Сообщений: 91
02.08.2012, 14:42 #4
А что мешает хранить в базе данных большой текст для картинки? Получаем картинку, берем её название, идем в базу, ищем её ID, получаем необходимый текст. Никаких if-else не понадобится, + база данных синхронизирована, что дает удобство в использовании в многопоточном приложении.
И как вы кстати закинули её описание? Точнее где храните описание?

Есть еще один вариант. Делаем коллекцию java.util.HashMap<String, String>. Далее при выборе картинки, берем её название (будет нашим ID) и добавляем в коллекцию.
будет это выглядеть где-то так:
Java
1
2
3
4
5
java.util.HashMap<Long, Checkpoint> imagesCollection = new java.util.HashMap<String, String>();
...
String imageName = ...
String imageDescription = ...
imagesHashMap.put(imageName,imageDescription);
Тут мы добавляем нашу информацию. Имя служит идентификатором (клюс), а описание картинки это значение.
Далее ели нам надо сохранить на диск это дело, то сериализуем всю коллекцию.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    private void writeImages() {
        FileOutputStream fos=null;
        ObjectOutputStream oos=null;
        try {
            fos = new FileOutputStream( "imagesCollection");
            oos = new ObjectOutputStream(fos);
            oos.writeObject(imagesCollection);
            oos.flush();
            oos.close();
        } catch (Exception e) {
            Logger.log("GPSService", e);
        }
    }
чтение при запуске приложения
Java
1
2
3
4
5
6
7
8
9
10
11
12
    private void readImages() {
        FileInputStream fis=null;
        ObjectInputStream ois=null;
            try { 
                fis = new FileInputStream("imagesCollection");
                ois = new ObjectInputStream(fis);
                imagesCollection = (java.util.HashMap<String, String>) ois.readObject();
                ois.close();
            } catch (Exception e) {
                Logger.log("GPSService", e);
            }
    }
Это более удобный вариант.
0
kvaka
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
02.08.2012, 15:39 #5
Как вариант можно создать xml-файл типа
XML
1
2
3
4
5
6
<items>
<item picture="picture1" text="text1" />
<item picture="picture2" text="text2" />
...
<item picture="picture100" text="text100" />
</items>
потом распарсить его и результат положить в ArrayList c экземплярами своего класса

Java
1
2
3
4
class MyClass{
String pictureName;
String text;
}
также как вариант с xml можно не распарсивать а сделать
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="pictures">
        <item >picture1</item>
        <item >picture2</item>
        <item >picture3</item>
         ...
        <item >picture100</item>
    </string-array>
 
    <string-array name="texts">
        <item >text1</item>
        <item >text2</item>
        <item >text3</item>
         ...
        <item >text100</item>
    </string-array>
</resources>
потом из этого текстовые массивы получить и, опять таки в ArrayList<MyClass> все циклически загнать.
Если что ресурс изображения из текста (названия файла) можно получить так:
Java
1
int picRes = getResources().getIdentifier(pictureName, "drawable", getPackageName());
0
Evansir
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 4
02.08.2012, 18:13  [ТС] #6
Большое спасибо, буду пробовать, что получится отпишусь, чтоб и другим помогло
0
@gent
16 / 16 / 2
Регистрация: 19.10.2009
Сообщений: 91
02.08.2012, 20:27 #7
Был глюк днем с сайтом. там у меня одна ошибочка в начале кода
Java
1
java.util.HashMap<Long, Checkpoint> imagesCollection = new java.util.HashMap<String, String>();
Тут естественно
Java
1
java.util.HashMap<String, String> imagesCollection = new java.util.HashMap<String, String>();
Просто копипастил со своего проекта
0
02.08.2012, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2012, 20:27

Создание фильтра для изображения
Помогите пожалуйста написать фильтр оттенок серого для изображения по клику...

Создание контейнера для изображения
Как создать контейнер для изображения, чтобы при масштабирования изображения...

Создание описания классов
Здраствуйте, у меня такой вопрос (речь об интерфесе самого visual 2008). Скажем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru