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的东西
回复 使用道具 举报
号东西  多谢分享
回复 使用道具 举报
膜拜大神啊!!
回复 使用道具 举报
zhoubinjian 来自手机 金牌黑马 2016-7-21 07:51:04
地板
好东西,谢谢分享
回复 使用道具 举报
hcy8888 发表于 2016-7-20 17:37
怎么这么多android的东西

Android潮啊 这么多Android似不似很开森啊 哈哈哈
回复 使用道具 举报
沙发沙发
回复 使用道具 举报
别让自己后悔!
回复 使用道具 举报
这个帖子里的 基本都用了
回复 使用道具 举报
大神啊啊啊啊啊
回复 使用道具 举报
认真学,别让自己后悔!
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
有学霸在就是好,总能解决燃眉之急
回复 使用道具 举报
感谢楼主分享,学习。。。,一起加油
回复 使用道具 举报
66楼主给力哈
回复 使用道具 举报
yezilail 来自手机 中级黑马 2016-7-28 19:54:35
17#
觉得论坛里大神好多啊!!!
回复 使用道具 举报
技术分与黑马币是个什么梗
回复 使用道具 举报
早晚会用到哈,谢谢
回复 使用道具 举报
学习一下,谢谢分享
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马