1. 程式人生 > >Android網路程式設計中關於AsyncHttpClient獲取cookie的問題

Android網路程式設計中關於AsyncHttpClient獲取cookie的問題

之前的專案登入模組存在問題,登入狀態和使用者名稱直接存在了SharedPreferences裡,進入軟體時直接判斷使用者名稱是否為空,為空時才進入登入頁面,否則直接讀取SP中的相關資料,看了AsyncHttpClient的文件後,才發現可以允許讀取cookie。
只要在例項化AsyncHttpClient時加上以下程式碼即可。

httpClient = new AsyncHttpClient();
PersistentCookieStore cookieStore = new PersistentCookieStore(context);
httpClient.setCookieStore(cookieStore);

PersistentCookieStore類是該支援包提供的類,其中有getCookies()方法,該方法返回一個org.apache.http.cookie.Cookie介面。想要檢視當前所有Cookie內容,只要使用以下程式碼。

PersistentCookieStore myCookieStore = new PersistentCookieStore(context);
List<Cookie> cookies = myCookieStore.getCookies();
for (Cookie cookie : cookies) {
    Log.d("Cookie"
,cookie.getName() + " = " + cookie.getValue()); }

當然,cookie內容可以被設定成header用於登入獲取使用者資訊等驗證,每次呼叫這些API介面就再也不用傻逼兮兮的加上username,password等驗證了。
這就交給後端同學去做了,Android同學安心的開發你的app吧。再也不用關心驗證等問題了。