在Android開發中,與服務器通訊主要是基於Http協議來進行的.Android自己爲我們提供了URLHttpConnection類來處理網絡訪問的問題,但是這個類的確不是很好用.今天簡紹一個在Android開發中被使用的非常廣泛的一個專門針對Android 的網絡編程這一塊的一個框架.Android-async-http.
private static final String BASE_URL = "http://api.twitter.com/1/";
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}
private static String getAbsoluteUrl(String relativeUrl) {
return BASE_URL + relativeUrl;
}
}
Android-Async-Http的使用非常簡單,通過AsyncHttpClient發起請求就可以了,如果需要添加參數,直接傳一個RequestParams過去,而且參數可以是String、File和InputStream,可以很方便地上傳文件。
每個請求都需要傳一個ResponseHandlerInterface的實例用以接收請求結果或請求失敗,請求結束等通知,一般是AsyncHttpResponseHandler的子類。
通過BinaryHttpResponseHandler可以發起二進制請求,如請求圖片。
通過TextHttpResponseHandler可以發起返回結果爲字符串的請求,一般這個使用較多。