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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
#1

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

26.10.2015, 15:01. Просмотров 832. Ответов 8
Метки нет (Все метки)

Подскажите как сформировать массив ссылок на изображения из ресурсов проекта.
Необходимо для чтения изображения схем и дальнейшего их вывода в ListView.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив ссылок на изображения из ресурсов (Программирование Android):

Получить массив из ресурсов - Программирование Android
String names = getResources().getStringArray(R.array.names); без этой строчки приложения запускается, с ней нет. еклипс красным не...

Взять массив из ресурсов - Программирование Android
Как такой массив взять из getResources private static final String CONTENT = new String { "Раз", "Два", "Три",...

Как добавить в ArrayList массив из ресурсов? - Программирование Android
Возможно ли добавить в ArrayList<String> array_list = new ArrayList<String>(); массив из ресурсов? или только array_list.add ?

Вывод изображения из ресурсов - C++ WinAPI
Хотелось бы, чтобы на весь экран вывелась картинка, но этого не происходит. Картинку формата jpg загружал в ресурсы через обозреватель...

Вывод ссылок на изображения - MySQL
<? $query = "SELECT id_photos FROM `photo` where id_album='$id_album'";// гетом получаем id текущего альбома $res =...

Загрузка изображения bmp из ресурсов - C++ WinAPI
господа я поднимал конечно уже тему,заранее прошу прощение за нарушение правил,но там было не совсем то , что мне надо.А надо мне загрузить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2498 / 1943 / 606
Регистрация: 12.05.2014
Сообщений: 6,811
Завершенные тесты: 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);// первая картинка и так далее
1
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
26.10.2015, 18:13  [ТС] #3
а как можно получить bitmap из этого массива?
0
Pablito
2498 / 1943 / 606
Регистрация: 12.05.2014
Сообщений: 6,811
Завершенные тесты: 1
27.10.2015, 09:27 #4
ну первое, что пришло в голову - сделать
Java
1
Bitmap myBitmap = ((BitmapDrawable) drawable).getBitmap();
еще есть метод BitmapFactory.decodeResource() с разными входными параметрами, но я так не делал, поэтому х.з.
0
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
27.10.2015, 09:34  [ТС] #5
есть подозрение что пошел не тем путем, можешь подсказать как правильно решить задачу.
1. Необходимо пользователю предоставить ListView изображений из ресурсов.
2. Необходимо предоставить возможность пользователю масштабировать изображения.
В общем стандартная галлрея ограниченная моим массивом изображении из ресурсов.

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

Не по теме:

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

0
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 свои ресурсы.
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.10.2015, 17:33 #8
решение на базе webview делается за вечер. (при развитии проекта могут быть проблемы)

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

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

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

другой подход - почти Ваш. только берите не пример по обработке матрицы, а что-то рабочее в виде компонента. я только что затащил в проект TouchImageView, но Вам может лучше подойти PhotoView или ImageViewZoom например.
1
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 загнулся) хорошо что мне это не нужно.
Доделаю обязательно вернусь к этому вопросу, как все же работает стандартная галерея или это фальш и она выводить и масштабирует не реальные фотки с кучамегапиксельной камеры а лишь их образ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 19:09
Привет! Вот еще темы с ответами:

Показ случайного изображения из ресурсов - Visual Basic .NET
Кто знает как реализовать показ картинки из ресов случайной в picturebox?

Можно ли отображать изображения с других ресурсов? - HTML, CSS
Можно ли отображать изображения с других ресурсов? И как? Вот с этим кодом у меня не отображается: &lt;img...

Загрузка изображения из ресурсов в Image WPF - C# WPF
Ну никак не получается загрузить изображения из ресурса, всегда ошибка. Уже все что нашел в интернете проверил... Build Action -...

Программная загрузка изображения из ресурсов в Image WPF - C# WPF
Всем привет, знакомлюсь с C#, начал с WPF, пытаюсь программно загрузить картинку в Image, изображение является внедренным ресурсом, уже...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.10.2015, 19:09
Ответ Создать тему
Опции темы

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