2013-08-01 56 views
0

我對cookie有點困惑,特別是在實現了iOS版本的這個問題之後。Cookies Android,一些澄清

我想在用戶登錄後使用cookie保存數據。有了這個cookie,用戶不必再次登錄(或長時間)。我見過幾種不同的android實現,也許我很天真,但我期望它更簡單。所以有幾個問題:

  1. 如何找到我已有的cookie?我需要使用CookieManager還是CookieStore?我注意到這些有兩個不同的定義,一個用於Java,另一個用於Android?這個比那個好嗎。

  2. 我需要一個DefaultHTTPClient嗎?當我初始化httpClient時,是否需要存儲對創建cookie的客戶端的任何類型的引用?

對一般過程的任何解釋也將被讚賞。

感謝

+0

Cookie是一個硬性要求,還是API可以在'json'中返回信息? –

+0

我正在從服務器上下載「cookie」本身,文件本身包含json。我想存儲它並通過多個會話訪問它。我接受所有關於它是否實際上是cookie的想法。 – Bushes

+0

在ios版本中,我最終用字典初始化了NSCookie並保存了它。 Android版本似乎需要更多的設置... – Bushes

回答

0

我建議SharedPreferences爲你是問有關的任務,但做一些更多的研究肯定會在將來你受益匪淺。

Android Developer Site有一個關於存儲選項和如何/何時使用它們的非常好的頁面。

例子:

SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0); 
String token = settings.getString("sessionTokenCookie", false); 
myAppSingleton.setToken(token); 

此外,我會建議使用OkHttp您的HTTP庫。這將處理許多您可能會經歷的使用Java或Apache實現的問題。然後,您可以將標記添加到每個請求的標題中,從存儲它的App Singleton中獲取標記。