일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MyVoca
- Hilt
- Kotlin
- pandas
- activity
- Rxjava
- android
- 코드포스
- 코루틴
- ProGuard
- 프로그래머스
- livedata
- Gradle
- boj
- GitHub
- architecture
- androidStudio
- Codeforces
- Coroutine
- Python
- AWS
- textfield
- 백준
- Compose
- 쿠링
- MiTweet
- relay
- TEST
- Coroutines
- 암호학
- Today
- Total
목록전체 글 (379)
이동식 저장소
사용자 이벤트나 시스템 이벤트에 의해 ``Activity``의 state가 바뀔 수 있다. 이번 글에서는 state가 바뀌는 대표적인 상황을 알아보고, state 변화에 대응하는 방법을 공부해 보자.Configuration changeConfiguration change를 일으키는 이벤트는 매우 많다. 대표적으로 화면 방향을 바꾸는 경우가 있고, 그 외에 언어나 입력 장치를 바꾸는 경우가 있다. Configuration change가 발생하면 activity는 destroy된 후 다시 만들어진다. Destroy 과정에서는 다음 콜백이 실행된다.``onPause()````onStop()````onDestroy()``새 activity 인스턴스가 만들어질 때에는 다음 콜백이 실행된다.``onCreate()`..
Failed to upload application(s): failed to upload app bundle, error: googleapi: Error 403: You cannot upload a test-only APK or Android App Bundle., forbidden여러 원인이 있을 수 있지만, 나는 ``compileSdkPreview`` 버전을 현재 프리뷰 상태인 ``VanillaIceCream``(Android 15 프리뷰)로 설정해서 오류가 발생했다. Google Play는 프리뷰 버전으로 compile한 앱을 거부한다. ``compileSdkPreview = "VanillaIceCream`` 대신 ``compileSdk = 34``를 사용하고, ``VanillaIceCream`` ..
Compose API 중 ``derivedStateOf``라는 API가 있다. 이름만 보면 state로부터 다른 state를 만드는 함수인 것처럼 보인다. 왜냐면 공식 문서에도 그렇게 적혀있기 때문이다.derivedStateOf: convert one or multiple state objects into another state실제 의미그러나 실제로는 output을 줄이는 최적화 API에 가깝다. Android developers 아티클의 예시를 통해 이해해 보자. 다음과 같은 로그인 UI가 있다. 서비스 정책적으로 username은 알파벳으로만 이루어질 수 있다고 하자. ``username``을 입력할 때 ``submitEnabled``의 변화는 다음과 같다.여기까진 문제가 없다. 그런데 ``user..
사용자가 앱을 사용하는 동안 activity는 생명주기의 여러 단계를 지난다. Activity에는 생명주기가 바뀔 때마다 실행되는 콜백이 정의되어 있어, 생명주기별로 실행할 작업을 정의할 수 있다. 생명주기 콜백 함수에서는 사용자가 activity에서 들어올 때와 나갈 때 실행할 코드를 작성할 수 있다. 예를 들어 비디오 스트리밍 앱을 만들고 있다면, 사용자가 다른 앱으로 이동했을 때에는 비디오 재생을 중지할 수 있다. 사용자가 앱으로 돌아오면 다시 재생을 시작할 수 있다. 생명주기에 맞는 작업을 실행하면 더 빠르고 견고한 앱을 만들 수 있다. 대략 아래와 같은 경우를 방지할 수 있다.사용자가 전화를 받거나 다른 앱으로 이동할 때 앱이 crash되는 경우사용자가 앱을 사용하고 있지 않을 때 시스템 자원을..
``Activity`` 클래스는 안드로이드에서 매우 중요한 컴포넌트이다. ``main()`` 함수에서 시작하는 다른 언어들과 달리 안드로이드 프레임워크는 ``Activity`` 인스턴스로부터 앱을 시작하며, 생명주기에 따라 적절한 콜백을 실행한다.Concept모바일 앱은 상황에 따라 다른 경로로 실행될 수 있다. 앱 목록에서 이메일 앱을 실행하면 아마 메일 리스트가 보일 것이다. 그러나 SNS 앱에서 ``메일 보내기`` 작업을 선택하여 메일 앱으로 넘어왔다면 메일 쓰기 화면이 보일 것이다. ``Activity``는 이런 방식에 맞게 설계되었다. 어떤 앱에서 다른 앱을 시작할 때에는 시작할 앱의 activity를 호출해야 한다. 즉 activity는 앱의 entry point 역할을 한다. Activit..