Форум программистов, компьютерный форум CyberForum.ru

Массив ссылок на изображения из ресурсов - Android

Войти
Регистрация
Восстановить пароль
 
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
26.10.2015, 15:01     Массив ссылок на изображения из ресурсов #1
Подскажите как сформировать массив ссылок на изображения из ресурсов проекта.
Необходимо для чтения изображения схем и дальнейшего их вывода в ListView.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
26.10.2015, 15:13     Массив ссылок на изображения из ресурсов #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
arrays.xml заводим массив (названия файлов подставить свои)
XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="myDrawables">
        <item>@drawable/ic_add_white_24dp</item>
        <item>@drawable/ic_close_white_24dp</item>
    </array>
</resources>
доступаемся к массиву
Java
1
2
        TypedArray images = getResources().obtainTypedArray(R.array.myDrawables);
Drawable drawable = images.getDrawable(0);// первая картинка и так далее
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
26.10.2015, 18:13  [ТС]     Массив ссылок на изображения из ресурсов #3
а как можно получить bitmap из этого массива?
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
27.10.2015, 09:27     Массив ссылок на изображения из ресурсов #4
ну первое, что пришло в голову - сделать
Java
1
Bitmap myBitmap = ((BitmapDrawable) drawable).getBitmap();
еще есть метод BitmapFactory.decodeResource() с разными входными параметрами, но я так не делал, поэтому х.з.
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
27.10.2015, 09:34  [ТС]     Массив ссылок на изображения из ресурсов #5
есть подозрение что пошел не тем путем, можешь подсказать как правильно решить задачу.
1. Необходимо пользователю предоставить ListView изображений из ресурсов.
2. Необходимо предоставить возможность пользователю масштабировать изображения.
В общем стандартная галлрея ограниченная моим массивом изображении из ресурсов.

Добавлено через 57 секунд
Изображения планируется грузить схемы(чертежи), есть только в формате jpg.
Паблито
27.10.2015, 09:39
  #6

Не по теме:

я так сходу ничего и не подскажу, а сочинять не хочется )
подождем монстров разработки

Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
27.10.2015, 09:50  [ТС]     Массив ссылок на изображения из ресурсов #7
Речь не идет о коде, а о концепции решения не может оно быть на столько геморным.

1. Задача по нормализации изображения решена, проверенно работает.
http://developer.android.com/intl/ru...ad-bitmap.html
2. Формирование списка из нормализованных изображений, задача в процессе.
3. Масштабирование изображения, шикарный пример по обработке матрицы изображения ч/з слушателя ScaleGestureDetector.SimpleOnScaleGestureListener
http://www.c-sharpcorner.com/UploadF...android-using/.
Частично решена т.к. после выполнения п.1 при масштабировании мелкие выноски на чертеже сложно разобрать.
P.S. Вариант http://habrahabr.ru/sandbox/42926/ с WebView не рассматривался т.к. не понятно как грузить вместо URL свои ресурсы.
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.10.2015, 17:33     Массив ссылок на изображения из ресурсов #8
решение на базе webview делается за вечер. (при развитии проекта могут быть проблемы)

да, чертежи, как и их превью, должны быть не в ресурсах, а ИЛИ в assets, или вообще на внешнем ресурсе, в любой папке системы. для отображения Вам надо просто знать точный полный путь до.

самый простой путь: делаете тупое web-решение по Вашей задаче. проверяете, что бы оно все работало как надо в эмуляторе хрома. потом переносите в android, поправляете пути для правильного отображения.

если картинки критично должны быть из ресурсов - ну можно их копировать как файлы в файловую систему, и дальше как описано выше.

другой подход - почти Ваш. только берите не пример по обработке матрицы, а что-то рабочее в виде компонента. я только что затащил в проект TouchImageView, но Вам может лучше подойти PhotoView или ImageViewZoom например.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 19:09     Массив ссылок на изображения из ресурсов
Еще ссылки по теме:

Android Использование ресурсов в jar
Android Перебор id ресурсов в цикле
Android Использование ресурсов классами
Android Установка ресурсов от строки
Android Загрузка ресурсов из модуля

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

Или воспользуйтесь поиском по форуму:
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
27.10.2015, 19:09  [ТС]     Массив ссылок на изображения из ресурсов #9
Задачи 1 и 2 решены. Момент по формированию файлового хранилища чертежей пока не рассматривал т.к. задача тривиальная(скопировал, сформировал масивы и алга).
Задача 2 решена с помощью примера http://www.androidhive.info/2012/02/...yout-tutorial/, передалал для ListView.
Класс для формирования ListView:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class AndroidGridLayoutActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview);
 
        ListView myList = (ListView)findViewById(R.id.lvImages);
        myList.setAdapter(new ImageAdapter(this));
        myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
 
                // Sending image id to FullScreenActivity
                Intent i = new Intent(getApplicationContext(), FullImageActivity.class); //запускаем активность которая //грузит полное изображение
                // passing array index
                i.putExtra("id", position);
                startActivity(i);
            }
        });
    }
}
Задача 3 вывод полноценного изображения, в этой активности использую класс какого то индуса TouchImageView который позволяет масштабировать изображение рассматривать его, но блин эта зараза естественно загибается Out of Memory если скормить ей jpg 300kB м/б и разрешением 1250*1500.


Вы правы масштабируемость критична.

Добавлено через 50 минут
Спасибо за наводку на PhotoView это то что доктор прописал.
Протестил чертежи читает достойно без потери качества нет необходимости велосипед изобретать)))
Ложка дегтя, попытался скормить jpg 5 mb 5700 на 2900 PhotoView загнулся) хорошо что мне это не нужно.
Доделаю обязательно вернусь к этому вопросу, как все же работает стандартная галерея или это фальш и она выводить и масштабирует не реальные фотки с кучамегапиксельной камеры а лишь их образ?
Yandex
Объявления
27.10.2015, 19:09     Массив ссылок на изображения из ресурсов
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru