2017-01-30 2 views
0

Как изменить или преобразовать ImageView в объект или строку? Таким образом, я могу отправить это изображение как String в API.Как изменить или преобразовать ImageView в объект или строку?

Пример, у меня есть 4 ID ImageView из XML:

@+id/q1 
@+id/q2 
@+id/q3 
@+id/q4 

и я хочу, чтобы изменить все это imageviews быть строкой в ​​Java. Таким образом, я могу отправить их в API как JSON, как это:

{ 
    option_code: 'rp001o001', 
    option_value: 'Likuiditas dan keamanan investasi' 
    } 

option_code: 'rp001o001' является, что я В параметре получить от ImageView. Как это сделать?

спасибо.

+0

Вы хотите отправить «ImageView» или изображение из «ImageView»? Нет смысла отправлять ImageView. –

+0

отправить изображение и отдельный идентификатор параметра Imageview, если требуется в json – pkgrover

+0

логика у меня есть 1 вопрос с 4 ответами, каждый ответ - ImageView или ImageButton. Я хочу отправить каждое изображение с другим id в API как значение paramater «option_code» @VladMatvienko –

ответ

0

байт [] является лучшим способом для передачи данных от андроид телефон на сервер, Вы должны преобразовать изображение в байт [], проверьте ниже метод

// преобразование из растрового изображения в массив байтов

public byte[] getBytesFromBitmap(Bitmap bitmap) { 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(CompressFormat.JPEG, 70, stream); 
    return stream.toByteArray(); 
} 

// получить строку базы 64

String imgString = Base64.encodeToString(getBytesFromBitmap(someImg), 
         Base64.NO_WRAP); 

благодарственное для этого парня - https://stackoverflow.com/a/5333971/4741746

-1

просто преобразовать изображение в строку базы 64 и сохранить его на сервере и сделать наоборот, чтобы показать изображение в приложении позже

how to convert an image into base64 string

0

Сначала получить изображение как растровое изображение из ImageView и конвертировать их в base64 строку. Вот как вы это делаете:

BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable(); 
Bitmap bitmapOrg= drawable.getBitmap(); 
ByteArrayOutputStream bao = new ByteArrayOutputStream(); 
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao); 
byte [] ba = bao.toByteArray(); 
String ba1=Base64.encodeToString(ba,Base64.DEFAULT); 

Здесь ba1 - ваша строка изображения.

Смежные вопросы