보통 액티비티 생성 자체는 최소화 하고 프래그먼트로 대체를 하잖아요?
그리고 가끔 어쩔 수 없는 경우에는 액티비티를 호출을 하는걸로 아는데..
컴포즈는 Xml 파일(레이아웃)이 아예 없이 필요한 컴포넌트들을 그때 그때 호출해서 사용하니까 MainActivity 하나만 있으면 해결 되나요?
아니면 컴포즈를 쓰더라도 다른 액티비티를 만들어서 써야 하는 경우가 있나요?
2개의 댓글
무분별한 사용은 차단될 수 있습니다.
보통 액티비티 생성 자체는 최소화 하고 프래그먼트로 대체를 하잖아요?
그리고 가끔 어쩔 수 없는 경우에는 액티비티를 호출을 하는걸로 아는데..
컴포즈는 Xml 파일(레이아웃)이 아예 없이 필요한 컴포넌트들을 그때 그때 호출해서 사용하니까 MainActivity 하나만 있으면 해결 되나요?
아니면 컴포즈를 쓰더라도 다른 액티비티를 만들어서 써야 하는 경우가 있나요?
조강현
Jetpack Compose를 사용하면 XML 레이아웃 없이 UI를 구성할 수 있기 때문에, 많은 경우에 MainActivity 하나만으로도 애플리케이션을 구축할 수 있습니다. 그러나 여전히 다른 액티비티를 생성해야 하는 상황이 있을 수 있습니다. 아래에서 이러한 경우를 살펴보겠습니다.
MainActivity 하나로 해결할 수 있는 경우
단일 액티비티 애플리케이션: 많은 최신 애플리케이션은 단일 액티비티를 사용하고, 이 안에서 여러 컴포저블(Composable)을 사용하여 UI를 구성합니다. 네비게이션도 Jetpack Compose의 NavController를 사용하여 처리할 수 있습니다.
간단한 애플리케이션: 애플리케이션이 단순한 구조를 가지고 있고, 별도의 액티비티가 필요 없는 경우.
다른 액티비티를 생성해야 하는 경우
독립적인 기능: 특정 기능이 다른 UI와 완전히 독립적이고, 자체 생명주기를 관리해야 할 필요가 있을 때. 예를 들어, 설정 화면이나 로그인 화면 등은 별도의 액티비티로 구현할 수 있습니다.
외부 인텐트: 외부 애플리케이션에서 특정 액티비티를 호출해야 할 때. 예를 들어, 특정 액티비티가 다른 애플리케이션에서 호출되어야 할 때가 있습니다.
다중 작업: 사용자가 여러 작업을 동시에 수행할 수 있도록 다중 액티비티를 제공해야 하는 경우.
결론적으로, Jetpack Compose를 사용하면 많은 경우에 단일 액티비티로 애플리케이션을 구축할 수 있지만, 특정 상황에서는 여전히 여러 액티비티를 사용하는 것이 적절할 수 있습니다. 이러한 결정을 내릴 때는 애플리케이션의 구조와 요구사항을 고려해야 합니다.
힝거루
정답은 없다고 말해주고 싶네.
Compose 앱은 몇몇 특수한 경우를 제외하고는 다중 Activity로 구성할 일이 별로 없긴 하지만, 이건 개발자의 선택의 영역이지.
어차피 회사가면 거기에 맞춰서 개발해야하니 이런 방법도 있구나~ 하고 넘어가는게 속편해