inflearn logo
강의

Course

Instructor

[LV1] Jetpack Compose - UI Practice

Lecture material link

Jetpack Compose의 화면구성

509

shin754922978

2 asked

1

안녕하세요 좋은 강의 잘 듣고 있습니다.

강의를 수강하다 의문이 생겨 질문을 올립니다.


<질문>

xml만을 이용해서 프로젝트를 해오다가 컴포즈에 관심이 생겨서 시작하게 되었는데 컴포즈의 경우 보통 액티비티를 시작하는 1개만 쓰는 지 궁금합니다.

 

xml방식의 경우에는 화면 이동을 위해서 startActivity같은 걸이용해서 전환을 하기에 새로운 화면이 필요하다면 모든 경우 액티비티를 만들고 그에 맞는 xml을 디자인해왔습니다.

 

그런데 컴포즈는 꼭 액티비티를 사용하지 않고도 메인 액티비티에서 @Composable을 부르고 네비게이션으로 다음 Compose화면으로 넘어가면 굳이 액티비티를 구성하지 않아도 정상적으로 작동이 되더라구요.

 혹시나 그렇다면 UI화면별로 필요한 kt만 만들고 네비게이션으로 이어만 주면 되는건가요?

<질문2>

추가적으로 강사님께서 Box를 쓸 때도 있고 바로 Column을 쓸 때도 있고 Surface를 사용하시는 경우도 있는데 어떨 때 각각을 사용하시는지? 궁금합니다!

 

android kotlin jetpack

Answer 1

1

bokchi

안녕하세요 근재님

저도 Jetpack Compose를 도입하면서 들었던 의문 정확히 2개가 맞습니다.

 

  1. 물론 Activity 한개로도 가능합니다.
    저도 여러 설명을 보고 처음에 사용할 때 Activity 1개로 사용을 하고 화면만 Jetpack Compose 위젯으로 처리를 했습니다.


    다만 그렇게 했을 때 ViewModel이 1개로 인한 뷰모델이 비대해지는 문제와


    Activity 라이프라이클에 의한 onRestart OnResume 등에 대한 부분을 처리하기가 까다로워 지더라구요
    물론 할 수는 있지만 조금 귀찮은 느낌이었습니다. Activity 전환 시에 자연스럽게 다음 화면으로 넘어가는 효과도 디자이너분이 요청하셨을 때 액티비티 한개로는 부자연스러운 느낌이 들었던 적도 있구요

    저는 ViewModel 기준으로 한개로 가능한 부분까지 Activity하나로 하고 ViewModel에 로직 분류가 여러개가 필요하면 여러 액티비티로 구성하는게 좋은 것이라 결론내렸는데, 정답은 없는 것이니 근재님이 원하시는 형태로 사용하시면 좋을 것 같습니다.

2. 저는 항목을 나눌 때 Box를 주로 사용하는 편이고
그 안에서 Column Row 등을 이용해서 배치하고 있습니다.
그게 가장 편했던 기억이 있습니다 🙂

좀 더 추가적인 문의사항 있으시면 또 말씀주세요!

 

6강에 비디오가 이상해요

0

27

2

메인액티비티의 내용이 강의와 다른 것 같습니다.

0

153

2

TextField에서 Cursor의 두께를 조절하는 방법이 있을까요?

0

208

2

TextField에서 테두리 제거하는 방법이 궁금합니다.

0

220

2

강의자료 링크에 접근이 되지 않습니다.

0

268

1

@OptIn(ExperimentalMaterial3Api::class) 질문

0

572

2

프로젝스 생성 시 EmptyComposeActivity를 만드는 건가요?

0

471

1

CoupangEx 4 강에서

0

303

2

HorizontalPagerIndicator 의 pagerState = pageState, 에서 빨간줄이 생깁니다

0

516

2

colorList 에서 빨간줄이 ...

0

230

2

Canvas drawCircle 에서

0

419

5

Canvas drawCircle 에서

0

198

1

이력서앱의 화면이 강사님과는 너무 달라서 어찌 ???

0

911

1

TopAppBar 관련부분에 빨간줄이 ..

0

381

3

Retrofit 관련 url 주소를 적을 때 주의사항입니다

0

302

1

Retrofit 관련 Logcat 화면에 아래 예외가 출력

0

624

6

Modifier.weight의 토탈

0

258

1

에뮬에 오류가 뜨네요(WebView)

0

295

2

강의자료실 주소를 알고싶어요

0

435

1

implementation 'androidx.navigation:navigation-compose:2.7.4' 입력시 발생하는 에러 문의합니다.

0

328

1

horizontalArrangement verticalAlignment 관련질문입니다

0

283

3

혹시 Lv2 강의는 언제쯤 올라오는 알수잇을까요?

0

314

2

강사님 닉네임에 생각나는 것이 있어용 ^^

0

239

1

웹뷰 화면 깨짐 현상에 대해 질문드립니다!

0

2014

2