📌  相关文章
📜  使用 Jetpack Compose 在 Android 中搭建脚手架(1)

📅  最后修改于: 2023-12-03 15:36:30.457000             🧑  作者: Mango

使用 Jetpack Compose 在 Android 中搭建脚手架

Jetpack Compose 是一种全新的 Android UI 工具包,它使得开发者可以更加快速、简便地构建 Android 应用的 UI。

搭建脚手架是一个非常常见的任务,它可以帮助开发者更快速地开始一个新的项目。Jetpack Compose 也提供了很多方便的 UI 组件,可以用来构建一个可用的脚手架。

准备

在开始之前,您需要先安装 Android Studio 4.2 或更高版本,并且需要有一定的 Kotlin 基础。

此外,您需要在您的项目的 build.gradle 文件中添加下面的依赖:

android {
  ...
  // 定义使用的 Kotlin 版本,这里使用的是 1.5.10
  kotlinOptions {
    jvmTarget = "1.8"
    useIR = true
  }
  ...
}

dependencies {
  ...
  // Jetpack Compose
  implementation 'androidx.compose.ui:ui:1.0.0-rc01'
  // UI 组件
  implementation 'androidx.compose.material:material:1.0.0-rc01'
  // 工具类
  implementation 'androidx.compose.ui:ui-tooling:1.0.0-rc01'
  // 在预览中使用 Coroutine
  implementation 'androidx.compose.runtime:runtime-livedata:1.0.0-rc01'
  // 在测试中使用 Coroutine
  androidTestImplementation 'androidx.arch.core:core-testing:2.1.0'
  testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0'
  ...
}
创建脚手架
创建项目

首先,您需要创建一个新的 Android 项目。在创建项目时,您需要选择使用 Empty Activity 模板。

添加 Jetpack Compose 支持

接下来,您需要在项目中添加 Jetpack Compose 支持。添加 Jetpack Compose 支持的步骤如下:

  1. build.gradle 文件中添加下面的插件:

    plugins {
        ...
        // 添加 Jetpack Compose 支持
        id 'org.jetbrains.kotlin.android.extensions'
        id 'org.jetbrains.kotlin.kapt'
        id 'com.android.application'
    }
    
  2. settings.gradle 文件中添加下面的代码:

    include ':app'
    // 添加 Jetpack Compose 支持
    include ':third-party:compose'
    project(':third-party:compose').projectDir =
        new File(settingsDir, '../third-party/compose')
    
  3. 在项目的根目录中创建一个名为 third-party 的文件夹,并在其中创建一个名为 compose 的文件夹。

  4. third-party 文件夹中创建一个名为 build.gradle 的文件,并在其中添加下面的代码:

    apply plugin: 'kotlin-kapt'
    
    repositories {
        google()
        mavenCentral()
    }
    
    dependencies {
        implementation 'androidx.core:core-ktx:1.6.0'
        implementation 'androidx.appcompat:appcompat:1.3.0'
        implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.10'
        implementation 'androidx.activity:activity-ktx:1.3.0'
        implementation 'com.google.android.material:material:1.4.0'
        implementation 'androidx.compose.ui:ui:1.0.0'
        implementation 'androidx.compose.material:material:1.0.0'
        implementation 'androidx.compose.runtime:runtime:1.0.0'
        implementation 'androidx.compose.ui:ui-tooling:1.0.0'
        
        // 在单元测试和 UI 测试中使用 Jetpack Compose
        testImplementation "junit:junit:4.13.2"
        testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0"
        androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.0.0" 
        androidTestImplementation "androidx.compose.ui:ui-test-manifest:1.0.0"
        androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
    }
    
  5. third-party/compose 文件夹中创建一个名为 build.gradle 的文件,并在其中添加下面的代码:

    apply plugin: 'kotlin'
    
    repositories {
        google()
        mavenCentral()
    }
    
    dependencies {
        implementation project(':third-party:compose')
        implementation 'androidx.compose.ui:ui:1.0.0'
        implementation 'androidx.compose.foundation:foundation:1.0.0'
        implementation 'androidx.compose.material:material:1.0.0'
        implementation 'androidx.compose.runtime:runtime:1.0.0'
        implementation 'androidx.compose.ui:ui-tooling:1.0.0'
        implementation 'androidx.activity:activity-compose:1.3.0'
    }
    
  6. 在项目的 build.gradle 文件中添加下面的代码:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
            // 添加 Jetpack Compose 支持
            flatDir {
                dirs 'third-party/compose/libs'
            }
            ...
        }
    }
    
创建脚手架

接下来,您需要创建一个基本的脚手架。在创建脚手架时,您需要创建一个名为 MainActivity.kt 的文件,并在其中添加下面的代码:

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.setContent

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            // 在这里编写您的 UI
            MyApp()
        }
    }
}

@Composable
fun MyApp() {
    Text(text = "Hello, world!")
}

在这里,我们使用了 setContent 函数来设置应用的布局,然后我们在 MyApp 函数中编写了我们的 UI。

测试

最后,您需要对您的脚手架进行测试。我们可以使用 Android Studio 自带的模拟器或者自己的 Android 设备进行测试。

运行应用后,您应该能够看到一个显示 Hello, world! 文本的界面。如果您能看到这个界面,就说明您已经成功地搭建了一个基本的 Jetpack Compose 脚手架。

总结

在本文中,我们介绍了如何使用 Jetpack Compose 在 Android 应用中搭建一个基本的脚手架。Jetpack Compose 提供了很多方便的 UI 组件,可以大大简化我们的开发工作。如果您还没有尝试过 Jetpack Compose,现在就可以开始尝试了。