利用上一篇介紹的SharedPreferences,將註冊的帳號密碼儲存起來,並且若有註冊成功之後再開啟程式主要頁面就會是登入畫面,這不會用到資料庫,只有自己的手機擁有資料數據,算是SharedPreferences實際使用的小小練習,接著我會在註解解說一下我的想法~
public class SignUp extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.signup);
EditText account = findViewById(R.id.account);
EditText password = findViewById(R.id.password);
SharedPreferences user = getSharedPreferences("signup", MODE_PRIVATE);
Boolean signed=user.getBoolean("signed",false);
//signed是我下面副程式寫的標誌,若有資料存取true,沒有的話false
if(signed==true){ //開啟APP時若有註冊資料則直接跳到登入頁面,這一頁會finish掉
Intent intent = new Intent().setClass(SignUp.this,Login.class);
startActivity(intent);
finish();
}
else {
Button signup = (Button) findViewById(R.id.signup);
signup.setOnClickListener(new View.OnClickListener() { //點下註冊按鈕
@Override
public void onClick(View v) {
String Account=account.getText().toString();
String Password=password.getText().toString();
if (TextUtils.isEmpty(Account)) { //若沒輸入的話提示一下用戶
Toast.makeText(signup_MainAct.this, "請輸入密碼", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(Password)) {
Toast.makeText(signup_MainAct.this, "請輸入密碼", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent();
intent.setClass(SignUp.this, Login.class);
Toast.makeText(SignUp.this, "註冊成功", Toast.LENGTH_SHORT).show();
startActivity(intent);
finish();
input(); //若註冊成功則會執行我寫的副程式
}
}
});
}
}
private void input() {
SharedPreferences user = getSharedPreferences("signup", MODE_PRIVATE);
SharedPreferences.Editor edit = user.edit(); //進入寫入模式
edit.putString("account", account.getText().toString());
edit.putString("password", password.getText().toString()); //將帳號密碼存起來
edit.putBoolean("signed",true); //註冊成功時存成true用來讓下次開啟APP時判斷
edit.commit();
}
}