Android

· KMP
안드로이드 스튜디오에서 KMM(Kotlin Multiplatform Mobile) 앱을 개발하기 위해서는 KMM 개발용 플러그인을 설치해야 한다. 이번 글에서는 KMM 용 플러그인을 설치하는 방법과, 해당 플러그인을 사용해 프로젝트를 만드는 방법까지를 학습해볼 것이다. KMP 플러그인 설치하기 1. 안드로이드 스튜디오를 켜면 다음과 같은 화면이 나온다. 2. 이 화면에서 왼쪽에 Plugin을 누르고, Kotlin Multiplatform을 검색하면, Kotlin Multiplatform Mobile 플러그인이 나온다. 이걸 Install을 누른다. 3. 설치가 완료되면, 안드로이드 스튜디오를 재시작하라는 팝업이 나오고, 재시작(Restart) 버튼을 누르면, 플러그인의 설치가 완료된다. 여기까지 KMM ..
일반적인 Activity 생명주기에 대한 콜백 등록 방법 일반적으로 Activity 생명주기에 대한 콜백을 등록하기 위해서는 Activity 수준에서 onStart, onResume, onPause, onStop 등의 함수들을 override 하고 그 함수에 해당 콜백을 등록해야 한다. class MainActivity : ComponentActivity() { ... override fun onStart() { super.onStart() println("onStart 콜백") } override fun onResume() { super.onResume() println("onResume 콜백") } override fun onPause() { super.onPause() println("onPause..
특정 Composable에 대한 Isolated Test를 위한 createComposeRule 우리는 지금까지 createComposeRule을 사용해 UI 테스트를 진행했다. createComposeRule을 사용하면, 특정한 Composable을 화면에 표시할 수 있고, 해당 UI를 조작해 테스트를 진행할 수 있다. 예를 들어 다음 코드와 같이 CirclePlayButton을 화면에 표시하고, 클릭한 다음, 해당 클릭이 제대로 일어났는지를 테스트할 수 있다. class OnNodeWithContentDescriptionTest { @get:Rule val composeRule = createComposeRule() @Test fun testCircleButtonClick() { // Given va..
문제 상황 개발 테스트 도중 Android Studio Layout Inspector에서 Compose View들이 보이지 않고 아래와 같이, AndroidComposeView로만 뭉뚱그려 나오는 문제가 발생했다. 해결 방법 이 문제를 해결하기 위해서 Google Issue Tracker을 확인한 결과 다음 두가지의 요구사항이 필요함을 확인했다. 1. Android Studio Flamingo 이상의 버전 사용 2. 8.0.0 이상의 AGP(Android Gradle Plugin) 사용 참조: https://issuetracker.google.com/issues/246355403 Google Issue Tracker issuetracker.google.com 내 Android Studio는 마침 딱 Fl..
이전 시간에 배운 내용 이전 시간에 우리는 JUnit에서 지원하는 @get:Rule 어노테이션과 함께 createComposeRule을 사용해 ComposeContentTestRule 객체를 만듦으로써 Composable 테스트 환경을 구축하는 방법에 대해 알아보았다. 이후에는 ComposeContentTestRule 객체를 사용해 onNodeWithText를 통해 UI 컴포넌트를 찾는 방법에 대해 다루었다. 이번 시간에는 onNodeWith- 구문을 사용해 더욱 다양한 방법으로 UI 컴포넌트를 찾는 방법에 대해 알아본다. onNodeWithText의 한계 onNodeWithText는 매우 편리한 기능이지만, 텍스트가 있는 컴포넌트를 찾을 때만 쓸 수 있다. 모든 UI 컴포넌트가 텍스트를 가지는 것은 아..
Dev.Cho
'Android' 태그의 글 목록 (2 Page)