iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
0
Mobile Development

Android Studio入門教學&筆記系列 第 17

Android Studio - SharedPreferences儲存資料應用

  • 分享至 

  • xImage
  •  

利用上一篇介紹的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();
    }
}


上一篇
Android Studio - SharedPreferences介紹
下一篇
Android Studio - SharedPreferences記住密碼應用
系列文
Android Studio入門教學&筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言