如何将ImageView更改或转换为对象或字符串?

时间:2017-01-30 06:26:15

标签: android object imageview

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

例如,我有来自xml的4个id imageview:

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

我希望将所有这些图像视图更改为Java中的字符串。所以,我可以将它们作为JSON发送给API:

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

option_code: 'rp001o001'是我从ImageView获得的参数。如何使它成为可能?

谢谢。

3 个答案:

答案 0 :(得分:0)

byte []是从android手机向服务器发送数据的最佳方式,你需要将Image转换为byte []检查以下方法

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

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 :(得分:0)

首先从imageview获取图像作为位图并将其转换为base64字符串。这是你如何做到的:

var i = 0 
const outerFunc = () => {
  return new Promise(resolve => {
    if (i < 3) {
      i++
      const innerFunc = () => {
        return new Promise(resolve => {
          return log.asyncCall().then(lg => {
            if (lg) {
              // some logic
            } else {
              resolve()
            }
          }).then(() => {
            // continue iterating innerFunc()
            return innerFunc();
          });
        })
      };
      // first iteration innerFunc()
      return innerFunc().then(() => {
        // once innerFunc() is complete, reiterate outerFunc()
        return outerFunc();
      });
    } else {
      resolve();
    }
  });  
}

这里ba1是你的图像字符串。

答案 2 :(得分:-1)

只需将您的图片转换为基本的64字符串并将其存储在您的服务器中,然后反过来在您的应用中显示该图片

how to convert an image into base64 string