2017-01-30 70 views
0

如何将ImageView更改或转换为对象或字符串?所以,我可以将这个imagview作为一个字符串发送给API。如何将ImageView更改或转换为对象或字符串?

例子,我有一个从XML 4 ID的ImageView:

@+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的得到paramater。如何让它成为可能?

谢谢。

+0

你想发送'ImageView',还是来自'ImageView'的图像?没有意义发送ImageView。 –

+0

发送图像和Imageview的分离参数ID如果需要json – pkgrover

+0

逻辑是我有4个答案的问题,每个答案是一个ImageView或ImageButton。我想发送每个具有不同ID的图像作为参数值“option_code”@VladMatvienko –

回答

0

的byte []的图像是从发送数据的最佳方式Android手机服务器,您需要将图像转换为字节[],查看以下方法

//从位图转换为字节数组

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

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是你的图像字符串。