安卓如何通过URL下载并计算进度?
安卓如何通过URL下载并计算进度?
这个问题已经有答案了:
我已经做了一个下载方法,它可以很好地工作。它需要一个String url
,并返回处理后的InputStream
,该流由XMLPullParser
处理。现在我想在下载中添加进度条。我已经找出可以在HttpURLConnection
上使用getContentLength()
,但我不知道如何计算进度条。
这是我的代码:
public static InputStream downloadUrl(String urlString) throws IOException { URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(15000); conn.setConnectTimeout(25000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.setUseCaches(true); conn.setRequestProperty("Content-Type", "application/xml; charset=utf-8"); conn.setRequestProperty("Accept", "application/xml"); conn.connect(); int size = conn.getContentLength(); InputStream stream = conn.getInputStream(); //calculate the progress return stream; }
谢谢!
admin 更改状态以发布 2023年5月21日