我制作了一款工作正常的Android应用程序。我在其中实现了Login功能。任何人都可以指导我如何存储用户的登录凭据,以便用户无需在每次启动应用程序时登录,并在用户注销时清除存储的登录信息。
实际上我希望用户每次启动应用时都不必输入登录信息。我该怎么做?
答案 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 - 数据库 - 文件系统
当然,每种方法都有它的优点和缺点。