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

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

Войти
Регистрация
Восстановить пароль
 
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
#1

Загрузка векторного изображения из внешней памяти - Программирование Android

26.09.2016, 16:55. Просмотров 126. Ответов 0
Метки нет (Все метки)

Доброго дня всем. Такая проблема возникла, уже весь мозг сломал. Согласно нынешней моде повсеместно перехожу на векторные изображения. Пока речь шла о ресурсах, все было нормально. Сконвертированные в AssetStudio svg файлы из InkScape отображаются отлично. Но вот возникла необходимость загрузить вектор с внешней памяти - и полный тупик.

Попробовал стандартную иконку в xml.
Код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
File file = new File(ROOT + path);
        if (!isExternalAvailable()) return null;
        try {
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            factory.setNamespaceAware(true);
            XmlPullParser parser = factory.newPullParser();
            if (file.exists()) {
                try {
                    FileInputStream is = new FileInputStream(file);
                    BufferedReader br = new BufferedReader(new FileReader(file));
                    String s = "";
                    while (br.readLine() != null) {
                        s = s + br.readLine();
                    }
                    parser.setInput(new StringReader(s));
                    is.close();
                }
                catch (FileNotFoundException e) {  
                       // вылезает ошибка
                      // org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT xmlns:android="h...@1:139 in  
                     //java.io.StringReader@326344b2) 
                    return null;
                }
            }

Какие-то проблемы с заголовком файла, как я понимаю. Добавил в файл:
XML
1
<?xml version="1.0" encoding="UTF-8" standalone="yes"
Вылезла новая ошибка: expected: name

Методы VectorDrawableCompat.createFromStream() и VectorDrawableCompat.createFromPath() выдают null.

Никто не сталкивался с таким вопросом?

Добавлено через 1 минуту
Да, в логах строки из файла считываются. Но метод VectorDrawableCompat.createFromXml - null/

Добавлено через 57 секунд
В Gradle добавлено:

Java
1
2
3
vectorDrawables.useSupportLibrary = true
 
compile 'com.android.support:appcompat-v7:24.2.1'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2016, 16:55     Загрузка векторного изображения из внешней памяти
Посмотрите здесь:
Очистка памяти на андроиде без внешней sd Android
Android Получить доступ к внешней карте памяти (Android 6)
Android Загрузка изображения
Android Загрузка изображения
Загрузка изображения Android
Загрузка изображения jpg.to Android
Загрузка изображения в imageview Android
Android RecyclerView.Adapter загрузка изображения
Загрузка изображения из интернета в imageview Android
Считать изображения из памяти Android
Android Загрузка изображения на стену vkontakte Android
Android Дополнительный функционал paint (загрузка изображения)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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