안드로이드 스튜디오 미세먼지 팁 (독자적인 Kotlin 모듈 / Jetpack Compose 함수 분할)

Newon·2022년 1월 4일
0

Jetpack Compose

목록 보기
1/1

안드로이드 스튜디오 내부에서 독자적인 Kotlin 모듈 만들기

  1. 안드로이드 스튜디오 좌측 App 에 오른쪽 버튼
    New -> Module 을 클릭한다.
    Kotlin 모듈 1

  2. Application / Library name 에 Kotlin Module 이름 생성
    Kotlin 모듈 2

    Module name 에는 문법을 위한 이름이 설정된다.

  3. [설정한 이름]의 새로운 모듈 내부에, java 파일 내부에서 원하는 코틀린을 실행한다.
    Kotlin 모듈 3

  • fun main(){} 은 Kotlin 의 시작이다. 없으면 실행이 안된다.

  • 해당 코틀린 파일 (혹은 class) 을 오른쪽 클릭, 실행을 누르면 실행할 수 있다.

  • App 과 별개로 코틀린이 작동되며, 밑에 터미널처럼 결과가 나온다. (인텔리제이처럼 나온다.)

  • Kotlin Playground 에서도 가능하긴 하지만, 입력을 자유자재로 할 수 있는 이 방법이 더 편한 듯 하다.


Jetpack Compose 함수를 쉽게 Composable 로 분할해보자.

상황

JetpackCompose 분할 1
Column 안에 이러한 코드가 있는 상황에서, Surface 함수 전체를 Composable 함수로 분할하고 싶은 상황이다.

  1. 분할하고자 하는 코드를 전부 드래그해서 블록을 씌운 후, 오른쪽 클릭 -> Refactor -> Function
    JetpackCompose 분할 2

  2. 함수의 이름을 설정하면 ..?
    JetpackCompose 분할 3

  3. 무쳤다 ..
    JetpackCompose 분할 4

  4. modifier 로 파라미터를 넘겨주고 싶다면 modifier: Modifier = Modifier 를 넣자.
    JetpackCompose 분할 5

  • 이때, 함수 내부의 모든 Modifier 는 매개변수의 modifier 로 교체해주어야 한다.
  • 새로운 modifier 가 들어오면 새로운 값은 override, 기존 값은 그대로 있는다.
  1. 매개변수를 미리 넣고 싶다면 ..

    ... 안되는 듯..?
    var image:String = "abcde"형태로 미리 선언한 값을 넣은 후, Composable 분할 후 다시 복사해서 매개변수 값에 넣고 var 나 val 만 지우는 방법을 쓰면 그나마 편하긴 하지만, Refactor 단위에서 하는 방법은 없는 것 같다.

profile
나만 고양이 없어

0개의 댓글