<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      NoHttp封裝--02 自定義請求

      bean實體類請求:

      1.bean

       1 import java.io.Serializable;
       2 import com.alibaba.fastjson.annotation.JSONField;
       3 
       4 public class UserInfo implements Serializable {
       5     private static final long serialVersionUID = 145641645L;
       6 
       7     @JSONField(name = "data")
       8     private String data;
       9     @JSONField(name = "error")
      10     private int error;
      11     @JSONField(name = "msg")
      12     private String msg;
      13 
      14     public UserInfo() {
      15         super();
      16     }
      17 
      18     public UserInfo(String data, int error, String msg) {
      19         super();
      20         this.data = data;
      21         this.error = error;
      22         this.msg = msg;
      23     }
      24     public String getData() {
      25         return data;
      26     }
      27     public void setData(String data) {
      28         this.data = data;
      29     }
      30     public int getError() {
      31         return error;
      32     }
      33     public void setError(int error) {
      34         this.error = error;
      35     }
      36 
      37     public String getMsg() {
      38         return msg;
      39     }
      40     public void setMsg(String msg) {
      41         this.msg = msg;
      42     }
      43 
      44     public boolean isSucceed() {
      45         return 1 == error;
      46     }
      47 
      48 }

      2.針對bean的request

       1 import com.alibaba.fastjson.JSON;
       2 import com.yolanda.nohttp.Headers;
       3 import com.yolanda.nohttp.JsonObjectRequest;
       4 import com.yolanda.nohttp.RequestMethod;
       5 import com.yolanda.nohttp.RestRequest;
       6 import com.yolanda.nohttp.StringRequest;
       7 import com.yolanda.nohttptest.bean.UserInfo;
       8 
       9 public class UserInfoRequest extends RestRequest<UserInfo> {
      10 
      11     public UserInfoRequest(String url, RequestMethod requestMethod) {
      12         super(url, requestMethod);
      13     }
      14     public UserInfoRequest(String url) {
      15         super(url);
      16     }
      17     @Override
      18     public String getAccept() {
      19         return JsonObjectRequest.ACCEPT;
      20     }
      21     @Override
      22     public UserInfo parseResponse(String url, Headers responseHeaders, byte[] responseBody) {
      23         UserInfo info = null;
      24         String string = StringRequest.parseResponseString(url, responseHeaders, responseBody);
      25         try {
      26             info = JSON.parseObject(string, UserInfo.class);
      27         } catch (Exception e) {
      28             info = new UserInfo();
      29         }
      30         return info;
      31     }
      32 }

       

      3.具體在activity中使用:

       1 public class ObjectActivity extends Activity implements View.OnClickListener {
       2 
       3     private final int NOHTTP_LOGIN = 0x01;
       4     private final int NOHTTP_LOGOUT = 0x02;
       5 
       6     private TextView tvResult;
       7 
       8     @Override
       9     protected void onCreate(Bundle savedInstanceState) {
      10         super.onCreate(savedInstanceState);
      11         setContentView(R.layout.activity_object);
      12         findViewById(R.id.btn_login).setOnClickListener(this);
      13         findViewById(R.id.btn_logout).setOnClickListener(this);
      14         tvResult = (TextView) findViewById(R.id.tv_result);
      15     }
      16 
      17     @Override
      18     public void onClick(View v) {
      19         if (v.getId() == R.id.btn_login) {
      20             UserInfoRequest request = new UserInfoRequest(Constants.LOGIN, RequestMethod.GET);
      21             request.add("userName", "yolanda");
      22             request.add("userPwd", "123");
      23             CallServer.getInstance().add(this, request, callBack, NOHTTP_LOGIN, true, false, true);
      24         } else {
      25             UserInfoRequest request = new UserInfoRequest(Constants.LOGOUT, RequestMethod.GET);
      26             CallServer.getInstance().add(this, request, callBack, NOHTTP_LOGOUT, true, false, true);
      27         }
      28     }
      29 
      30     private HttpCallBack<UserInfo> callBack = new HttpCallBack<UserInfo>() {
      31 
      32         @Override
      33         public void onSucceed(int what, Response<UserInfo> response) {
      34             UserInfo info = response.get();
      35             if (what == NOHTTP_LOGIN) {// 處理登錄結果
      36                 if (info.isSucceed()) {
      37                     tvResult.setText("登錄接口結果:" + info.getData());
      38                 }
      39             } else if (what == NOHTTP_LOGOUT) {// 處理登出結果
      40                 if (info.isSucceed()) {
      41                     tvResult.setText("退出接口結果:" + info.getData());
      42                 }
      43             }
      44         }
      45 
      46         @Override
      47         public void onFailed(int what, String url, Object tag, Exception exception, int responseCode, long networkMillis) {
      48             tvResult.setText("請求失敗");
      49         }
      50     };
      51 }

       


      可以解析所有JavaBean的自定義請求

       1 public class JavaBeanRequest<E> extends RestRequest<E> {
       2 
       3     private Class<E> clazz;
       4 
       5     public JavaBeanRequest(String url, RequestMethod requestMethod, Class<E> clazz) {
       6         super(url, requestMethod);
       7         this.clazz = clazz;
       8     }
       9 
      10     public JavaBeanRequest(String url, Class<E> clazz) {
      11         this(url, RequestMethod.GET, clazz);
      12     }
      13 
      14     @Override
      15     public E parseResponse(String url, Headers responseHeaders, byte[] responseBody) {
      16         String result = StringRequest.parseResponseString(url, responseHeaders, responseBody);
      17         try {
      18             return JSON.parseObject(result, clazz);
      19         } catch (Exception e) {
      20             E instance = null;
      21             try {
      22                 // 但是前提是傳進來的JavaBean必須提供了默認實現
      23                 instance = clazz.newInstance();
      24             } catch (InstantiationException e1) {
      25             } catch (IllegalAccessException e1) {
      26             }
      27             return instance;
      28         }
      29     }
      30 
      31     @Override
      32     public String getAccept() {
      33         return JsonObjectRequest.ACCEPT;
      34     }
      35 
      36 }

      activity

      Request<ServerBean> request = new JavaBeanRequest<ServerBean>(url, ServerBean.class);
      CallServer.getInstance().add(this, request, callBack, 0, true, false, true);

       

      posted on 2018-05-12 17:09  安卓筆記俠  閱讀(519)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 性欧美乱熟妇xxxx白浆| 成人看的污污超级黄网站免费| 最新的国产成人精品2020| 国产亚洲精品自在久久vr| 国产午夜福利av在线麻豆| 亚洲成av人片无码不卡播放器| 午夜精品福利亚洲国产| 久久亚洲精品中文字幕无| 国产成人无码免费看视频软件| 国产精品无码一区二区牛牛| 久久精品夜夜夜夜夜久久| 亚洲深深色噜噜狠狠网站| 人人妻一区二区三区| 四虎影视4hu4虎成人| 色狠狠色婷婷丁香五月| 真实国产老熟女无套中出| 99国产精品久久久久久久日本竹| 国产一区国产精品自拍| 在线中文字幕国产精品| 国产97色在线 | 免费| 福利成人午夜国产一区| 成人国产精品一区二区网站公司 | 国产午夜精品久久久久免费视 | 手机看片日本在线观看视频| 久爱无码精品免费视频在线观看| 亚洲AV无码一二区三区在线播放| 亚洲18禁一区二区三区| 影视先锋av资源噜噜| 美女一区二区三区亚洲麻豆| www亚洲精品| 99视频在线精品国自产拍| 松江区| 国产精品高清视亚洲中文| 精品人妻日韩中文字幕| 国产成人综合欧美精品久久| 国产涩涩视频在线观看| 91孕妇精品一区二区三区| 日韩熟女乱综合一区二区| 亚洲色一色噜一噜噜噜| 亚洲中文字幕日产无码成人片| 国产99视频精品免费视频76|