A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Android_Robot 于 2016-10-27 14:31 编辑

   

android--xUtils开发框架详析(下



HttpUtils使用方法: 普通get方法

HttpUtils http = new HttpUtils();
http.send(HttpRequest.HttpMethod.GET, "http://www.lidroid.com", new RequestCallBack(){
        @Override public void onLoading(long total, long current, boolean isUploading) {
                testTextView.setText(current + "/" + total);
        }
       @Override
        public void onSuccess(ResponseInfo<String> responseInfo) {
                 textView.setText(responseInfo.result);
         }

        @Override
        public void onStart() {
        }

        @Override
       public void onFailure(HttpException error, String msg) {
       }
  }
);



使用HttpUtils上传文件 或者 提交数据 到服务器(post方法)

RequestParams params = new RequestParams();
params.addHeader("name", "value");
params.addQueryStringParameter("name", "value");

//只包含字符串参数时默认使用BodyParamsEntity,
// 类似于UrlEncodedFormEntity("application/x-www-form-urlencoded")。
params.addBodyParameter("name", "value");

//加入文件参数后默认使用MultipartEntity("multipart/form-data"),
// 如需"multipart/related",xUtils中提供的MultipartEntity支持设置subType为"related"。
// 使用params.setBodyEntity(httpEntity)可设置更多类型的HttpEntity(如:
// MultipartEntity,BodyParamsEntity,FileUploadEntity,InputStreamUploadEntity,StringEntity)。
// 例如发送json参数:params.setBodyEntity(new StringEntity(jsonStr,charset));

params.addBodyParameter("file", new File("path"));

...

HttpUtils http = new HttpUtils();
http.send(HttpRequest.HttpMethod.POST, "uploadUrl....", params, new RequestCallBack() {

@Override
public void onStart() {
     testTextView.setText("conn...");
}

@Override
public void onLoading(long total, long current, boolean isUploading) {
     if (isUploading) {
         testTextView.setText("upload: " + current + "/" + total);
     } else {
         testTextView.setText("reply: " + current + "/" + total);
     }
}

@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
     testTextView.setText("reply: " + responseInfo.result);
}

@Override
public void onFailure(HttpException error, String msg) {
     testTextView.setText(error.getExceptionCode() + ":" + msg);
}
});


使用HttpUtils下载文件:
  • 支持断点续传,随时停止下载任务,开始任务

HttpUtils http = new HttpUtils();
HttpHandler handler = http.download(
                "http://apache.dataguru.cn/httpcomponents/httpclient/source/httpcomponents-client-4.2.5-src.zip",
                "/sdcard/httpcomponents-client-4.2.5-src.zip", true,
                // 如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANGE时将从新下载。 true,
                // 如果从请求返回信息中获取到文件名,下载完成后自动重命名。 new RequestCallBack() {


            @Override
            public void onStart() {
                testTextView.setText("conn...");
            }
            @Override
            public void onLoading(long total, long current, boolean isUploading) {
                testTextView.setText(current + "/" + total);
            }
            @Override
            public void onSuccess(ResponseInfo<File> responseInfo) {
                testTextView.setText("downloaded:" + responseInfo.result.getPath());
            }
            @Override
            public void onFailure(HttpException error, String msg) {
                testTextView.setText(msg);
            }
        });
        ...
        //调用cancel()方法停止下载 handler.cancel();
        ...


【强荐!】2016年最新Android学习路线图——按此路线图学习月薪过万{ 火速收入}

33 个回复

正序浏览
android--xUtils开发框架详析(下)
回复 使用道具 举报
收藏了,谢谢分享
回复 使用道具 举报
gyy 中级黑马 2016-10-28 21:52:05
33#
谢谢分享
回复 使用道具 举报
膜拜中~~~~~
回复 使用道具 举报
回复 使用道具 举报
赞赞赞赞赞赞赞
回复 使用道具 举报
nnn大大大大大大大
回复 使用道具 举报
奋斗就在脚下,越努力,越幸运
回复 使用道具 举报
感谢分享,谢谢
回复 使用道具 举报
收藏学习学习,感谢分享
回复 使用道具 举报
为什么java基础区会又安卓啊
回复 使用道具 举报
每天保持好心情
回复 使用道具 举报
代码敲烂,键盘过万
回复 使用道具 举报
嗯嗯我实话说我没看懂哈
回复 使用道具 举报
学习一下,谢谢分享
回复 使用道具 举报
早晚会用到哈,谢谢
回复 使用道具 举报
技术分与黑马币是个什么梗
回复 使用道具 举报
yezilail 来自手机 中级黑马 2016-7-28 19:54:35
18#
觉得论坛里大神好多啊!!!
回复 使用道具 举报
66楼主给力哈
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马