2011-03-14 69 views
-1

我想在Android中創建一個登錄應用程序。如何在android應用程序中實現cookie

要求的項目是存儲用戶名和密碼使用的cookie兩天。

可以使用cookie嗎?如果是,那麼如何?你能給我代碼嗎?

注意:我無法使用網絡視圖。

+2

你不應該在cookie中存儲密碼。 – Reno 2011-03-14 11:30:49

+0

在你的問題,其服務器cookie的問題,而不是android。 – papachan 2011-03-14 11:38:27

回答

5

作爲一個評論者已經說了,你不應該存儲(即使是在加密的形式)的密碼在cookie中。你可以存儲的是會話ID。當用戶登錄應用程序時,應用程序爲他/她生成一個會話ID,該ID將保持有效兩天。在您對應用程序進行的每個請求中,都將會話標識添加爲HTTP標頭。

可以存儲會話ID和日期時間它是在首發出。當用戶需要嚮應用程序發出新的請求並且會話尚未過期時,您可以讀取存儲的值。

+0

嗨,我想在我的項目中實現這一點。但我很困惑如何做到這一點?你會發送一些代碼來實現這個功能嗎? – user609239 2011-03-18 05:11:28

0

正如裏諾所說,儘量避免將密碼存儲在cookie中。相反,您應該讓服務器在登錄時生成會話ID,並讓該ID在兩天後在服務器上過期。因此,您可以使用用戶登錄時生成的用戶名和會話ID登錄一次。

我想要,您可以將該sessionID存儲在cookie中。

1

如果您不打算將其集成到瀏覽器中,那麼請嘗試一下。

如果你看一下HTTP協議,你可以看到,Cookie是由客戶端在請求發送純文本。這意味着您應該讓您的應用程序在您每次請求頁面時提供它們。這不適用於僅限本地的Cookie,但我不認爲您對這些內容感興趣。如果你想從服務器端設置cookie,你將不得不調整你的應用程序來解析響應並查找cookie。 (也HTTP協議)

對於您需要發送或接收的原始數據的更好的視野,你可以使用Wireshark的或類似的工具監控您的流量,並看到了請求/響應什麼樣子。

我目前工作的一個Web服務,我需要在iPhone上實現,這是我做的第一個想法。我還沒有實現這個(我的網絡服務還沒有完成),所以目前沒有更多的我可以告訴你。

Edit: 關於此的一個有用網頁可能是位於此處的Wikipedia HTTP Cookie頁面。

相關問題