2013-08-26 27 views
0

Volley網絡庫(Google IO 2013)不支持開箱即用的Cookie。這可能也適用於其他的Android網絡庫。希望它會很快加入,因爲許多休息服務確實需要cookies。因此,會話cookie需要保存在某個地方,所以我的問題是,如果你必須將cookie放在android客戶端的某個地方,它應該放在哪裏?會話cookie應保存在共享偏好中嗎?

1)在SharedPreferences裏面? 2)在一些類的靜態成員變量裏面像應用程序類? 3)以上都不是。

通過靜態成員變量將Cookie放入SharedPreferences中的優點是什麼。 還有什麼需要實現cookie的超時?

現在通常這是Http堆棧的一個函數來處理這個問題。不過,根據Android的版本,抽屜在HttpClient和HttpConnectionURL之間動態切換。所以我不確定這兩個客戶端是否可以設置爲始終返回cookie?

感謝

+0

也許看到[這篇文章](http://stackoverflow.com/questions/12707655/store-cookie-in-sharedpreferences) – MiStr

回答

1

SharedPreferences和靜態成員之間最大的區別是,SharedPref將生存多個會話。也就是說,當你的應用程序離開內存時,靜態成員將始終被重置爲null,只要它不是最前沿的應用程序,它就可以執行此操作。 SharedPref被合理保護(不要使用MODE_WORLD_READABLE!),所以將它們保留在那裏並不是一個壞主意。

關於超時,您可以隨時嘗試與保存的cookie進行連接,然後每當遇到來自服務器的超時錯誤響應時再獲取一個新的(通過再次登錄)。