我想在Android中创建一个登录应用程序。
项目的要求是使用cookie存储用户名和密码两天。
可以使用cookies吗?如果是,那怎么样?你能给我代码吗?
注意:我无法使用网络视图。
答案 0 :(得分:5)
作为一名评论者已经说过,您不应该在密码中存储密码(即使是加密形式)。您可以存储的是会话ID。当用户登录应用程序时,应用程序会为他/她生成会话ID,该会话ID将保持有效两天。在您对应用程序进行的每个请求中,都将会话ID添加为HTTP标头。
您可以在首选项中存储会话ID和发布日期时间。当用户需要向应用程序发出新请求且会话未到期时,您可以读取存储的值。
答案 1 :(得分:1)
正如Reno所说,尽量避免将密码存储在cookie中。相反,您应该让服务器在登录时生成sessionID,并在两天后让此ID在服务器上过期。因此,您可以使用登录时生成的用户名和会话ID登录。
我想要,你可以将那个sessionID存储在cookie中。
答案 2 :(得分:1)
如果您不想将其集成到浏览器中,请继续浏览。
如果查看HTTP协议,您可以看到客户端以明文形式在请求中发送cookie。这意味着您每次请求页面时都应该让应用程序提供它们。这对于仅限本地的cookie无效,但我认为您对这些不感兴趣。如果要从服务器端设置cookie,则必须调整应用程序以解析响应并查找cookie。 (也是HTTP协议)
为了更好地查看您需要发送或接收的原始数据,您可以使用Wireshark或类似工具监控流量,并查看请求/响应的外观。
我目前正在开发一个我需要在iPhone上实现的网络服务,这是我第一次想到这一点。我还没有实现这个(我的网络服务还没有完成)所以我现在还没有更多可以告诉你。
Edit: 关于此的有用页面可能是位于此处的Wikipedia HTTP Cookie页面。