notes
Android - default starter
Android 기본 starter 프로젝트 구조·초기 설정과 실행 흐름 메모.
Empty Activity(Compose)로 프로젝트 만들면 MainActivity : ComponentActivity랑 setContent { }만 덜렁 나온다. Kotlin의 main()이 아니라 Activity onCreate가 앱 진입점이라는 게 처음엔 어색했다.
생성 직후 뼈대
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyAppTheme {
Greeting("Android")
}
}
}
}
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
onCreate: 프로세스/Activity가 만들어질 때 한 번(설정 변경으로 재생성되면 또)setContent: Compose 트리를 이 Activity 창에 붙임@Composable: “UI를 그리는 함수”라고 컴파일러에 표시. 일반 함수처럼 마음대로 호출하면 안 되고, 다른 Composable / setContent 안에서만
폴더 감각
app/src/main/java/.../MainActivity.kt— 진입AndroidManifest.xml— LAUNCHER Activity 등록res/— 테마·문자열·아이콘 (Compose만 써도 테마 XML은 남음)build.gradle.kts— AGP·Compose compiler 버전
View 시스템 starter와의 차이
XML setContentView(R.layout.activity_main) 대신 Compose setContent. AppCompatActivity 대신 ComponentActivity를 쓰는 템플릿이 기본이다. 레거시 XML 프로젝트는 여전히 AppCompat + Fragment.
내가 다음에 손대는 순서
- 패키지명·applicationId 확인
minSdk/targetSdk(스토어 정책)- 테마 색 → 첫 화면 Composable 분리
- Navigation-Compose 넣기 전에 단일 화면으로 흐름 잡기