wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Android/Challenge

패스트캠퍼스 챌린지 34일차

Kick_snare 2022. 2. 26. 23:50
728x90

30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

강의 목표


  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 앱 개발시 원하는 기능을 구현하기 위해 어떤 기술이 필요한 지 알 수 있습니다.
  • 디자인 아키텍처 패턴, 비동기 처리 등 효율적인 앱 개발 방법을 익힐 수 있습니다.

목차 02 Basic - Ch05. 전자액자


  • 인트로
  • Android기기 권한 받아오기
  • 권한을 통해 사진 가져오기
  • 사진 가져와서 목록 구성하기
  • 액자 화면 구성하기
  • Activity Lifecycle 을 알아보고 완성도 높이기
  • 아웃트로

액자 화면 구성하기

먼저 액자화면을 위한 새로운 activity를 생성하고 manifest.xml에 추가해준다. 마찬가지로 이 액티비티를 위한 View 또한 추가해준다.

class PhotoFrameActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(R.layout.activity_photoframe)
    }
}

다음으로 , 이 액티비티를 불러오기 위한 버튼인 StartButton에 대한 작업이 필요하다

private fun initStartPhotoFrameModeButton() {
    startPhotoFrameModeButton.setOnClickListener {
        val intent = Intent(this, PhotoFrameActivity::class.java)
        imageUriList.forEachIndexed { index, uri ->
            intent.putExtra("photo$index", uri.toString())
        }
        intent.putExtra("photoListSize", imageUriList.size)
        startActivity(intent)
    }
}

다른 액티비티로 데이터를 넘겨주기 위해 putExtra 함수를 이용하여 사진의 uri를 넘겨준다.

6개의 사진을 인덱스로 이름을 매겨 uri를 넘겨주고, 6개로는 정보 또한 intent로 넘겨준다.

intent로 넘겨준 데이터를 새로운 액티비티에서 받아보도록 하자

private val photoList = mutableListOf<Uri>()

private fun getPhotoUriFromIntent() {
        val size = intent.getIntExtra("photoListSize", 0);
        for(i in 0..size) {
            intent.getStringExtra("photo$i")?.let{
                photoList.add(Uri.parse(it))
            }
        }
    }

intent에서 getExtra 함수를 써서 가져오자

먼저 사진배열의 길이를 가져오고,

마찬가지로 반복문을 돌면서 해당하는 사진들을 가져온다.

사진 Uri 를 담기 위한 mutable 리스트를 만들어서 담는다


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

수강인증샷

 

링크

https://bit.ly/37BpXiC

 

728x90