我必须使用json发送数据,并且必须使用json中的byte []发送图像。 现在,我可以使用以下代码行将位图转换为字节数组:

selectedImageBitmap.compress(Bitmap.CompressFormat.JPEG, 100,stream);
byte[] byteArray = stream.toByteArray();

但是我不能把这个字节数组放在Json中。 我正在使用android 2.1默认的Json对象。 当我尝试将byte []转换为JSONArray时,它给了我“内存不足”异常。

JSONArray jsonArray = new JSONArray();      
for(int i=0;i<byteArray.length;i++) {
    jsonArray.put(byteArray[i]);
}    

当我尝试将对象直接放在JsonObject中时,它在toString()中返回一个奇怪的十六进制字符串(可能是对象的内存位置)。

有人可以帮我这个忙吗? 有没有在json中放入byte []的标准方法?

PS:我最初尝试使用base64。 但这经常会导致内存不足异常,因为我必须发送和接收的图像很大,因此base64也很大!

===============>>#1 票数:2

对于大文件/图像,请尝试逐块发送数据。 创建图像的字节数组下次发送字节数组的小块,再发送下一个块,依此类推。

===============>>#2 票数:0

没有这样的方法可以接受字节尝试,并使用类型转换将字节转换为int值

JSONArray jsonArray = new JSONArray();      
for(int i=0;i<byteArray.length;i++) {
    jsonArray.put((int)byteArray[i]);
}

  ask by Khalil translate from so

未解决问题?本站智能推荐:

1回复

Android:从位图转换为Byte [] OutOfMemory错误

我尝试将保存在手机存储中的图像(.jpg)转换为位图,然后将此位图转换为byte [],以将该图像上传到数据库中。 但由于这里出现OutOfMemory错误而无法正常工作: 为什么?
1回复

Android OutOfMemory将图像字节数组转换为Drawable

我正在开发与Facebook和Gatlk连接的聊天应用程序,使用ASMACK API提取联系人和VCard,并在ListView中显示它们。 从BYTE ARRAY中的VCard获取联系人图像。 我需要将此字节数组转换为图像(位图或Drawable),但是在从图像字节数组创建Drawab
1回复

读取文件到byte []时出现OutOfMemory错误

我正在尝试读取byte []中的视频文件,然后对其进行加密。 较大的文件(即大于30 mb)正在发出内存不足异常。 这是我用来读取文件到byte []的代码: 这是我得到的错误: 我知道文件太大,但是必须有正确的方法。
1回复

将100个以上的字符串转换为字节数组时发生java.lang.OutOfMemoryError

首先,我了解关于java.lang.OutOfMemoryError和Bitmaps的问题已经被问过无数次了。 我还签出了“ 有效显示位图”页面。 我的用例: 我将两个不同大小的位图作为字符串存储在SQLite数据库中。 位图的第一个大小是屏幕宽度的50%,第二个大小是屏幕宽度的
2回复

Android内存不足异常存储大量字节

我正在使用android中的绘画应用程序。 目前,我正在使用撤消功能-我的想法是存储已更改像素的坐标和颜色。 我正在使用RGB来解决性能问题-因此将它们存储在字节数组中。 currentRGBPixelArray是包含旧的ARGB值的数组。 UpdatedRGBPixelArra
1回复

Android内存不足错误分配

我一直在玩Android的示例代码Bluetooth Chat 。 我正在考虑将其用作我自己的应用程序的基础,但我一直遇到内存不足错误。 现在,我将其设置为以相当快的速度从蓝牙设备读取大量数据。 该应用程序将接收到的字节数组更改为字符串,但是过一会儿我收到内存不足错误。 gc删除它创建的
1回复

将json字节数组图像转换为c#列表

JSON字串: 我的问题:如何将food_photo转换为列表? 仅供参考:我在课堂上使用public byte[] food_photo ,但执行列表时显示为null。
1回复

如何获取使用body以字节形式发送的编码数据并转换为JSON?

我正在使用UTF-8接收以下字节数组格式: 的RequestData的印刷的说明:<7b227573 65724944 223a2238 35303130 33353222 2c22686f 73706974 616c4163 636f756e 74223a22 30303031 3
1回复

Java Android-从JSON获取byteArray byte []

我有一个Json post服务,其中我必须传递2个整数参数 当我传递参数时,通过Fiddler2我可以看到该服务返回以下内容: 但是我无法将此字节数组放入我的asyncTask中。 我试图获取object.getJSONArray , object.getJSONObject和
1回复

Ksoap2 Android库元帅字节[]

我试图通过网络服务传递一个byte [],我需要整理该byte []。 到目前为止,这就是我所拥有的。 此方法在我创建的名为MarshallArray的类中,并实现Marshal 我用来创建此示例的示例是 我的问题是,第一种方法是如何访问byte []中的元素,因为它只能接收