Отображение файлов SVG в Android

Я хочу создать приложение, которое будет отображать положение на каком-то плане этажа. Навигация реализована через Wi-Fi определенным образом, я это сделал, и теперь у меня проблема с отображением плана этажа.

Это может быть какой-то векторный формат, после некоторого серфинга в Интернете я решил, что это должен быть файл svg. Я нашел несколько решений, но это не работает для меня!

  1. Библиотека svg -android

    Есть возможность отображать файлы.svg, но только "простые" файлы. Он отлично работает только для файла в учебнике, но не для любого другого .svgфайла (, например, какого-то другого файла, который вы создадите с помощью Inkscape ).

    Итак, я решил, что буду парсить .svgфайл, делать из него DOM, каким-то образом получать объекты и атрибуты и рисовать через OpenGL ES.

  2. Апачский батик

    На первый взгляд, очень хорошее решение, но есть проблема. В Android есть какие-то "родные" библиотеки апача и когда я пытаюсь что-то сделать с батиком, выдает NoClassDefFoundError, потому что ищет не в библиотеках батика, а в "родных" библиотеках.

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

  3. Крошечная линия

    Пробной версии нет, но если мы посмотрим описание того, как это работает для svg файлов и андроида, мы увидим, что есть только растеризация таких файлов и все.

Есть ли решение лучше, чем написать собственный парсер? Кто-нибудь сталкивался с этой проблемой?

25
задан H. Pauwelyn 13 December 2016 в 09:44
поделиться