Hey Leute, ich habe eine Login-Aktivität, die Benutzernamen und Passwort mit Server überprüft, um Benutzer zu authentifizieren. Ich möchte sharedpermissions verwenden, um Benutzernamen und Passwort zu speichern, damit sich der Benutzer nicht jedes Mal anmeldet. Ich möchte auch eine Login-Schaltfläche erstellen. Ich habe versucht, es zu implementieren, aber es überspringt Login-Aktivität und bringt mich zu meiner zweiten Aktivität. Ich habe einige der freigegebenen Freischaltcodes als Kommentare (//)wie zu implementieren SHARED PREFERENCE (Java, SQL-Datenbank LOGIN)
kann mir jemand zeigen/sagen, das Beste, was ich tun kann?
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//String username = "";
//String password = "";
//SharedPreferences pre;
final EditText etUsername = (EditText) findViewById(R.id.etUsername);
final EditText etPassword = (EditText) findViewById(R.id.etPassword);
final TextView tvRegisterLink = (TextView) findViewById(R.id.tvRegisterhere);
final Button bLogin = (Button) findViewById(R.id.bLogin);
if(TextUtils.isEmpty(etUsername.getText().toString())||TextUtils.isEmpty(etPassword.getText().toString())){
Intent intent = new Intent(LoginActivity.this, UserAreaActivity.class);
LoginActivity.this.startActivity(intent);
} else {
Intent registerIntent = new Intent(LoginActivity.this, LoginActivity.class);
LoginActivity.this.startActivity(registerIntent);
}
final String username1 = SharedPreferenceUtils.getUsername(this);
final String password1 = SharedPreferenceUtils.getPassword(this);
// pre = getSharedPreferences("pref",MODE_PRIVATE);
//if(pre.getBoolean("username",true) && pre.getBoolean("password",true)){
tvRegisterLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
LoginActivity.this.startActivity(registerIntent);
}
});
bLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
// Response received from the server
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
String name = jsonResponse.getString("name");
SharedPreferenceUtils.createSP(LoginActivity.this,username1,password1);
Intent intent = new Intent(LoginActivity.this, UserAreaActivity.class);
intent.putExtra("name", name);
intent.putExtra("username", username);
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);
}
});
}
}
public class UserAreaActivity extends AppCompatActivity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_area);
final TextView etusername = (TextView) findViewById(R.id.textView2);
final TextView etwelcome = (TextView) findViewById(R.id.textView);
final ImageButton red = (ImageButton) findViewById(R.id.imageButton);
final ImageButton messages = (ImageButton) findViewById(R.id.imageButton2);
final ImageButton blue = (ImageButton) findViewById(R.id.imageButton3);
final ImageButton ping = (ImageButton) findViewById(R.id.imageButton4);
final TextView etuname = (TextView) findViewById(R.id.textView3);
final Button Logout = (Button) findViewById(R.id.logout);
//String Name = SharedPreferenceUtils.getName(this);
//etwelcome.setText(Name);
red.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(UserAreaActivity.this, Report.class);
UserAreaActivity.this.startActivity(registerIntent);
}
});
messages.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(UserAreaActivity.this, Messages.class);
UserAreaActivity.this.startActivity(registerIntent);
}
});
Logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isClear = SharedPreferenceUtils.clearSP(UserAreaActivity.this);
if(isClear){
Intent registerIntent = new Intent(UserAreaActivity.this, LoginActivity.class);
UserAreaActivity.this.startActivity(registerIntent);
}
}
});
Intent intent = getIntent();
String name = intent.getStringExtra("name");
String username = intent.getStringExtra("username");
String message = "Welcome " + name;
etwelcome.setText(message);
etusername.setText(username);
//Intent in = new Intent(getApplicationContext(), Messages.class);
//in.putExtra("username", username);
//UserAreaActivity.this.startActivity(in);
}
}