gpt4 book ai didi

java - 将登录状态存储在 SharedPreference 中

转载 作者:行者123 更新时间:2023-12-01 18:40:28 26 4
gpt4 key购买 nike

我正在制作 Android 应用程序,并使用注册、登录和注销屏幕。我需要的是保存登录状态。如果用户登录一次,那么他将永远不会再次登录,直到注销。我用SharedPareference但我面临着很多问题。

这是我的代码:

public class LoginPage extends AppCompatActivity {
private SharedPreferences sharedPreferences;
Button login, register, database;
EditText username;
EditText password;
TextView msg;
String db_username;
MyDBManager db;

static final int REGISTRATION_REQUEST = 1; // The request code

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginpage);
db = new MyDBManager(this);

msg = (TextView) findViewById(R.id.msg);
login = (Button) findViewById(R.id.button);
register = (Button) findViewById(R.id.button2);
database = (Button) findViewById(R.id.button3);
username = (EditText) findViewById(R.id.user);
password = (EditText) findViewById(R.id.pass);


// Click and move to the next activity
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.open();
Cursor c = db.getUser(username.getText().toString(), password.getText().toString());
if (c.moveToFirst()) {
db.close();
Intent intent = new Intent(LoginPage.this, Menu.class);
intent.putExtra("Username", username.getText().toString());
startActivity(intent); // call Login Activity
}
else
{
db.close();

// set error message when the username and/or password is not valid
msg.setText("Unable to login: wrong username or password!");
// Stay at the current activity.
}
{

}




}
});





// Click and move to the next activity
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginPage.this, Registration.class);
startActivityForResult(intent, REGISTRATION_REQUEST);
}
});

// Click and move to the next activity
database.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginPage.this, Database.class);
startActivity(intent);
}
});


}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REGISTRATION_REQUEST) {
//if(resultCode == Registration.RESULT_OK){
Log.d("Pikatchu", "User successfully registered!");
Bundle res = data.getExtras();
String result = res.getString("result");
System.out.println(result);
msg.setText(result);

}
}


}

您能否提供一些建议,为什么我的代码不起作用?

最佳答案

当用户登录时将 boolean 登录存储到共享首选项中,并在启动期间检查用户是否登录,然后您可以导航到必要的路线, boolean 登录默认值应为 false

关于java - 将登录状态存储在 SharedPreference 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com