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

如何在android中本地保存登录信息,android,Android,我已经做了一个安卓应用程序,运行良好。我在其中实现了登录功能。是否有人可以指导我如何存储用户的登录凭据,以便用户不必在每次启动应用程序时登录,并且在用户注销时清除存储的登录信息 实际上,我希望用户不必在每次启动应用程序时都输入登录信息。我如何才能做到这一点?存储值使用sharepreference。我在这里粘贴代码..使用它 创建优先股: SharedPreferences sp=getSharedPreferences("Login", MODE_PRIVATE); SharedPrefere

我已经做了一个安卓应用程序,运行良好。我在其中实现了登录功能。是否有人可以指导我如何存储用户的登录凭据,以便用户不必在每次启动应用程序时登录,并且在用户注销时清除存储的登录信息


实际上,我希望用户不必在每次启动应用程序时都输入登录信息。我如何才能做到这一点?

存储值使用sharepreference。我在这里粘贴代码..使用它

创建优先股:

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);
从优先股中获取价值:

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);

当用户注销时,您可以将空值设置为SharedReference。

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

您可以使用以下方法之一: -共享引用 -数据库 -文件系统


当然,每种方法都有其优缺点。

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

对于UI,我认为应该有两个片段 如果用户已注册,则向其显示
main片段

如果不是
LoginFragment

实际上,我希望用户不必在每次启动应用程序时都输入登录信息。我在这里使用代码作为u型输入,但我的问题没有得到解决…………好的,因此,如果islogin为true,则可以在共享首选项中设置一个布尔值,然后将其移动到下一屏幕。调用
getSharedReferences
时,请使用
MODE\u PRIVATE
而不是magic
0
。不要忘记保护保存在那里的数据。