Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用android异步http在android中下载大文件_Java_Android_Loopj - Fatal编程技术网

Java 使用android异步http在android中下载大文件

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) {

我目前正在使用loopj下载非常大的文件(大小为千兆字节)

如果sd卡存在,我想将文件下载到sd卡上

在提供的标准示例中,文件似乎是在内部存储上下载的,并且只有在下载完成后才会放入外部存储

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(文件)
下载的代码是否负责?我已经更新了示例以使其更清晰。好的,我监督了。我做得好吗?