Как проанализировать векторную информацию, извлеченную из сервера, для просмотра? - PullRequest
0 голосов
/ 15 ноября 2018

В общем случае векторные отрисовки компилируются и получают доступ к их идентификаторам во время выполнения.

Мой проект состоит из извлечения изображений с сервера. Сейчас я делаю это для файлов PNG, но я бы попробовал это с векторами ".xml".

Я могу загрузить их, но не могу разобрать их в рисованном виде, чтобы показать их в представлениях.

Как я могу сделать это с помощью набора байтов, представляющих ресурсы векторов и разбирающих их в drawables?

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

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Если вы можете получить доступ к изображению с сервера через URL-адрес, используйте Glide , чтобы загрузить его для просмотра.При этом вам не нужно загружать изображение в свое хранилище, прежде чем использовать его в ImageView.Однако, если вы все еще хотите получить изображение в виде байтового массива и отобразить его в виде, используйте фрагмент кода ниже ...

Bitmap bm = BitmapFactory.decodeFile("/path/to/yourimage.jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object   
byte[] b = baos.toByteArray(); //This is the image byte
String encodedImage = Base64.encodeToString(b, Base64.DEFAULT); //Encoded string

Кроме того, вы можете преобразовать строку в Bitmapа затем передайте его вашему ImageView.

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap bmp= BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(bmp);

Дайте мне знать, если у вас есть какие-либо вопросы по этому поводу, я был бы рад помочь.

0 голосов
/ 15 ноября 2018

Метод inflate может быть полезен, но вы можете использовать стороннюю библиотеку: androidsvg . Не воспроизводите колесо, если это возможно.

...