Android網絡請求庫android-async-http使用
在 iOS開發中有大名鼎鼎的ASIHttpRequest庫,用來處理網絡請求操作,今天要介紹的是一個在Android上同樣強大的網絡請求庫android-async-http,目前非常火的應用Instagram和Pinterest的Android版就是用的這個網絡請求庫。這個網絡請求庫是基于Apache HttpClient庫之上的一個異步網絡請求處理庫,網絡處理均基于Android的非UI線程,通過回調方法處理請求結果。
其主要特征如下:
處理異步Http請求,并通過匿名內部類處理回調結果
Http請求均位于非UI線程,不會阻塞UI操作
通過線程池處理并發請求
處理文件上傳、下載
響應結果自動打包JSON格式
自動處理連接斷開時請求重連
使用android-async-http也非常簡單,文章下面是下載jar地址,導入工程中libs文件夾下并添加到工程路徑即可。通過下面的代碼來創建一個異步請求:
官方推薦的使用方法,使用一個靜態的請求對象。
public class HttpUtil { private static AsyncHttpClient client = new AsyncHttpClient(); // 實例話對象 static { client.setTimeout(10000); // 設置鏈接超時,如果不設置,默認為10s } // 用一個完整url獲取一個string對象 public static void get(String urlString, AsyncHttpResponseHandler res) { client.get(urlString, res); } // url里面帶參數 public static void get(String urlString, RequestParams params, AsyncHttpResponseHandler res){ client.get(urlString, params, res); } // 不帶參數,獲取json對象或者數組 public static void get(String urlString, JsonHttpResponseHandler res) { client.get(urlString, res); } // 帶參數,獲取json對象或者數組 public static void get(String urlString, RequestParams params, JsonHttpResponseHandler res) { client.get(urlString, params, res); } // 下載數據使用,會返回byte數據 public static void get(String uString, BinaryHttpResponseHandler bHandler) { client.get(uString, bHandler); } public static AsyncHttpClient getClient(){ return client; } }
下載:
由于涉及網絡請求,最后別忘了添加權限:
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!