Я хочу создать приложение, которое будет отображать положение на каком-то плане этажа. Навигация реализована через Wi-Fi определенным образом, я это сделал, и теперь у меня проблема с отображением плана этажа.
Это может быть какой-то векторный формат, после некоторого серфинга в Интернете я решил, что это должен быть файл svg. Я нашел несколько решений, но это не работает для меня!
Есть возможность отображать файлы.svg, но только "простые" файлы. Он отлично работает только для файла в учебнике, но не для любого другого .svg
файла (, например, какого-то другого файла, который вы создадите с помощью Inkscape ).
Итак, я решил, что буду парсить .svg
файл, делать из него DOM, каким-то образом получать объекты и атрибуты и рисовать через OpenGL ES.
На первый взгляд, очень хорошее решение, но есть проблема. В Android есть какие-то "родные" библиотеки апача и когда я пытаюсь что-то сделать с батиком, выдает NoClassDefFoundError
, потому что ищет не в библиотеках батика, а в "родных" библиотеках.
Конечно, мы можем добавить исходный код в наш проект, взять только парсер батика для .svg
файлов и как-то его отредактировать, но работы много, с тем же успехом мы можем написать свой собственный парсер.
Пробной версии нет, но если мы посмотрим описание того, как это работает для svg файлов и андроида, мы увидим, что есть только растеризация таких файлов и все.
Есть ли решение лучше, чем написать собственный парсер? Кто-нибудь сталкивался с этой проблемой?