본문 바로가기

개발 노트/Kotlin

Android 앱개발 입문과제(LV4) - 추가구현

# 구현사항

  • 회원 가입 페이지에서 입력한 아이디/비밀번호가 회원 가입 버튼을 눌러 로그인 화면으로 이동할 때 자동으로 입력되도록 구현합니다. (registerForActivityResult 사용)
  • 5장의 사진을 등록합니다.(drawable 폴더)
  • 자기소개 페이지가 시작될 때 5장 중 랜덤으로 1장의 사진이 표시되도록 구현합니다.

 

 

 

 

# registerForActivityResult를 사용한 화면이동&데이터 주고받기

 

 

아래 게시물에 적어놓았다 

https://coding-juuwon2.tistory.com/242

 

registerForActivityResult() 사용법

registerForActivityResult()는 양방향으로 데이터를 주고받는 경우에 주로 사용한다 StartActivity(intent)로 계속해서 엑티비티 호출을 반복하게되면, 엑티비티 스택에 계속해서 엑티비티가 쌓이는 문제가

coding-juuwon2.tistory.com

 

 

 

# registerForActivityResult를 적용한 결과화면

 

 

 

 

 

 

 

 

 

# 사진 랜덤구현

 

Random함수를 이용해 1~5까지의 정수를 무작위로 뽑은 후 when문을 통해 뽑은 숫자의 이미지를 출력하도록 구현했다

코드를 사용해서 이미지를 바꿀려면 setImageResource()함수를 쓰면된다

class HomeActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home)

 		...
        
        val img = findViewById<ImageView>(R.id.imageView2)

		...


        // 1부터 5까지 랜덤값 받아와서
        val random = Random
        val num = random.nextInt(1,5)

        // 해당하는 이미지 출력
        when(num){
            1 -> img.setImageResource(R.drawable.duck2)
            2-> img.setImageResource(R.drawable.duck3)
            3-> img.setImageResource(R.drawable.duck4)
            4-> img.setImageResource(R.drawable.duck5)
            5-> img.setImageResource(R.drawable.duck6)
        }

    }
}

 

 

# ImageView에 이미지표시하는 다양한 방법

  • imagView.setImageResource(R.drawable.image) -> res/drawable폴더의 image이미지를 로드하여 출력
  • imagView.setImageResource(Uri uri) -> Uri에 이미지 파일경로를 찾아서 이미지를 출력 (갤러리에 있는 이미지 가져와서 출력)
  • imagView.setImageBitmap( Bitmap bitmap) -> Bitmap을 로드하여 출력
  • imagView.setImageDrawable (Drawable drawable) -> Drawable형식의 이미지를 로드하여 출력

 

 

# 사진 랜덤구현 결과화면