1. 1.使用
 ShenBuLuoHttpImpl.getMHttpImpl(context).getAddressList(mod.getCouponCode(), new HttpAfter() {
                                @Override
public void afterSuccess(Result resultBean) {
                      //数据解析
                      Object list = resultBean.getResult();
                      KaQuanMod[] mlist = JsonUtils
                  .getObjectMapper().convertValue(
              list,
               KaQuanMod[].class);
                                    notifyDataSetChanged();

                                }

                                @Override
public void afterFail(Result resultBean) {
//mSwipeLayout.setRefreshing(false);
} @Override
public void afterError(Result resultBean) {
//mSwipeLayout.setRefreshing(false);
}
});
  1. 2.ShenBuLuoHttpImpl类
public class ShenBuLuoHttpImpl extends BaseHttpImpl {
private static ShenBuLuoHttpImpl mHttpImpl;//单例的接口处理类 private ShenBuLuoHttpImpl(Context con) {
super(con);
mContext = con;
} /**
* 获取接口处理类
*
* @param con
* @return
*/
public static ShenBuLuoHttpImpl getMHttpImpl(Context con) {
if (mHttpImpl == null) {
mHttpImpl = new ShenBuLuoHttpImpl(con);
}
return mHttpImpl;
}
  public void getAddressList(final HttpAfter afterHttp) {
  if (AppDataUtils.userId == null) {
   showToast("请登录");
   return;
  }
   new HttpHelper.Builder().toUrl(URLUtils.GET_ADDRESS)
.addParams("userId", AppDataUtils.userId)//用户ID
.addParams("token", AppDataUtils.token)
.executeGet(new AsyncHandlerTextBase() {
@Override
public void onSuccess(int statusCode, Header[] headers, String result) {
super.onSuccess(statusCode, headers, result);
                    //解析
final Result resultBean = JsonUtils.readValue(result, Result.class);
switch (Integer.valueOf(resultBean.getCode())) {
case URLUtils.RESULT_SUCCESS:
afterHttp.afterSuccess(resultBean);
break;
case URLUtils.RESULT_FAILED:
afterHttp.afterFail(resultBean);
//请求数据失败
showToast(resultBean.getReason());
break;
case URLUtils.RESULT_ERROR:
afterHttp.afterError(resultBean);
//服务器崩溃
showServerErrorMsg(resultBean);
break;
default:
// 其他情况处理,一般弹出原因
showOtherErrorMsg(resultBean);
break;
}
} @Override
public void onFailure(int statusCode, Header[] headers, String result, Throwable
throwable) {
showToast(mContext.getString(R.string.server_busy));
}
} ).build();
  }
}

  1. 3.HTTPHelper类
package com.puyuntech.sixcontry.http;

import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams; /**
* Created by Nicodelee on 15/6/15.
*/
public class HttpHelper {
private RequestParams params;
private String url;
private AsyncHttpResponseHandler responseHandler; public static class Builder { private String url = ""; private RequestParams params = null;
private AsyncHttpResponseHandler responseHandler = null; public Builder(){
} public Builder toUrl(String burl){
url = burl;
return this;
} public Builder addParams(String key, String value) {
if (params == null) {
params = new RequestParams();
}
params.put(key,value);
return this;
} public Builder executeGet( AsyncHttpResponseHandler responseHandler){
AsnyClient.get(url, params, responseHandler);
return this;
} public Builder executePost( AsyncHttpResponseHandler responseHandler){
AsnyClient.post(url, params, responseHandler);
return this;
} public HttpHelper build() {
return new HttpHelper(this);
}
} private HttpHelper(Builder builder) {
params = builder.params;
url = builder.url;
responseHandler = builder.responseHandler;
} }

第一个androidAPP项目总结—数据请求的更多相关文章

  1. 第一个androidAPP项目总结—ListView的上拉和下拉

    1.下拉刷新 需继承implements SwipeRefreshLayout.OnRefreshListener @Overridepublic void onRefresh() { new Wea ...

  2. 使用promise构建一个向服务器异步数据请求

    function getJSON(Url){ return new Promise((resolve,reject)=>{ request= new XMLHttpRequest(); requ ...

  3. vue2整个项目中,数据请求显示loading图

    一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...

  4. vue2整个项目中,数据请求显示loading图----------未完成阅读,码

    一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...

  5. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  6. 防抖与节流 & 若每个请求必须发送,如何平滑地获取最后一个接口返回的数据

    博客地址:https://ainyi.com/79 日常浏览网页中,在进行窗口的 resize.scroll 或者重复点击某按钮发送请求,此时事件处理函数或者接口调用的频率若无限制,则会加重浏览器的负 ...

  7. 对前端的一个H5项目的所思所想

    最近接触一个前端HTML5的项目,虽然我主做iOS,但曾经也徒手用html+css+js+php写过一个博客,当然表示无压力了.结果.现在的前端发展的速度真是快啊,项目中用到Jquery,reactJ ...

  8. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  9. VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求

    开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...

随机推荐

  1. 兄弟连王牌PHP课程送三重豪礼啦!

    兄弟连PHP就业办课程送三重豪礼啦! 惊喜一:报名9月23日班级,保障薪资直涨1000元! 9月报名学习,春节后就业,正是企业招聘的黄金高峰期,一年中拿到高薪最好的时节! 惊喜二:兄弟连云课堂900元 ...

  2. thinkphp excel txt文件上传实现

    <?php/************************************************************************************** ***  ...

  3. TCP\UDP链接的异同

    简单的说TCP与UDP的区别是有无连接状态.TCP是有连接状态的,而UDP没有,所以TCP是一种比较安全的通讯协议,而UDP则比较方便 TCP 127.0.0.1:1026 0.0.0.0:0 LIS ...

  4. JS对象与json字符串格式

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  5. mschedule 简单linux进程管理(树莓派)

    树莓派是神奇的机器,CPU和内存都少的可怜,但体积小功耗低,在上面搞些动搞些西其实也挺有意思,挺好玩的.装的是pidara,基本服务没有精简多少,先cat一下CPU和RAM. [able@raspi ...

  6. Redis系列(1)之安装

    Redis系列(1)之安装 由于项目的需要,最近需要研究下Redis.Redis是个很轻量级的NoSql内存数据库,它有多轻量级的呢,用C写的,源码只有3万行,空的数据库只占1M内存.它的功能很丰富, ...

  7. jQuery plugin

    SidebarJS http://makotot.github.io/sidebar/

  8. ASP.NET MVC 实现与SQLSERVER的依赖缓存

    原文:ASP.NET MVC 实现与SQLSERVER的依赖缓存 本文主要是为了了解ASP.NET MVC 实现与SQLSERVER的依赖缓存的功能,针对自己对于这方面知识的学习的过程的一个记录.由于 ...

  9. linux shell 终端中文乱码(转)

    方法一:修改/etc/sysconfig/i18n 文件把里面的LANG="en_US"改成 GB2312就可以了要重启一下机器不用重启的方法,直接# LANG="GB2 ...

  10. 【3】JAVA---地址App小软件(AddPanel.class)(表现层)

    添加地址信息界面. 年龄和地址必须是数字,否则会弹出窗口提示. 地址信息不能为空. /* * AddPanel.java * * Created on __DATE__, __TIME__ */ pa ...