일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- pandas
- ProGuard
- architecture
- 프로그래머스
- MiTweet
- Coroutine
- relay
- Python
- Rxjava
- boj
- androidStudio
- 코드포스
- MyVoca
- textfield
- GitHub
- activity
- android
- Codeforces
- Hilt
- 코루틴
- Kotlin
- livedata
- 쿠링
- Compose
- 암호학
- AWS
- Gradle
- TEST
- Coroutines
- 백준
- Today
- Total
목록android (101)
이동식 저장소
Back navigation은 사용자가 이전에 봤던 화면으로 돌아가는 방법을 말한다. 안드로이드는 사용자가 지금까지 봤던 화면들을 back stack으로 관리한다. Back stack에 저장된 각 항목은 destination이라고 부른다. 스택의 LIFO 특성을 활용하면 가장 최근에 봤던 화면부터 하나씩 다시 볼 수 있다. 일반적인 경우에는 스택에서 pop하는 기본 로직만으로 충분하지만, 가끔 커스텀 로직이 필요할 때가 있다. 예를 들어 ``WebView``를 보여줄 때에는 뒤로 가기를 눌렀을 때 이전 웹 페이지로 돌아가는 커스텀 로직이 필요하다. Android 13 이상에서는 predictive back 제스쳐가 존재한다. Predictive back 내용은 나중에 따로 알아보자.커스텀 back ..
Task는 사용자가 뭔가를 하기 위해 상호작용하는 activity의 모음이다. 새로 생성되는 activity는 back stack이라고 불리는 스택에 삽입된다. 예를 들어, 이메일 앱을 켜면 메일 리스트 activity가 보일 수 있다. 사용자가 어떤 메일을 선택하면, 메일의 자세한 정보를 보여주는 activity가 만들어지고, back stack에 추가된다. 사용자가 뒤로 가기 버튼을 터치하면 메일 상세 정보 activity가 종료되고, back stack에서 pop된다.Task의 생명주기와 back stack대부분의 task는 기기의 홈 화면에서 시작된다. 사용자가 앱 아이콘을 터치하면 그 앱의 task가 포그라운드에 배치된다. 앱의 task가 없었다면, 새 task가 만들어지고 앱의 main ac..
안드로이드 앱에서는 UI = activity라고 봐도 될 정도로 activity의 비중이 크다. 그래서 activity가 실제 기기에서 어떻게 동작하는지 잘 테스트해야 한다.전화가 왔을 때처럼 다른 앱이 activity를 interrupt할 때시스템이 activity를 destroy하고 다시 만들 때사용자가 activity를 PIP나 멀티 윈도우에서 사용할 때등의 다양한 경우에서 activity가 생명주기 이벤트에 잘 대응하는지 확인해야 한다.Activity state 설정Activity를 테스트할 때에는 activity의 state를 설정하는 것이 중요하다. 테스트의 given-when-then 패턴에서 "given" 부분은 AndroidX Test 라이브러리의 ``ActivityScenario`` 인..
사용자 이벤트나 시스템 이벤트에 의해 ``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`` ..