如何在android本地保存登录信息

时间:2012-03-19 13:27:26

标签: android

我制作了一款工作正常的Android应用程序。我在其中实现了Login功能。任何人都可以指导我如何存储用户的登录凭据,以便用户无需在每次启动应用程序时登录,并在用户注销时清除存储的登录信息。

实际上我希望用户每次启动应用时都不必输入登录信息。我该怎么做?

4 个答案:

答案 0 :(得分:33)

商店价值使用共享偏好。我在这里粘贴代码......使用它。

创建共享偏好:

SharedPreferences sp=getSharedPreferences("Login", MODE_PRIVATE);
SharedPreferences.Editor Ed=sp.edit();
Ed.putString("Unm",Value );              
Ed.putString("Psw",Value);   
Ed.commit();

从共享偏好中获取价值:

SharedPreferences sp1=this.getSharedPreferences("Login", MODE_PRIVATE);

String unm=sp1.getString("Unm", null);       
String pass = sp1.getString("Psw", null);

当用户注销时,您可以将空值设置为共享首选项。

答案 1 :(得分:1)

我认为最佳解决方案是共享偏好。只创建一个条目,创建一个完整的数据库并查询它是没用的。 而文件系统并不提供结构化的解决方案。 (键值对)

对于UI,我认为你应该有两个片段 如果用户已注册,则显示MainFragment 如果不是LoginFragment

答案 2 :(得分:0)

使用此表中的凭据表创建外部数据库文件创建适当的列,如用户名,密码等。如果您已注册用户,则将这些用户详细信息存储在凭证表中。最后将该数据库复制到assests文件夹中,然后使用SqliteOpenHelper类复制外部数据库到手机内存。这里你需要维护注册页面的条件。如果用户完成了你的条件的注册程序,然后将他/她的详细信息存储在凭证表中。当用户想要登录到应用程序时,请检查用户名和凭据表中的密码。

答案 3 :(得分:0)

您可以使用以下每种方法: - SharedPreferences - 数据库 - 文件系统

当然,每种方法都有它的优点和缺点。