使用 sharedPreference 登录检查 android
Login check android with sharedPreference
你好,我正在尝试使用我的应用程序创建登录和注销。这是我所做的,在我的 login activity
我添加这个
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_layout);
String Username = new SessionHandler().getUsername(this);
if(!Username.toString().equals("")){
Intent mainIntent = new Intent(Login_activity.this,MainActivity.class);
startActivity(mainIntent);
}
}
这是我的 SessionHandler().getUsername()
public String getUsername(Context context){
sess_content = context.getSharedPreferences("LoginInfo", Context.MODE_PRIVATE); //1
Username = sess_content.getString("Username", null); //2
return Username;
}
所以,这是问题所在,当我已经登录时我可以通过 login activity
并打开 main activity
但是当我注销然后尝试再次打开我的应用程序时。我收到一个错误。
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.boby.helpdesk/com.example.boby.helpdesk.Login_activity}:
java.lang.NullPointerException
这就是我设置 SharedPreferences
的方式
public void setSession(String name,String notelp,String alamat,String deskripsi,Context context){
SharedPreferences.Editor editor = context.getSharedPreferences("LoginInfo", MODE_PRIVATE).edit();
editor.putString("Username", name);
editor.putString("NoTelp", notelp);
editor.putString("Alamat", alamat);
editor.putString("Deskripsi", deskripsi);
editor.apply();
}
将 onCreate
方法中的代码更改为以下
String Username = new SessionHandler().getUsername(this);
if(Username != null && !Username.isEmpty()){
Intent mainIntent = new Intent(Login_activity.this,MainActivity.class);
startActivity(mainIntent);
}
将 null 更改为空或 @rajan ks:
public String getUsername(Context context){
sess_content = context.getSharedPreferences("LoginInfo", Context.MODE_PRIVATE); //1
Username = sess_content.getString("Username", ""); //2
return Username;
}
你好,我正在尝试使用我的应用程序创建登录和注销。这是我所做的,在我的 login activity
我添加这个
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_layout);
String Username = new SessionHandler().getUsername(this);
if(!Username.toString().equals("")){
Intent mainIntent = new Intent(Login_activity.this,MainActivity.class);
startActivity(mainIntent);
}
}
这是我的 SessionHandler().getUsername()
public String getUsername(Context context){
sess_content = context.getSharedPreferences("LoginInfo", Context.MODE_PRIVATE); //1
Username = sess_content.getString("Username", null); //2
return Username;
}
所以,这是问题所在,当我已经登录时我可以通过 login activity
并打开 main activity
但是当我注销然后尝试再次打开我的应用程序时。我收到一个错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.boby.helpdesk/com.example.boby.helpdesk.Login_activity}: java.lang.NullPointerException
这就是我设置 SharedPreferences
public void setSession(String name,String notelp,String alamat,String deskripsi,Context context){
SharedPreferences.Editor editor = context.getSharedPreferences("LoginInfo", MODE_PRIVATE).edit();
editor.putString("Username", name);
editor.putString("NoTelp", notelp);
editor.putString("Alamat", alamat);
editor.putString("Deskripsi", deskripsi);
editor.apply();
}
将 onCreate
方法中的代码更改为以下
String Username = new SessionHandler().getUsername(this);
if(Username != null && !Username.isEmpty()){
Intent mainIntent = new Intent(Login_activity.this,MainActivity.class);
startActivity(mainIntent);
}
将 null 更改为空或 @rajan ks:
public String getUsername(Context context){
sess_content = context.getSharedPreferences("LoginInfo", Context.MODE_PRIVATE); //1
Username = sess_content.getString("Username", ""); //2
return Username;
}