亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android網絡請求庫android-async-http介紹

2020-04-11 11:31:59
字體:
來源:轉載
供稿:網友

Android網絡請求庫:android-async-http開源框架
之前有一篇描述了客戶端請求服務器端的方式―Post的請求方式。今天介紹一個請求服務器的一個開源庫―android-async-http庫。
1. 概念:
這個網絡請求庫是基于Apache HttpClient庫之上的一個異步網絡請求處理庫,網絡處理均基于Android的非UI線程,通過回調方法(匿名內部類)處理請求結果。
2. 特征:
(1).處理異步Http請求,并通過匿名內部類處理回調結果
**(2).**Http異步請求均位于非UI線程,不會阻塞UI操作。
(3).通過線程池處理并發請求處理文件上傳、下載,響應結果自動打包JSON格式。
3. 相應的核心類的介紹:
(1).AsyncHttpResponseHandler:請求返回處理成功、失敗、開始、完成等自定義的消息的類。
(2).BinaryHttpResponseHandler:AsyncHttpResponseHandler的子類。該類是一個字節流返回處理的類。用于處理圖片等。
(3).JsonHttpResponseHandler:AsyncHttpResponseHandler的子類。這是一個服務器與客戶端之間用Json數據交流時使用的類??蛻舳苏埱蠓掌鞯膮凳荍son數據類型的,服務器返回給客戶端的數據也是Json數據類型的。
(4).RequestParams:封裝參數處理的類。將客戶端請求的參數封裝在該類中。
(5).AsyncHttpClient:異步客戶端請求的類。
(6).SyncHttpClient:同步客戶端請求的類。AsyncHttpClient的子類。
注意:HttpUtil這個類主要列出了我們常用的get方法,在要使用的地方,調用該類就行了。需要添加android-async-http-1.4.7.jar文件包。
代碼如下:

(1).AsyncJsonUtilGet.java

