標籤:
http://blog.memecodes.com/340.html
在http串連中,會存在著cookie狀態,需要訪問登入後的網頁,就必須儲存用於認證的cookie;之後每次發送請求,將儲存的cookie一併帶上便可實現登入後訪問。開發中,一般都會使用組件、架構、平台等方式來進行快速開發,本文將介紹使用Xutils架構如何來儲存cookie。
使用Xutils儲存cookie
| 1 |
HttpUtils com.lidroid.xutils.HttpUtils.configCookieStore(CookieStore cookieStore) |
在Xutls中有一個configCookieStore用來佈建要求中的Cookie對象,參數類型org.apache.http.client.CookieStore,也就是說在登入後,儲存CookieStore類型cookie即可。
| 12345 |
//實現全域共用,有很多種方法,可以使用自訂Application裡面增加變數//也可以在普通類中使用靜態變數,這裡使用的是靜態變數方式。public class NetworkTool { public static CookieStore cookieStore=null;} |
登入成功後儲存Cookie到靜態變數中
| 123 |
//http為HttpUtils執行個體DefaultHttpClient httpClient = (DefaultHttpClient) http.getHttpClient();NetworkTool.cookieStore = httpClient.getCookieStore(); |
最後只需要在請求中設定儲存好的Cookie即可
| 12 |
//http為HttpUtils執行個體http.configCookieStore(NetworkTool.cookieStore); |
非Xutils中儲存Cookie
cookie存在於HttpClient中,簡單理解就是在所有請求中使用統一的HttpClient即可,或者得到cookieStore,與Xutils方式一致。
持久化儲存Cookie
有時需要持久化地儲存Cookie,用於應用程式退出後,依舊可用;
| 12 |
//可以使用SharedPreferences、SQLite、XML等方法儲存List<Cookie> cookies = httpclient.getCookieStore().getCookies(); |
Android使用Xutils儲存cookie實現登入後訪問