자기소개 앱 - Detail

박재원·2023년 12월 22일
0

TIL

목록 보기
18/50
post-thumbnail

오늘은 자기소개 앱에서 기능적으로 무엇이 있었는지 설명하려고 한다.

SignInActivity

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에 출력하도록 했다.

SignupActivity

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()를 사용해 입력된 회원가입 정보들을 넘겨준다.

HomeActivity

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()함수로 종료 버튼을 눌렀을 때 초기화면으로 돌아가도록 했다.

0개의 댓글