开源项目 multiplatform-compose 使用教程
1. 项目的目录结构及介绍
multiplatform-compose 项目的目录结构如下:
multiplatform-compose/
├── build.gradle.kts
├── settings.gradle.kts
├── README.md
├── common/
│ ├── src/
│ │ ├── commonMain/
│ │ │ ├── kotlin/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── common/
│ │ │ │ └── Main.kt
│ │ │ └── resources/
│ │ └── commonTest/
│ │ ├── kotlin/
│ │ └── resources/
├── android/
│ ├── src/
│ │ ├── main/
│ │ │ ├── kotlin/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── MainActivity.kt
│ │ │ └── res/
│ │ └── test/
│ │ ├── kotlin/
│ │ └── resources/
├── ios/
│ ├── src/
│ │ ├── main/
│ │ │ ├── kotlin/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── ios/
│ │ │ │ └── Main.kt
│ │ │ └── resources/
│ │ └── test/
│ │ ├── kotlin/
│ │ └── resources/
├── desktop/
│ ├── src/
│ │ ├── main/
│ │ │ ├── kotlin/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── desktop/
│ │ │ │ └── Main.kt
│ │ │ └── resources/
│ │ └── test/
│ │ ├── kotlin/
│ │ └── resources/
目录结构介绍
build.gradle.kts
和settings.gradle.kts
:Gradle 构建脚本。README.md
:项目说明文档。common/
:包含跨平台的通用代码。commonMain/
:通用主代码。commonTest/
:通用测试代码。
android/
:Android 平台相关代码。main/
:主代码。test/
:测试代码。
ios/
:iOS 平台相关代码。main/
:主代码。test/
:测试代码。
desktop/
:桌面平台相关代码。main/
:主代码。test/
:测试代码。
2. 项目的启动文件介绍
Android 平台
Android 平台的启动文件是 android/src/main/kotlin/com/example/android/MainActivity.kt
。这个文件定义了 Android 应用的主活动(Activity)。
package com.example.android
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.example.common.MainView
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MainView()
}
}
}
iOS 平台
iOS 平台的启动文件是 ios/src/main/kotlin/com/example/ios/Main.kt
。这个文件定义了 iOS 应用的入口点。
package com.example.ios
import com.example.common.MainView
import platform.UIKit.UIApplication
import platform.UIKit.UIApplicationDelegateProtocol
import platform.UIKit.UIApplicationMain
import platform.UIKit.UIResponder
import platform.UIKit.UIScreen
import platform.