android开发利用AsyncHttpClient下载服务器文件

                // 服务器路径
                final String realPath = f.getLocation();
                // 本地路径
                final String path = DownloadUtil.getGroupFilePath(realPath);
                java.io.File file = new java.io.File(path);
                // 文件本地不存在,先下载到本地,再打开文件
                if (!file.exists()) {
                    String romoteUrl = Constants.API_WWW + Constants.API_WWW_SPLIT + f.getLocation();
                    AsyncHttpClient client = new AsyncHttpClient();
                    client.get(romoteUrl, new AsyncHttpResponseHandler() {
                        @Override
                        public void onStart() {
                            // called before request is started
                        }

                        @Override
                        public void onSuccess(int statusCode, Header[] headers, byte[] response) {
                            // called when response HTTP status is "200 OK"
                            if (statusCode == 200) {
                                BufferedOutputStream bos = null;
                                FileOutputStream fos = null;
                                java.io.File localFile = null;
                                try {
                                    localFile = new java.io.File(path);
                                    fos = new FileOutputStream(localFile);
                                    bos = new BufferedOutputStream(fos);
                                    bos.write(response);
                                } catch (Exception e) {
                                    e.printStackTrace();
                                } finally {
                                    if (bos != null) {
                                        try {
                                            bos.close();
                                        } catch (IOException e1) {
                                            e1.printStackTrace();
                                        }
                                    }
                                    if (fos != null) {
                                        try {
                                            fos.close();
                                        } catch (IOException e1) {
                                            e1.printStackTrace();
                                        }
                                    }
                                }
                            }
                            // 根据后缀名来判断打开什么文件
                            Intent intent = openFiles(path);
                            if (IntentUtil.isIntentAvailable(context, intent)) {
                                startActivity(intent);
                            } else {
                                showToast("请安装第三方预览软件,如WPS");

                            }
                        }

                        @Override
                        public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
                            // called when response HTTP status is "4XX" (eg. 401, 403, 404)
                        }

                        @Override
                        public void onRetry(int retryNo) {
                            // called when request is retried
                        }
                    });

利用AsyncHttpClient实现图片的上传与下载

http://blog.csdn.net/xinzheng_wang/article/details/38925731

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值