로그인 처리하는 클래스를 만들어보았는데요 자동로그인 체크박스가 체크되어있으면 SharedPreferences에 아이디랑 비밀번호를 넣어놨다가 다음번엔 바로 꺼내서 로그인되게끔 만들어보려고했는데 이상하게 저장 자체가 되지 않는것 같아요 ㅜㅜ 왜그런지 한번 봐주시면 감사하겠습니다
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_dependencies_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_0_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_1_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_2_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_3_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_4_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_5_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_6_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_7_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_8_apk.apk@classes.dex: Permission denied
E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@com.bpg.efes-1@split_lib_slice_9_apk.apk@classes.dex: Permission denied
public class LoginActivity extends AppCompatActivity {
private AlertDialog dialog;
boolean loginChecked;
private void savePreferences(String ID, String PW){
SharedPreferences mPref = getSharedPreferences("mPref",MODE_PRIVATE);
SharedPreferences.Editor editor = mPref.edit();
editor.putBoolean("ALogin",true);
editor.putString("userID",ID);
editor.putString("userPW",PW);
editor.apply();
}
private boolean getAutoPreferences(){
SharedPreferences mPref = getSharedPreferences("mPref",MODE_PRIVATE);
return mPref.getBoolean("Alogin",false);
}
private String getIDPreferences(){
SharedPreferences mPref = getSharedPreferences("mPref",MODE_PRIVATE);
return mPref.getString("userID","");
}
private String getPWPreferences(){
SharedPreferences mPref = getSharedPreferences("mPref",MODE_PRIVATE);
return mPref.getString("userPW","");
}
public void isAutoLoginChecked(){
CheckBox autoLogin = (CheckBox) findViewById(R.id.autoButton);
autoLogin.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
loginChecked = true;
}
else{
loginChecked = false;
}
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
TextView registerButton = (TextView) findViewById(R.id.registerButton);
registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
LoginActivity.this.startActivity(registerIntent);
}
});
final EditText idText = (EditText) findViewById(R.id.idText);
final EditText passwordText = (EditText) findViewById(R.id.passwordText);
final Button loginButton = (Button) findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String userID = idText.getText().toString();
final String userPassword = passwordText.getText().toString();
boolean isAutoLoginEnabled=false;
isAutoLoginEnabled = getAutoPreferences();
if(isAutoLoginEnabled){
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) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
LoginActivity.this.startActivity(intent);
finish();
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
LoginRequest loginRequest = new LoginRequest(getIDPreferences(), getPWPreferences(), responseListener);
RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
queue.add(loginRequest);
}
else {
isAutoLoginChecked();
if (loginChecked) {
savePreferences(userID, userPassword);
}
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) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
LoginActivity.this.startActivity(intent);
finish();
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
dialog = builder.setMessage("계정을 다시 확인하세요")
.setNegativeButton("다시 시도", null)
.create();
dialog.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
LoginRequest loginRequest = new LoginRequest(userID, userPassword, responseListener);
RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
queue.add(loginRequest);
}
}
});
}
@Override
protected void onStop(){
super.onStop();
if(dialog != null){
dialog.dismiss();
dialog = null;
}
}
}