[译]"Hello, Jetpack": 创建你的第一个 Jetpack 应用

点击查看原文

本文将会帮助你构建一个简单的,基于 Jetpack 的基础应用。这个 ? 将基于一个叫做ComponentsBasicSample的 kotlin 项目来讲。
关于如何创建一个基本项目,请参考创建你的第一个项目。想要了解到更多的关于此篇文档中涉及到的类,请参考Android Architecture Components

Set up your app

完成以下步骤来让你的 app 使用上Jetpack

  1. 启动Android Studio(3.2 或更高版本),输入基本信息来创建一个应用

    ⭐️ 如果你使用kotlin来开发,那么记得在创建应用的页面勾选上 Include Kotlin support

  2. 再创建项目页面之后,是Add an Activity to Mobile页面,该页面为你的项目提供了众多模板。如下图所展示的是Activity & Fragment + ViewModel模板。他可以更方便的将 Jetpack 整合到你的项目中去。我们选择该模板,然后点击Next吧。

    Figure 1
  3. 接来下在Configure Activity页面,我们为activityfragmentViewModel输入名字。当然了,你也可以随意改变fragment的包路径。然后,我们点击Finish
    Figure 2
    打开你的 Java 文件夹,会如下图所示,项目初始包含了三个classes:StartActivity,StartFragmentStartViewModel
    Figure 3
  • StartActivity是你程序的入口点,他是一个Activity的根(Stub),用来充当fragment的容器以展示在你的应用的初始页面。
  • StartFragment是在你 APP 中所有用到的Fragment的根(Stub)。
  • StartViewModel是在你 APP 中所有用到的ViewModel的根(Stub)。

利用 Jetpack 的优势

完成了这些准备工作之后,你可以选择像下面的 ? 一样来实现你的 ViewModel 对象

class StartViewModel : ViewModel() {
        private val _data = MutableLiveData<String>()
        val data: LiveData<String>
            get() = _data

        init {
            _data.value = "Hello, Jetpack!"
        }
    }

如果你的应用内包含了不止一个页面,你可以添加Navigation类来为你的fragment实现导航(navigation trigger)功能。下面的代码展示了如何实现一个导航(navigation trigger)

    // Set up a click listener on the login button
    view?.findViewById<Button>(R.id.navigate_bt)?.setOnClickListener {
    // Navigate to the login destination
    view?.let { Navigation.findNavController(it).navigate(R.id.end_action) }

如果你的应用需要存储本地的SQLite数据,你可以尝试添加数据持久化类库Room。如果你的应用需要在单个页面上显示大量的数据,你可以考虑使用Paging library

配置你的Gradle文件

为了使用Jetpack,你还必须牢记在你的gradle文件中添加对应的内容。由于本案例中使用了ViewModel,LiveData,和NavigationController,所以gradle文件有以下几行:

       // LiveData + ViewModel

       implementation "android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion"

       // Navigation

       implementation 'androidx.navigation:navigation-fragment:' + rootProject.navigationVersion
       implementation 'androidx.navigation:navigation-ui:' + rootProject.navigationVersion

了解更多

想要了解更多不同的案例和本文档中涉及到的类库,请参考以下资源:

Sunflower是一个运用了很多不同的Jetpack组件的实例APP,他是Android开发者最好的实践项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值