본문 바로가기

Android24

suspend 함수 suspend 개념코루틴 안에서만 호출 가능한 함수-> 이 작업은 오래 걸릴 수 있어요 -> 그래서 코루틴 안에서만 호출해야 합니다. (실제로도 코루틴 안에서 호출하지 않을 시 오류 발생) -> 메인 스레드는 화면을 그리느라 바쁘다! -> 그래서 시간이 오래걸리는 요청과 같은 역할은 비동기로! -> 코루틴 내부에서 실행 순서대로 해당 작업을 기다려 준다! 생각이걸 보면서 콜백 함수가 생각이 났다. 콜백 함수의 경우 요청후 응답 후 실행할 일들을 내부에서 처리하도록 코드를 작성하는데 이는 가독성이 떨어지며 유지보수도 힘듦 suspend 키워드를 사용하여 코드를 작성시 비동기 코드를 더 읽고 쉽게 관리할 수 있을 것 같다는 생각이 들음 실제로도 프로젝트를 진행하면서 처음에는 콜백 방식을 사용하였지만 이후에.. 2025. 5. 20.
안드로이드 액티비티 라이프 사이클 액티비티 라이프 사이클 이란? 액티비티의 생성~ 종료까지의 과정을 말한다. Activity 클래스에서는 액티비티가 상태 변화를 알아차릴 수 있는 콜백 제공한다. 화면 전환, 화면이 가려짐, 종료 등시의 상태 변화 시에 자동으로 호출된다. 이러한 상태 변화가 있을때 마다 생명주기 메서드를 호출하여 상태 변화를 알려준다. 직접 실행을 통해 알아보자 밑에는 화면이 가려짐에 따라서 상태 변화가 어떻게 이루어지는지 알 수 있다. MainActivity class MainActivity : AppCompatActivity() { //생성된 화면 요소를 메모리에 로드 Activity가 생성되면 가장 먼저 호출됨 //화면 Layout 정의, View 생성, Databinding 등은 이곳에 구현함 //생명주기 통틀어서.. 2024. 4. 8.
안드로이드[코틀린] 이미지 밝기 조절 1. 해당 메서드 추가 private fun setRGB(progress: Int) = (progress * 0x10000 + progress * 0x100 + progress * 0x1) 2. 이미지에 적용 imageView.colorFilter = LightingColorFilter(setRGB(255), setRGB(0)) // 밝게 imageView.colorFilter = LightingColorFilter(setRGB(127), setRGB(0)) //어둡게 2024. 3. 29.
안드로이드[Kotlin] NumberPicker 사용(약간의 커스텀) 안드로이드의 기본으로 제공해 주는 NumberPicker을 사용하는데 기본 상태가 너무 못생겨 간단하게 손을 봐주었다. 결과물은 이러하다 NumberPicker에 사용할 백그라운드 drawable -> new -> drawable resource file에서 생성 gravity"center|fill_horizontal"적용 시 가운데 부분을 꽉 채울 수 있다.(대신 width부분은 의미가 없어짐) 가로넓이를 지정하고 싶다면 fill_horizontal을 지우고 width를 조절하면 된다. themes themes에서 NumberPicker의 텍스트 크기, 스타일 등을 지정할 수 있다. xml 리니어 레이아웃으로 뷰를 가로로 배치할 수 있게 만들고 3개의 리니어 레이아웃을 만들어 weight을 1씩 주어 .. 2024. 3. 28.