gpt4 book ai didi

android - 应用程序关闭时保持用户登录 - Android Studio - MySQL

转载 作者:行者123 更新时间:2023-11-29 10:59:01 25 4
gpt4 key购买 nike

我创建了一个应用程序,其中组的用户列表已放置在 MySQL 上的数据库中,分配给他们的用户名、密码和变量已上传。

下面是登录 Activity ,允许用户登录并转到自己的用户区域(还有一个 loginrequest 类可以传递参数)。

我需要帮助的是让应用程序保持登录状态,直到该用户注销,即使他们已经关闭了应用程序。

如果可能的话,这是否还允许我在应用程序对个人用户关闭时发送用户通知?

谢谢。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);


final EditText etUsername = (EditText) findViewById(R.id.etUsername);
final EditText etPassword = (EditText) findViewById(R.id.etPassword);
final Button bLogin = (Button) findViewById(R.id.bLogin);
final TextView registerLink = (TextView) findViewById(R.id.tvRegisterHere);

//Register Here button
registerLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
LoginActivity.this.startActivity(registerIntent);
}
});

//Login Button
bLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Taking the username and password and converting it to a string
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
//Taking the JSONObject from the 000webhost database

JSONObject jsonResponse = new JSONObject(response);
//If the response is successful ie is there a username and password that match
boolean success = jsonResponse.getBoolean("success");
if (success){
//Gather the information below
String name = jsonResponse.getString("name");
int var1 = jsonResponse.getInt("var1");
int var2 = jsonResponse.getInt("var2");
int var3 = jsonResponse.getInt("var3");
int var4 = jsonResponse.getInt("var4");



Intent intent = new Intent(LoginActivity.this, UserAreaActivity.class);
intent.putExtra("name", name);
intent.putExtra("username", username);
intent.putExtra("var1", var1);
intent.putExtra("var2", var2);
intent.putExtra("var3", var3);
intent.putExtra("var4", var4);
intent.putExtra("password", password);

//Start the User Area Activity

LoginActivity.this.startActivity(intent);




}else{

AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
builder.setMessage("Login Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}


} catch (JSONException e) {
e.printStackTrace();
}
}
};



LoginRequest loginRequest = new LoginRequest(username, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
queue.add(loginRequest);

}
});

}

最佳答案

您可以使用 SharedPreferences 来解决您的问题。

用它来验证用户是否已启动“ session ”

      private SharedPreferences sharedpreferences;    

sharedpreferences=getApplicationContext().getSharedPreferences("Preferences", 0);
String login = sharedpreferences.getString("LOGIN", null);


if (login != null) {
//put your code if user is logged. For example, go to another activity
}else {

// to go login activity
}

用它来设置点击登录按钮时的“ session ”

   SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString("LOGIN", newUser.getEmail_user());
editor.commit

在注销按钮上使用此功能

 Editor editor = sharedpreferences.edit();
editor.remove("LOGIN");
editor.commit();

关于android - 应用程序关闭时保持用户登录 - Android Studio - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42562815/

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