I’ve been trying to add a remember me function in my login screen.
But somehow it isn’t saving my login credentials?
Can somebody please tell me what I’m doing wrong?
I’m still learning so if somebody has some pointers go ahead and make me happy 😀
This is my code
public class WvvZondag extends Activity {
EditText un,pw;
TextView error;
Button ok, cancel;
CheckBox checkbox;
private String username, password;
private SharedPreferences loginPreferences;
private SharedPreferences.Editor loginPrefsEditor;
private Boolean saveLogin;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wvv_zondag);
un=(EditText)findViewById(R.id.username);
pw=(EditText)findViewById(R.id.password);
ok=(Button)findViewById(R.id.login_button);
cancel=(Button)findViewById(R.id.cancel_button);
error=(TextView)findViewById(R.id.error);
checkbox=(CheckBox)findViewById(R.id.checkBox1);
loginPreferences = getSharedPreferences("loginPrefs", MODE_PRIVATE);
loginPrefsEditor = loginPreferences.edit();
saveLogin = loginPreferences.getBoolean("saveLogin", false);
if (saveLogin == true){
un.setText(loginPreferences.getString("un", ""));
pw.setText(loginPreferences.getString("pw", ""));
checkbox.setChecked(true);
}
cancel.setOnClickListener(new OnClickListener(){
public void onClick(View v){
finish();
}
});
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
username = un.getText().toString();
password = pw.getText().toString();
if (checkbox.isChecked()) {
loginPrefsEditor.putBoolean("saveLogin", true);
loginPrefsEditor.putString("username", username);
loginPrefsEditor.putString("password", password);
loginPrefsEditor.commit();
// TODO Auto-generated method stub
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("username", username));
postParameters.add(new BasicNameValuePair("password", password));
String response = null;
try {
response = CustomHttpClient.executeHttpPost("http://www.wvvzondag2.nl/android/check.php", postParameters);
String res=response.toString();
res = res.replaceAll("\\s+", "");
if(res.equals("1")){
Intent loginintent = new Intent(WvvZondag.this, Menu_show.class);
startActivity(loginintent);
}
else
error.setText("Gebruikersnaam en/of wachtwoord is incorrect");
} catch (Exception e) {
un.setText(e.toString());
}
} else {
loginPrefsEditor.clear();
loginPrefsEditor.commit();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_wvv_zondag, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.menu_website:
startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.wvvzondag2.nl")));
return true;
}
return false;
}
}
Shouldn’t you be using this to retrieve the info ?