AsyncHttp網絡請求使用心得:

特點: 參考: https://my.oschina.net/u/725054/blog/494494

異步方式發起Http請求,可以使用匿名回調函數處理網絡應答;

在UI主線程之外的工作線程發起Http請求;

通過使用線程池解決了資源併發的效率問題;

通過使用RequestParams類,可完成GET/POST的參數構建;

支持文件的分段下載功能;

支持上傳JSON數據流;

對重定向循環、重定向相對路徑異常進行了處理

代碼體積小,全部功能只佔90kb;

專門針對移動網絡的不穩定性,對請求重發進行了優化,實現了自動智能處理;

傳輸時支持數據壓縮,可自動對應答進行gzip解壓處理;

使用BinaryHttpResponseHandler,可進行較底層的tcp/ip協議數據通信;

JsonHttpResponseHandler內嵌JSON語法分析功能,可完成JSON數據解析;

FileAsyncHttpResponseHandler可直接將應答保存到本地文件中;

支持cookie的持久化,可使用App的SharedPreferences保存cookie信息;

通過BaseJsonHttpResponseHandler可與Jackson JSON, Gson等第三方JSON框架庫集成;

SaxAsyncHttpResponseHandler支持SAX語法分析

除了UTF-8,還支持其它語言編碼。

使用PersistentCookieStore進行Cookie的持久化存儲

 async-http-client庫包含一個PersistentCookieStore類,這個類實現了CookieStore接口(源自Apache HttpClient包),可自動將cookie信息保存到應用的SharedPreferences儲存中。

    如果你的應用需要使用cookie維護用戶授權session,這是非常有用,方便的。即使關閉了app或重新啓動app,應用也可以保持用戶已登錄的狀態。

    首先創建一個AsyncHttpClient實例:

AsyncHttpClient myClient = new AsyncHttpClient();
    爲這個實例設置一個新建的PersistentCookieStore的實例以進行cookie存儲,調用這個PersistentCookieStore實例的構造函數時,使用一個activity或application context作參數(一般用this就可以了):

PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
myClient.setCookieStore(myCookieStore);
    這樣由服務端接收到的cookie將會自動存儲在你的android設備上。如果要添加自己的cookie,只需要構建一個新的cookie並調用addCookie函數:

BasicClientCookie newCookie = new BasicClientCookie("cookiesare", "awesome");
newCookie.setVersion(1);
newCookie.setDomain("mydomain.com");
newCookie.setPath("/");
myCookieStore.addCookie(newCookie);
發佈了117 篇原創文章 · 獲贊 29 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章