Java 使用android异步http在android中下载大文件
我目前正在使用loopj下载非常大的文件(大小为千兆字节) 如果sd卡存在,我想将文件下载到sd卡上 在提供的标准示例中,文件似乎是在内部存储上下载的,并且只有在下载完成后才会放入外部存储Java 使用android异步http在android中下载大文件,java,android,loopj,Java,Android,Loopj,我目前正在使用loopj下载非常大的文件(大小为千兆字节) 如果sd卡存在,我想将文件下载到sd卡上 在提供的标准示例中,文件似乎是在内部存储上下载的,并且只有在下载完成后才会放入外部存储 File file = new File(Environment.getExternalStorageDirectory()); AsyncHttpClient httpClient = new AsyncHttpClient(); if (movie.getMovieUrl() != null) {
File file = new File(Environment.getExternalStorageDirectory());
AsyncHttpClient httpClient = new AsyncHttpClient();
if (movie.getMovieUrl() != null) {
handle = httpClient.get(context, movie.getMovieUrl(), new RangeFileAsyncHttpResponseHandler(file) {
@Override
public void onSuccess(int statusCode, Header[] headers, File file) {
if (null != listener) {
listener.onComplete();
}
}
@Override
public void onProgress(long downloadedBytes, long totalBytes) {
notification.updateProgress();
}
@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, File file) {
DownloadException error = new DownloadException(throwable);
if (null != error) {
listener.onError(error);
}
}
@Override
public void onCancel() {
if (movie.isDownloadPaused()) {
notification.pause();
}
else {
notification.remove();
if (null != listener) {
listener.onCancel();
}
}
}
});
}
如何将文件直接下载到外部存储器?请显示您的下载代码。@greenapps添加了它,与目前的示例代码非常相似。我看不到可以下载任何内容的代码<代码>文件文件=新文件(getSDCardStoragePath())代码>并且您没有在任何地方使用“文件”。没有人能看到getSDCardSoragePath()做什么和返回什么。您也没有告诉任何人。
httpClient.get(上下文,movie.getMovieUrl(),新的rangefileasynchtpresponsehandler(文件)
是负责下载的代码吗?我已经更新了示例以使其更加清晰。好的,我监督了。我做得好吗?请显示您的下载代码。@greenapps添加了它,与当前的示例代码非常相似。我没有看到任何可以下载任何内容的代码。文件文件=新文件(getSDCardStoragePath());
并且您没有在任何地方使用“file”。没有人可以看到getSDCardSoragePath()的作用和返回。您也没有告诉任何人。httpClient.get(上下文,movie.getMovieUrl(),new RangeFileAsyncHttpResponseHandler(文件)
下载的代码是否负责?我已经更新了示例以使其更清晰。好的,我监督了。我做得好吗?