为了在Android上显示图像文件,我想知道是否采用这种方式
我有一个问题,在android上显示图像~ 我将尝试将转换后的文件发送到ByteArray,并将其转换为单个输入流发送到android 我的计划是为了在Android上显示图像文件,我想知道是否采用这种方式,android,Android,我有一个问题,在android上显示图像~ 我将尝试将转换后的文件发送到ByteArray,并将其转换为单个输入流发送到android 我的计划是 文件转换为字节[](在服务器上) 为每个转换的文件添加分隔符。然后把它们放在盒子里 单响应。扩展流(在服务器上) 获取输入流(在android上) 使用分隔符,从InputStream获取一个each byteArray并将其转换为 使用BitmapFactory.decodeByteArray()的位图文件,但未保存它们 (关于android) 服
BitmapFactory.decodeByteArray()
的位图文件,但未保存它们
(关于android)OutputStream outputstream = response.getOutputStream();
imageDownload_fewfiles aa = new imageDownload_fewfiles();
DataOutputStream outputstream2 = new DataOutputStream(outputstream);
outputstream2.writeBytes("!@###!@###");
outputstream2.write(aa.image_files());
outputstream2.writeBytes("!@###!@###");
安卓:
InputStream inputStream = http.getInputStream();
DataInputStream dataInputStream = new DataInputStream(http.getInputStream());
这样可能吗??如果可能的话,我如何从inputStream获取每个字节数组
请给我一些建议。。我不想使用第三部分假设您正确获得了输入流
int length; // This should be get from the request.
byte[] array = new byte[length];
DataInputStream dataInputStream = new DataInputStream(inputStream);
dataInputStream.readFully(array);
假设您正确地获得了输入流
int length; // This should be get from the request.
byte[] array = new byte[length];
DataInputStream dataInputStream = new DataInputStream(inputStream);
dataInputStream.readFully(array);
谢谢~但是我怎样才能通过Tearray获得每个文件??因为每个文件都加载到单个流中byteArray@tokhi这取决于如何将文件放入流中,但一种简单的方法是传递表示每个文件长度的整数列表。然后,你可以用整数来分隔数组。我还认为发送每个文件的长度。但我将尝试使用sigle outputstream发送文本。所以,我认为分隔符需要知道每个文件和文本byteArray的长度。我弄错了吗?谢谢~但是我怎样才能通过tearray获得每个文件??因为每个文件都加载到单个流中byteArray@tokhi这取决于如何将文件放入流中,但一种简单的方法是传递表示每个文件长度的整数列表。然后,你可以用整数来分隔数组。我还认为发送每个文件的长度。但我将尝试使用sigle outputstream发送文本。所以,我认为分隔符需要知道每个文件和文本byteArray的长度。我弄错了吗?只要做一个循环,读取输入流中的数据块。将chunck添加到字节数组或直接保存到文件。在添加之前,请检查是否接收到分隔符(您可能只接收到分隔符的几个字节)。如果您首先发送字节数组的大小,则协议会简单得多。而不是分隔符。如果接收器首先接收字节数组的大小,那么在循环中读取与所示相同的字节就容易多了。为什么要从接收到的数据中生成位图?会消耗你很多内存。你打算用它们做什么?我想在adroid上显示图像。我使用过bitmapfactory.decodestream(),但似乎bitmpfactory.decodestream()的使用数量与文件数量一样多。。我觉得这样不好。所以,在我尝试发布我给你们的建议之前,我想得到一些建议,但你们并没有做出反应。此外,关于显示图像的内容也太少了。只需从输入流中读取数据块就可以了。将chunck添加到字节数组或直接保存到文件。在添加之前,请检查是否接收到分隔符(您可能只接收到分隔符的几个字节)。如果您首先发送字节数组的大小,则协议会简单得多。而不是分隔符。如果接收器首先接收字节数组的大小,那么在循环中读取与所示相同的字节就容易多了。为什么要从接收到的数据中生成位图?会消耗你很多内存。你打算用它们做什么?我想在adroid上显示图像。我使用过bitmapfactory.decodestream(),但似乎bitmpfactory.decodestream()的使用数量与文件数量一样多。。我觉得这样不好。所以,在我尝试发布我给你们的建议之前,我想得到一些建议,但你们并没有做出反应。此外,关于显示图像,您也讲得太少。