什么是最好的方式来从网上下载文件编程在android中?

在我的应用程序从网上下载大量的文件,他们大约200Mb的文件(压缩)。 所以,任何人都可以告诉我最好的方式来下载文件。 其实我关心的是代码的performance。 请给我一个想法或一些代码,如果可能的话下载。 如何处理之间的错误和networking问题。

感谢你,Srinivas

Solutions Collecting From Web of "什么是最好的方式来从网上下载文件编程在android中?"

以下是我最近为此编写的一些代码:

try { URL u = new URL("http://your.url/file.zip"); InputStream is = u.openStream(); DataInputStream dis = new DataInputStream(is); byte[] buffer = new byte[1024]; int length; FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory() + "/" + "file.zip")); while ((length = dis.read(buffer))>0) { fos.write(buffer, 0, length); } } catch (MalformedURLException mue) { Log.e("SYNC getUpdate", "malformed url error", mue); } catch (IOException ioe) { Log.e("SYNC getUpdate", "io error", ioe); } catch (SecurityException se) { Log.e("SYNC getUpdate", "security error", se); } 

这下载文件并把它放在你的SD卡上。

你可以修改这个以适应你的需求。 🙂

我想指出,Android 2.3(API级别9)引入了一个名为DownloadManager的新系统服务。 如果你只支持2.3,那么你一定要使用它。 如果不是,您可以:

  1. 检查DownloadManager是否可用,如果是的话。 如果不是(Android <2.3),请自行下载文件,例如xil3所述。
  2. 根本不要使用DownloadManager ,如果你认为它太多的工作。 不过,我坚信你会受益于它的使用。