Android

SharedPreferences μ‚¬μš©ν•˜μ—¬ νšŒμ›κ°€μž… app λ§Œλ“€κΈ°

567Rabbit 2024. 6. 7. 16:26

 

 

 

 

java
λ‹«κΈ°
package com.yujinoh.register; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.snackbar.Snackbar; public class MainActivity extends AppCompatActivity { ​​​​EditText editEmail; ​​​​EditText editPassword; ​​​​EditText editPassword2; ​​​​Button btnRegister; ​​​​@Override ​​​​protected void onCreate(Bundle savedInstanceState) { ​​​​​​​​super.onCreate(savedInstanceState); ​​​​​​​​setContentView(R.layout.activity_main); ​​​​​​​​editEmail = findViewById(R.id.editEmail); ​​​​​​​​editPassword = findViewById(R.id.editPassword); ​​​​​​​​editPassword2 = findViewById(R.id.editPassword2); ​​​​​​​​btnRegister = findViewById(R.id.btnRegister); ​​​​​​​​btnRegister.setOnClickListener(new View.OnClickListener() { ​​​​​​​​​​​​@Override ​​​​​​​​​​​​public void onClick(View v) { ​​​​​​​​​​​​​​​​// 1. μž…λ ₯사항듀을 λͺ¨λ‘ κ°€μ Έμ˜¨λ‹€ ​​​​​​​​​​​​​​​​String email = editEmail.getText().toString().trim(); ​​​​​​​​​​​​​​​​String password = editPassword.getText().toString().trim(); ​​​​​​​​​​​​​​​​String password2 = editPassword2.getText().toString().trim(); ​​​​​​​​​​​​​​​​// 2. ν•„μˆ˜ν•­λͺ© 체크 ​​​​​​​​​​​​​​​​if (email.isEmpty() || password.isEmpty() || password2.isEmpty()){ ​​​​​​​​​​​​​​​​​​​​Snackbar.make(btnRegister,"ν•„μˆ˜ν•­λͺ©μž…λ‹ˆλ‹€. λͺ¨λ‘ μž…λ ₯ν•˜μ„Έμš”.",Snackbar.LENGTH_SHORT).show(); ​​​​​​​​​​​​​​​​​​​​return; ​​​​​​​​​​​​​​​​} ​​​​​​​​​​​​​​​​// 3. 이메일 ν˜•μ‹μ΄ λ§žλŠ”μ§€ 체크 ​​​​​​​​​​​​​​​​if (email.contains("@") == false){ ​​​​​​​​​​​​​​​​​​​​Snackbar.make(btnRegister,"이메일을 μ œλŒ€λ‘œ μž…λ ₯ν•˜μ„Έμš”.",Snackbar.LENGTH_SHORT).show(); ​​​​​​​​​​​​​​​​​​​​return; ​​​​​​​​​​​​​​​​} ​​​​​​​​​​​​​​​​// 4. λ§Œμ•½μ— λΉ„λ²ˆ 길이 μ œμ•½μ΄ μžˆλ‹€λ©΄, ​​​​​​​​​​​​​​​​if (password.length() < 4 || password.length() > 12){ ​​​​​​​​​​​​​​​​​​​​Snackbar.make(btnRegister,"λΉ„λ°€λ²ˆν˜Έ 길이λ₯Ό ν™•μΈν•˜μ„Έμš”.",Snackbar.LENGTH_SHORT).show(); ​​​​​​​​​​​​​​​​​​​​return; ​​​​​​​​​​​​​​​​} ​​​​​​​​​​​​​​​​// 5. λΉ„λ°€λ²ˆν˜Έκ°€ λΉ„λ°€λ²ˆν˜Έ 확인과 같은지 ν™•μΈν•œλ‹€ ​​​​​​​​​​​​​​​​if (password.equals(password2) == false) { ​​​​​​​​​​​​​​​​​​​​Snackbar.make(btnRegister,"λΉ„λ°€λ²ˆν˜Έκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.",Snackbar.LENGTH_SHORT).show(); ​​​​​​​​​​​​​​​​​​​​return; ​​​​​​​​​​​​​​​​} ​​​​​​​​​​​​​​​​// 아바타 μ•‘ν‹°λΉ„ν‹°λ₯Ό λ„μš΄λ‹€ ​​​​​​​​​​​​​​​​Intent intent = new Intent(MainActivity.this, AvataActivity.class); ​​​​​​​​​​​​​​​​// μΈν…νŠΈ 데이터 λ‹€μŒμœΌλ‘œ λ„˜κΈ°κΈ° ​​​​​​​​​​​​​​​​// intent.putExtra("email", email); ​​​​​​​​​​​​​​​​startActivity(intent); ​​​​​​​​​​​​​​​​// 이메일 μ£Όμ†Œλ₯Ό μ•± λ‚΄ μ €μž₯μ†Œμ— μ €μž₯ν•˜λŠ” 방법 ​​​​​​​​​​​​​​​​SharedPreferences sp = getSharedPreferences("avata_app",MODE_PRIVATE); ​​​​​​​​​​​​​​​​SharedPreferences.Editor editor = sp.edit(); ​​​​​​​​​​​​​​​​editor.putString("email",email); ​​​​​​​​​​​​​​​​editor.commit(); ​​​​​​​​​​​​​​​​// λ°±λ²„νŠΌ λˆŒλŸ¬λ„ λ‹€μ‹œ λŒμ•„μ˜€μ§€ λͺ»ν•˜κ²Œ ν•˜κΈ° ​​​​​​​​​​​​​​​​finish(); ​​​​​​​​​​​​} ​​​​​​​​}); ​​​​} }

 

 

 

 

 

java
λ‹«κΈ°
package com.yujinoh.register; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.snackbar.Snackbar; public class AvataActivity extends AppCompatActivity { ​​​​ImageView imgAvata; ​​​​Button btnRabbit; ​​​​Button btnTurtle; ​​​​Button button; ​​​​String email; ​​​​// μœ μ €κ°€ 아바타λ₯Ό μ„ νƒν•˜λ©΄, μ„ νƒν•œ 아바타가 무엇인지 μ €μž₯ν•˜λŠ” μš©λ„μ΄λ‹€. ​​​​// 0 : 아무것도 선택 μ•ˆν•œ 것이닀, 1 : 토끼, 2 : 거뢁이 ​​​​int imageType = 0; ​​​​@Override ​​​​protected void onCreate(Bundle savedInstanceState) { ​​​​​​​​super.onCreate(savedInstanceState); ​​​​​​​​setContentView(R.layout.activity_avata); ​​​​​​​​// μ „ μΈν…νŠΈλ‘œλΆ€ν„° 이메일 λ°›κΈ° ​​​​​​​​// email = getIntent().getStringExtra("email"); ​​​​​​​​imgAvata = findViewById(R.id.imgAvata); ​​​​​​​​btnRabbit = findViewById(R.id.btnRabbit); ​​​​​​​​btnTurtle = findViewById(R.id.btnTurtle); ​​​​​​​​button = findViewById(R.id.button); ​​​​​​​​btnRabbit.setOnClickListener(new View.OnClickListener() { ​​​​​​​​​​​​@Override ​​​​​​​​​​​​public void onClick(View v) { ​​​​​​​​​​​​​​​​imgAvata.setImageResource(R.drawable.rabbit); ​​​​​​​​​​​​​​​​imageType = 1; ​​​​​​​​​​​​} ​​​​​​​​}); ​​​​​​​​btnTurtle.setOnClickListener(new View.OnClickListener() { ​​​​​​​​​​​​@Override ​​​​​​​​​​​​public void onClick(View v) { ​​​​​​​​​​​​​​​​imgAvata.setImageResource(R.drawable.turtle); ​​​​​​​​​​​​​​​​imageType = 2; ​​​​​​​​​​​​} ​​​​​​​​}); ​​​​​​​​button.setOnClickListener(new View.OnClickListener() { ​​​​​​​​​​​​@Override ​​​​​​​​​​​​public void onClick(View v) { ​​​​​​​​​​​​​​​​if (imageType == 0) { ​​​​​​​​​​​​​​​​​​​​Snackbar.make(button, "아바타λ₯Ό μ„ νƒν•˜μ„Έμš”.", Snackbar.LENGTH_SHORT).show(); ​​​​​​​​​​​​​​​​​​​​return; ​​​​​​​​​​​​​​​​} ​​​​​​​​​​​​​​​​// μ•ŒλŸ¬νŠΈ λ‹€μ΄μ–Όλ‘œκ·Έλ₯Ό λ„μš΄λ‹€. ​​​​​​​​​​​​​​​​showAlertDialog(); ​​​​​​​​​​​​} ​​​​​​​​}); ​​​​} ​​​​private void showAlertDialog() { ​​​​​​​​AlertDialog.Builder builder = new AlertDialog.Builder(AvataActivity.this); ​​​​​​​​builder.setCancelable(false); ​​​​​​​​builder.setTitle("νšŒμ›κ°€μž… μ™„λ£Œ"); ​​​​​​​​builder.setMessage("μ™„λ£Œν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?"); ​​​​​​​​builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { ​​​​​​​​​​​​@Override ​​​​​​​​​​​​public void onClick(DialogInterface dialog, int which) { ​​​​​​​​​​​​​​​​// Yes λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œμ˜ 처리 ​​​​​​​​​​​​​​​​Intent intent = new Intent(AvataActivity.this, WelcomeActivity.class); ​​​​​​​​​​​​​​​​// μΈν…νŠΈ 데이터 λ‹€μŒμœΌλ‘œ λ„˜κΈ°κΈ° ​​​​​​​​​​​​​​​​// intent.putExtra("email", email); ​​​​​​​​​​​​​​​​startActivity(intent); ​​​​​​​​​​​​​​​​// λ°±λ²„νŠΌ λˆŒλŸ¬λ„ λ‹€μ‹œ λŒμ•„μ˜€μ§€ λͺ»ν•˜κ²Œ ν•˜κΈ° ​​​​​​​​​​​​​​​​finish(); ​​​​​​​​​​​​} ​​​​​​​​}); ​​​​​​​​builder.setNegativeButton("No", null); ​​​​​​​​builder.show(); ​​​​} }

 

 

 

 

 

java
λ‹«κΈ°
package com.yujinoh.register; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class WelcomeActivity extends AppCompatActivity { ​​​​TextView textWel; ​​​​@Override ​​​​protected void onCreate(Bundle savedInstanceState) { ​​​​​​​​super.onCreate(savedInstanceState); ​​​​​​​​setContentView(R.layout.activity_welcome); ​​​​​​​​textWel = findViewById(R.id.textWel); ​​​​​​​​// μ „ μΈν…νŠΈλ‘œλΆ€ν„° 이메일 λ°›κΈ° ​​​​​​​​// String email = getIntent().getStringExtra("email"); ​​​​​​​​// μ•± λ‚΄ μ €μž₯μ†Œμ— μ €μž₯된 이메일 데이터λ₯Ό κ°€μ Έμ˜¨λ‹€ ​​​​​​​​SharedPreferences sp = getSharedPreferences("avata_app", MODE_PRIVATE); ​​​​​​​​String email = sp.getString("email",""); ​​​​​​​​textWel.setText(email+"λ‹˜\n"+"νšŒμ›κ°€μž…μ„ μΆ•ν•˜ν•©λ‹ˆλ‹€"); ​​​​} }