【问题标题】:Android: Is it possible to parse binary data AS it is coming down the network?Android:是否可以在网络上解析二进制数据?
【发布时间】:2011-12-13 01:47:45
【问题描述】:
不久前,我为一些二进制数据开发了一个解析器,当数据通过网络传输时,它会解析数据。重要的是,在开始解析之前,我们不必等待整个字节集下载完毕。这极大地提高了速度,因为它允许更多线程,我们能够在系统等待字节时做一些事情。
在 Android 上,这可以通过 Android HTTP 类实现吗?当一些字节可用时,我也想要大致相似的东西,调用回调,允许我在系统继续加载更多字节的同时解析这些字节。我已经使用 DefaultHttpClient 进行了一些工作,但不确定它是否支持我正在寻找的内容。
【问题讨论】:
标签:
android
http
httpwebrequest
webrequest
【解决方案1】:
当然。下载数据的标准模式通常如下所示:
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet(URL));
HttpResponse 有一个名为getContent 的方法,它返回一个InputStream。您可以read a few bytes,对该数据进行一些处理或排队处理,然后获取更多数据。根据需要重复。