“Hello,Jetpack”:构建您的第一个Jetpack应用程序
“Hello,Jetpack”:构建您的第一个Jetpack应用程序
本文档将向您介绍构建基于Jetpack的简单应用程序的基本过程。
设置你的应用程序
执行以下步骤将应用程序设置为使用Jetpack:
启动Android Studio 3.2或更高版本,并一如既往地在“ 创建Android项目”和“ 定位Android设备”中输入信息。
如果您在Kotlin中编写应用程序,请记得在Create Android Project屏幕上勾选Include Kotlin支持框 。
在“ 创建Android项目”屏幕后,在 Add an Activity to Mobile 的页面上将为您提供用于启动项目的各种模版, 我们选择Activity & Fragment + ViewModel 模版,然后单击Next,如图所示:
在 **Configure Activity ** 页面上填写对应的 Name 名称,然后点击 Finish ,如图所示:
打开我们的java项目文件夹,如图所示,该项目最初包含三大类:MainActivity,MainFragment 和 MainViewModel
MainActivity 是你的应用程序的入口点。它是一个存根,Activity 用作应用程序初始屏幕中显示的片段容器。
MainFragment 是 Fragment 您在应用中使用的初始存根 。
MainViewModel 是 ViewModel 您在应用中使用的初始存根 。
利用Jetpack
有了这些部分,我们就可以实现 ViewModel 对象了,如图所示
class StartViewModel : ViewModel() {private val _data = MutableLiveData<String>()val data: LiveData<String>get() = _datainit {_data.value = "Hello, Jetpack!"}}
复制代码
如果您的应用包含多个页面,则可以添加 Navigation 该类以实现fragments的导航触发器。以下代码是实现导航触发器的示例:
// Set up a click listener on the login buttonview?.findViewById<Button>(R.id.navigate_bt)?.setOnClickListener {// Navigate to the login destinationview?.let { Navigation.findNavController(it).navigate(R.id.end_action) }
复制代码
如果您的应用需要本地访问SQLite数据,您还可以添加 Room 持久性库。如果您的应用需要在单个屏幕上显示大量数据,则应考虑使用 分页库。
配置Gradle文件
要使用Jetpack,您必须在gradle文件中添加适当的代码。因为此应用程序使用 ViewModel, LiveData 和NavigationController,其Gradle文件包含以下代码:
// LiveData + ViewModelimplementation "android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion"// Navigationimplementation 'androidx.navigation:navigation-fragment:' + rootProject.navigationVersionimplementation 'androidx.navigation:navigation-ui:' + rootProject.navigationVersion
复制代码
“Hello,Jetpack”:构建您的第一个Jetpack应用程序相关推荐
- r语言r-shiny_使用Shiny和R构建您的第一个Web应用程序仪表板
r语言r-shiny by AMR 通过AMR 使用Shiny和R构建您的第一个Web应用程序仪表板 (Build your first web app dashboard using Shiny a ...
- chrome扩展crx构建_如何构建您的第一个Chrome扩展程序
chrome扩展crx构建 "Sit up straight!" my mom used to yell at me when I am fixated on my laptop ...
- 做事用人 用人做事_做事:构建我的第一个Web应用程序的经验教训
做事用人 用人做事 On the 5th of June, 2020, after almost two weeks of (re)learning javascript, fixing bugs, ...
- Android 我的第一个Jetpack Compose应用
目录 1. 背景 2. Jetpack Compose 是什么? 3. 开始前的准备 4. 创建DEMO 4.1 New Project 4.2 项目配置 5. 项目整体变化 5.1 布局部分 5.2 ...
- 构建一个移动应用程序要花多少钱?
构建一个移动应用程序要花多少钱? How much does it cost to build a mobile app? 不幸的是,对于一个移动应用程序的开发成本应该是多少这个问题,没有一个单一的答 ...
- R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果、LIME解释器进行模型预测结果解释并可视化
R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果.LIME解释器进行模型预测结果解释并可视化 ...
- angular1.2.27_Angular 8 + Spring Boot 2.2:立即构建一个CRUD应用程序!
angular1.2.27 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权 ...
- Angular 8 + Spring Boot 2.2:立即构建一个CRUD应用程序!
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您已 ...
- mysql crud_如何使用Laravel和MySQL构建您的第一个CRUD应用
mysql crud Throughout this tutorial for beginners you'll learn to use Laravel 5.7 - the latest versi ...
最新文章
- Qt Quick中的The Visual Canvas
- /dev/zero和/dev/null的区别
- Android Studio is on board
- Java NIO学习笔记 三 散点/收集 和频道转换
- 百度鹰眼html打开,BMap:WEB 服务API
- 高通推出骁龙870 5G移动平台:7nm工艺 摩托罗拉首发
- 计算机考试没考好的检讨书,关于考试没考好检讨书(精选5篇)
- [转载] Numpy_索引操作
- 【知识图谱】知识图谱嵌入模型简介
- Java加密与解密笔记(二) 对称加密
- 2阶魔方矩阵matlab,matlab魔方矩阵
- 香港长和集团开创P2F金融理财新征程
- phpWord 读取word模板,替换相应变量
- ubuntu禁用smap
- 【蓝桥杯】入门训练 Fibonacci数列
- ROS2与C++入门教程-在C++包里增加python支持
- 万洲金业集结全面行业优势 打造贵金属产品理财矩阵
- java 空白图片_图片文件打印空白的解决办法
- skywalking源码--探针插件工程结构
- 人工神经网络评价法案例_人工神经网络应用实例
热门文章
- 自学python有哪些方向-机械想自学python可以学习哪个方向?
- python培训学校-西安有没有好点的Python培训学校
- python语言入门z-【python】编程语言入门经典100例--22
- python简单代码input-Python简单程序的练习
- python下载教程1001python下载教程-Python知识圈
- 使用torchvision.models.inception_v3(pretrained=True)加载预训练的模型每次都特别慢
- python内置collections模块的使用
- python图片通道分离
- matlab溢出的标志inf,关于C#:溢出与信息
- LeetCode Excel Sheet Column Number(进制转换问题)