오늘은 자기소개 앱에서 기능적으로 무엇이 있었는지 설명하려고 한다.
if (ip_id.isEmpty() || ip_pw.isEmpty()) {
Toast.makeText(this, "입력되지 않은 정보가 있습니다.", Toast.LENGTH_SHORT).show()
}
else{
Toast.makeText(this, "아이디와 비밀번호를 확인해주세요.", Toast.LENGTH_SHORT).show()
}
isEmpty()를 사용해 입력된 Edittext에 데이터가 없거나 회원가입을 통해 전달된 데이터가 일치하지 않으면 다음으로 진행되지 않고 알림문구가 뜨게 구현했다.
private lateinit var resultLauncher: ActivityResultLauncher<Intent>
private fun setResultSignUp() {
resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val data: Intent? = result.data
val id = data?.getStringExtra("id")
val password = data?.getStringExtra("password")
val getId = findViewById<EditText>(R.id.et_id)
getId.setText(id)
val getPw = findViewById<EditText>(R.id.et_pw)
getPw.setText(password)
}
}
}
로그인을 성공하고 HomeActivity에서 종료 버튼을 누르게 되면 로그인을 했던 id, password를 받아와 아이디와 비밀번호를 입력하는 TextView에 출력하도록 했다.
if (name.isEmpty() || id.isEmpty() || pw.isEmpty()) {
Toast.makeText(this, "입력 되지 않은 정보가 있습니다.", Toast.LENGTH_SHORT).show()
}
회원가입을 위해 이름, 아이디, 비밀번호를 입력하는데 하나라도 입력하지 않으면 알림이 출력된다.
else{
Toast.makeText(this, "회원가입 성공!", Toast.LENGTH_SHORT).show()
val intent = Intent(this, SignInActivity::class.java)
intent.putExtra("id",id)
intent.putExtra("password", pw)
intent.putExtra("name",name)
startActivity(intent)
}
회원가입을 성공하게 되면 명시적 Intent를 사용하여 SignInActivity로 이동하고, putExtra()를 사용해 입력된 회원가입 정보들을 넘겨준다.
val myid = intent.getStringExtra("id")
val myname = intent.getStringExtra("name")
넘겨준 아이디와 이름을 getStringExtra()로 String 형식으로 받아준다.
val photoImage = findViewById<ImageView>(R.id.imageView)
when(Random.nextInt(1, 6)) {
1 -> photoImage.setImageResource(R.drawable.character1)
2 -> photoImage.setImageResource(R.drawable.character2)
3 -> photoImage.setImageResource(R.drawable.character3)
4 -> photoImage.setImageResource(R.drawable.character4)
5 -> photoImage.setImageResource(R.drawable.character5)
}
Random함수를 이용해 1~5까지의 정수를 무작위로 뽑은 후 when문을 통해 뽑은 숫자의 이미지를 출력하게 구현했다.
val btn_finish = findViewById<Button>(R.id.btn_end)
btn_finish.setOnClickListener{
finish()
}
finish()함수로 종료 버튼을 눌렀을 때 초기화면으로 돌아가도록 했다.