Привет у меня login и checkbox есть и я хочу использовать это для того, чтобы мне вспомнился пользователь и пароль, как он мог бы делать это?
Здесь я оставляю login activity:
public class LoginActivity extends AppCompatActivity {
EditText email, password;
private Button sign_in_register;
private RequestQueue requestQueue;
private static final String URL = "";
private StringRequest request;
public CheckBox ch;
public static final String MY_PREFS_NAME = "user_pass_pref";
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email = (EditText) findViewById(R.id.editText2);
password = (EditText) findViewById(R.id.editText);
sign_in_register = (Button) findViewById(R.id.button);
ch = (CheckBox)findViewById(R.id.checkBox);
if(ch.isChecked())
{
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("username", email.getText().toString());
editor.putString("password1", password.getText().toString());
editor.apply();
}
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String restoredText = prefs.getString("username", null);
if (restoredText != null) {
String name = prefs.getString("username", "");
String password1 = prefs.getString("password1", "");
email.setText(name);
password.setText(password1);
}
requestQueue = Volley.newRequestQueue(this);
sign_in_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
request = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.names().get(0).equals("success")) {
Toast.makeText(getApplicationContext(), "SUCCESS " + jsonObject.getString("success"), Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
} else {
Toast.makeText(getApplicationContext(), "Error" + jsonObject.getString("error"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("email", email.getText().toString());
hashMap.put("password", password.getText().toString());
return hashMap;
}
};
requestQueue.add(request);
}
});
}
}
Используй SharedPreferences, я это реализовал asГ - и функционируй (Он это игнорирует VolleyDataSource). AquГ - это объясняет очень довольно в любом случае http://www.sgoliver.net/blog/preferencias-en-android-i-shared-preferences/
private Button iniciarSesion;
private EditText email, password;
private SwitchCompat switchCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.signin);
iniciarSesion = findViewById(R.id.btn_iniciarSesion);
email = findViewById(R.id.txt_signin_email);
password = findViewById(R.id.txt_signin_password);
switchCompat = findViewById(R.id.switch_signin);
final SharedPreferences prefs = getSharedPreferences("recordarmeWallet", Context.MODE_PRIVATE);
String emailtext = prefs.getString("email", "");
String pass = prefs.getString("password", "");
boolean stateSwitch = prefs.getBoolean("stateSwitch", false);
switchCompat.setChecked(stateSwitch);
email.setText(emailtext);
password.setText(pass);
iniciarSesion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(switchCompat.isChecked()){
SharedPreferences.Editor editor = prefs.edit();
editor.putString("email", email.getText().toString());
editor.putString("password", password.getText().toString());
editor.putBoolean("stateSwitch", switchCompat.isChecked());
editor.commit();
} else {
SharedPreferences.Editor editor = prefs.edit();
editor.putString("email","");
editor.putString("password", "");
editor.putBoolean("stateSwitch", switchCompat.isChecked());
editor.commit();
}
VolleyDataSource.getInstance(v.getContext() , 10).checkLoging( email.getText().toString(), password.getText().toString());
}
});
}