黑马程序员技术交流社区

标题: android--xUtils开发框架详析(下) [打印本页]

作者: Android_Robot    时间: 2016-7-20 11:42
标题: android--xUtils开发框架详析(下)
本帖最后由 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学习路线图——按此路线图学习月薪过万{ 火速收入}


作者: 吕婷婷老师    时间: 2016-7-20 11:57
沙发
作者: hcy8888    时间: 2016-7-20 17:37
怎么这么多android的东西
作者: 896575538    时间: 2016-7-20 22:22
号东西  多谢分享
作者: daikaisheng    时间: 2016-7-21 00:16
膜拜大神啊!!
作者: zhoubinjian    时间: 2016-7-21 07:51
好东西,谢谢分享
作者: Android_Robot    时间: 2016-7-22 09:28
hcy8888 发表于 2016-7-20 17:37
怎么这么多android的东西

Android潮啊 这么多Android似不似很开森啊 哈哈哈
作者: haochengjian    时间: 2016-7-22 22:18
沙发沙发
作者: sanmaovszhe    时间: 2016-7-23 00:08
别让自己后悔!
作者: 迷茫不堪的年纪    时间: 2016-7-23 01:11
这个帖子里的 基本都用了
作者: 申落土    时间: 2016-7-23 15:48
大神啊啊啊啊啊
作者: 龙大人    时间: 2016-7-23 22:49
认真学,别让自己后悔!
作者: Frank_Ms1ZR    时间: 2016-7-23 23:36
谢谢楼主分享
作者: blackhorse1    时间: 2016-7-26 22:56
有学霸在就是好,总能解决燃眉之急
作者: miqideliwu    时间: 2016-7-26 23:42
感谢楼主分享,学习。。。,一起加油
作者: 樱释空    时间: 2016-7-27 21:51
66楼主给力哈
作者: yezilail    时间: 2016-7-28 19:54
觉得论坛里大神好多啊!!!
作者: fzc123    时间: 2016-7-28 22:47
技术分与黑马币是个什么梗
作者: miqideliwu    时间: 2016-7-29 00:30
早晚会用到哈,谢谢
作者: 13182002757    时间: 2016-7-29 08:50
学习一下,谢谢分享
作者: 646721826    时间: 2016-7-29 17:12
嗯嗯我实话说我没看懂哈
作者: miqideliwu    时间: 2016-7-31 00:22
代码敲烂,键盘过万
作者: 修身丶丶丶    时间: 2016-8-1 11:02
每天保持好心情
作者: lyg0374    时间: 2016-8-2 07:19
为什么java基础区会又安卓啊
作者: 夜神月light    时间: 2016-8-4 20:00
收藏学习学习,感谢分享
作者: 811487754    时间: 2016-8-5 10:02
感谢分享,谢谢
作者: flyliou    时间: 2016-8-8 22:32
奋斗就在脚下,越努力,越幸运
作者: lyg0374    时间: 2016-8-9 08:36
nnn大大大大大大大
作者: 阿弥陀佛么么哒    时间: 2016-8-10 08:43
赞赞赞赞赞赞赞
作者: Android_Robot    时间: 2016-8-10 16:46

作者: 蔡永汪    时间: 2016-10-27 22:28
膜拜中~~~~~
作者: gyy    时间: 2016-10-28 21:52
谢谢分享
作者: yeshusheng    时间: 2016-10-28 23:20
收藏了,谢谢分享
作者: bbbbittersweet    时间: 2016-10-31 00:55
android--xUtils开发框架详析(下)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2