package com.chengdong.su.util.get;import org.apache.http.Header;import org.json.JSONException;import org.json.JSONObject;import android.content.Context;import android.widget.Toast;import com.loopj.android.http.JsonHttpResponseHandler;import com.loopj.android.http.RequestParams;/** * 異步請求服務器 *  * @author scd *  */public class AsyncJsonUtilGet {  private static final String URL = "";  private Context mContext;  /**   * 構造方法   *    * @param mContext   */  public AsyncJsonUtilGet(Context mContext) {    super();    this.mContext = mContext;  }  /**   * 郵箱注冊   */  public void emailRegister(String email, String password, String username) {    RequestParams params = new RequestParams();    JSONObject jsonObject = new JSONObject();    try {      jsonObject.put("email", email);      jsonObject.put("password", password);      jsonObject.put("username", username);    } catch (JSONException e) {      e.printStackTrace();    }    params.put("jsonObject", jsonObject);    // get請求方式    HttpUtil.get(URL, params, new JsonHttpResponseHandler() {      @Override      public void onFailure(int statusCode, Header[] headers,          Throwable throwable, JSONObject errorResponse) {        super.onFailure(statusCode, headers, throwable, errorResponse);        Toast.makeText(mContext, "Register failed!", Toast.LENGTH_SHORT)            .show();      }      @Override      public void onSuccess(int statusCode, Header[] headers,          JSONObject response) {        String errorCode = response.optString("ErrorCode");        // 表示請求成功        if (errorCode.equals("0")) {          Toast.makeText(mContext, "注冊成功", Toast.LENGTH_LONG).show();          // response:返回的數據都在這個參數中,根據業務要求進行實現功能        } else {          super.onSuccess(statusCode, headers, response);        }      }    });  }}

(2).HttpUtil.java工具類:注:需要添加jar包

package com.chengdong.su.util.get;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;import java.util.Set;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.BinaryHttpResponseHandler;import com.loopj.android.http.JsonHttpResponseHandler;import com.loopj.android.http.RequestParams;public class HttpUtil {  public static final String STATUS_NETWORK = "network_available";  private static AsyncHttpClient client = new AsyncHttpClient();  static {    client.setTimeout(11000);  }  public static void get(String urlString, AsyncHttpResponseHandler res) {    client.get(urlString, res);  }  public static void get(String urlString, RequestParams params,      AsyncHttpResponseHandler res) {    client.get(urlString, params, res);  }  public static void get(String urlString, JsonHttpResponseHandler res)  {    client.get(urlString, res);  }  public static void get(String urlString, RequestParams params,      JsonHttpResponseHandler res)  {    client.get(urlString, params, res);  }  public static void get(String uString, BinaryHttpResponseHandler bHandler)  {    client.get(uString, bHandler);  }  public static AsyncHttpClient getClient() {    return client;  }  public static boolean isNetworkConnected(Context context) {    if (context != null) {      ConnectivityManager mConnectivityManager = (ConnectivityManager) context          .getSystemService(Context.CONNECTIVITY_SERVICE);      NetworkInfo mNetworkInfo = mConnectivityManager          .getActiveNetworkInfo();      if (mNetworkInfo != null) {        return mNetworkInfo.isAvailable();      }    }    return false;  }  // 從UrlConnection中獲取文件名稱  public static String getFileName(String url) {    String fileName = null;    boolean isOK = false;    try {      URL myURL = new URL(url);      URLConnection conn = myURL.openConnection();      if (conn == null) {        return null;      }      Map<String, List<String>> hf = conn.getHeaderFields();      if (hf == null) {        return null;      }      Set<String> key = hf.keySet();      if (key == null) {        return null;      }      for (String skey : key) {        List<String> values = hf.get(skey);        for (String value : values) {          String result;          try {            result = value;            int location = result.indexOf("filename");            if (location >= 0) {              result = result.substring(location                  + "filename".length());              result = java.net.URLDecoder                  .decode(result, "utf-8");              result = result.substring(result.indexOf("/"") + 1,                  result.lastIndexOf("/""));              fileName = result                  .substring(result.indexOf("=") + 1);              isOK = true;            }          } catch (UnsupportedEncodingException e) {            e.printStackTrace();          }        }        if (isOK) {          break;        }      }    } catch (MalformedURLException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    }    return fileName;  }}

開源之家介紹:http://open.VeVB.COm/project/app-framework/android-async-http.html

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美壮男野外gaytube| 日本成熟性欧美| 粉嫩老牛aⅴ一区二区三区| 亚洲精品大尺度| 国产精品久久久久久久久久久久久久| 国产日韩欧美电影在线观看| 欧美福利在线观看| 91在线直播亚洲| 欧美最顶级的aⅴ艳星| 中文字幕久久精品| 国产精品久久久久久久久久东京| 国产精品一二三视频| 伊人久久久久久久久久久| 国产日韩欧美在线视频观看| 国产在线观看91精品一区| 午夜精品久久久久久久男人的天堂| 国产精品成人一区二区| 日韩精品极品毛片系列视频| 中文字幕久久亚洲| 国产日韩欧美中文| 秋霞成人午夜鲁丝一区二区三区| 91豆花精品一区| 日本国产一区二区三区| 高清欧美性猛交xxxx| 亚洲香蕉成视频在线观看| 日韩免费观看高清| 热99精品里视频精品| 亚洲色图25p| 亚洲美女动态图120秒| 亚洲精品在线看| 亚洲成人精品久久久| 国产精品自产拍高潮在线观看| 亚洲精品久久久一区二区三区| 亚洲欧美成人精品| 欧美成人精品激情在线观看| 91久久精品在线| 亚洲色图35p| 国产精品久久久久久av福利软件| 国产精品久久久久免费a∨| 欧美日韩国内自拍| 久久久欧美一区二区| 亚洲国产精品小视频| 色中色综合影院手机版在线观看| 日韩av在线不卡| 欧美精品一区三区| 久久精品2019中文字幕| 国产精品美女呻吟| 日韩精品黄色网| 久久激情五月丁香伊人| 日韩小视频网址| 在线精品国产成人综合| 精品国产91久久久久久| 最新69国产成人精品视频免费| 久久人人爽人人爽人人片亚洲| 国产日韩欧美在线| 国产欧美一区二区白浆黑人| 欧美精品激情在线| 亚洲欧美日韩天堂一区二区| 亚洲精品欧美日韩专区| 最好看的2019的中文字幕视频| 欧美极度另类性三渗透| 亚洲欧美精品一区二区| 欧美日韩国产麻豆| 午夜精品久久久久久久99黑人| 国产精品91免费在线| 国产91精品不卡视频| 97在线视频国产| 成人网欧美在线视频| 麻豆成人在线看| 欧美尤物巨大精品爽| 日韩电影第一页| 国产精品2018| 亚洲剧情一区二区| 日韩av中文字幕在线免费观看| 国产噜噜噜噜噜久久久久久久久| 日韩免费在线观看视频| 色香阁99久久精品久久久| 日本视频久久久| 亚洲精品国产免费| 欧美成人四级hd版| 日韩电影网在线| 96精品视频在线| 一区二区三区精品99久久| 一区二区在线免费视频| 亚洲欧洲成视频免费观看| 欧美在线观看www| 欧美国产日韩二区| 韩日欧美一区二区| 欧美日本中文字幕| 欧美中文在线视频| 97久久精品人人澡人人爽缅北| 国内精品400部情侣激情| 亚洲综合色激情五月| 精品国产乱码久久久久久婷婷| 欧美伊久线香蕉线新在线| 欧美肥臀大乳一区二区免费视频| 久久69精品久久久久久国产越南| 久久人91精品久久久久久不卡| 成人av在线网址| 亚洲精品电影在线| 欧美极品在线视频| 国产欧美精品一区二区| 亚洲国产三级网| 日本一区二区不卡| 色无极影院亚洲| 91亚洲一区精品| 91视频免费网站| 在线观看国产成人av片| 亚洲精品国产精品自产a区红杏吧| 精品成人久久av| 久久久久久久国产精品| 亚洲最大福利网站| 欧美日韩一区二区三区在线免费观看| 国产精品久久久久久久电影| 中文字幕av日韩| 亚洲一区二区中文| 国产在线不卡精品| 久久精品视频播放| 欧美国产视频一区二区| 久久精品色欧美aⅴ一区二区| 国产精品福利在线| 欧美性xxxxx| 精品日本美女福利在线观看| 亚洲日韩欧美视频| 国产日韩欧美电影在线观看| 国产成人avxxxxx在线看| 色一情一乱一区二区| 国产一区二区动漫| 欧美日韩一区二区免费在线观看| 97超碰色婷婷| 亚洲一区第一页| 亚洲欧美一区二区激情| 国产亚洲精品美女久久久久| 欧美视频不卡中文| 亚洲国产成人精品久久久国产成人一区| 国产视频丨精品|在线观看| 91久久精品美女高潮| 国产专区精品视频| 秋霞av国产精品一区| 欧美高清性猛交| 欧美性猛交xxxx乱大交3| 日韩av色综合| 欧美激情亚洲国产| 亚洲精品一区二区久| 怡红院精品视频| 久久成人精品一区二区三区| 亚洲欧美一区二区三区在线| 久久久国产一区| 欧美激情视频在线免费观看 欧美视频免费一| 国产69精品久久久久久| 成人国产精品免费视频| 在线电影欧美日韩一区二区私密| 亚洲国产成人一区| 亚洲自拍欧美色图| 国产suv精品一区二区三区88区| 欧美在线一级va免费观看| 国产精品96久久久久久又黄又硬| 91久久久久久久久久久| 久久久久久一区二区三区| 久久理论片午夜琪琪电影网| 日本精品一区二区三区在线| 国产精品亚洲激情| 成人h片在线播放免费网站| 国产精品国产三级国产aⅴ9色|