首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin 协程】协程底层实现 ④ ( 结构化并发 | viewModelScope 作用域示例 )

onDestory 生命周期函数中取消协程任务 ; viewModelScope : 该作用与仅在 ViewModel使用 , 与 ViewModel 生命周期绑定 ; lifecycleScope...Module 模块下的 build.gradle 中 导入 kotlin-kapt 插件 ; 启用 DataBinding , build.gradle # android 层级下配置 dataBinding...dataBinding { enabled = true } } 布局文件 中 , 选中根组件 , 一般是 androidx.constraintlayout.widget.ConstraintLayout...Studio 中选择 " 菜单栏 | Build | Make Project " 选项 , 或者使用 " Ctrl + F9 " 快捷键 , 首先要编译生成相关数据绑定类 ; MainActivity...() { // 布局文件中配置的属性 val student = MutableLiveData() // 该方法用于刷新数据 fun setStudentData

90820

Android Studio 4.1 发布啦

模拟器 现在用户可以直接在 Android Studio 运行 Android 模拟器,该功能可以帮助开发者节省屏幕空间,使用快捷按键可以模拟器和编辑器窗口之间快速导航,可以一个窗口中查看模拟器和代码布局...查看模型元数据和使用情况 要查看导入模型的详细信息和获取有关如何在应用程序中使用它的说明,可以项目中双击模型文件以打开模型查看器页面,该页面显示以下内容: 1、模型:模型的高级描述 2、Tensors...从最初的4.1版本开始已禁用应用程序启动分析,未来在即将发布的版本中将启用此选项。解决方法是,可以使用 Perfetto 独立命令行分析器来捕获启动配置文件。...Kotlin 1.3.72 Android Studio 4.1 捆绑了Kotlin 1.3.72,其中包括许多用于改善Kotlin高亮显示,检查和代码完成的修复程序,请查看1.3.72 Kotlin更改日志获取详细信息...Play控制台使用这些调试符号文件来符号化您应用的堆栈跟踪,从而使分析崩溃和ANR更容易。要了解如何上传调试符号文件,请参阅本机崩溃支持。

6.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android 架构组件的最新进展 (上篇)

数据绑定库 数据绑定 (Data Binding) 库是一种支持库,借助该库,您可以使用声明性格式 (而非程序化地) 将布局中的界面组件绑定到应用中的数据源。...但这个功能还停留在测试阶段,所以请在 Gradle 配置文件使用如下代码手动打开: android.databinding.incremental = true 和 Android Studio 更紧密地集成...更好地支持重构 IDE 里使用重构的方式修改函数名称之后,XML 中会同步进行更新。 ? 更好用的报错信息 数据绑定出错的信息可能一下子跳出来 1,000 条,这种尴尬将成为过去。...-- profile.xml --> <ImageView android:id="@...是时候告别 findViewById 了 所有的这些绑定类均由 Gradle 插件生成,如果开发者修改了某个布局文件,会报错的也会只有这个文件,100% 编译安全。

89640

Android基于DataBinding+Koin实现MVVM模式页面快速开发框架

Koin 无反射、无代码生成且使用更简单;借助该库可轻松基于 kotlinAndroid 应用开发中实现依赖注入,降低代码的耦合性。... layout 里创建一个 test_page.xml布局文件: <?xml version="1.0" encoding="utf-8"?...源码解析 前面介绍了 ardf实现自动装载布局、自动注入 ViewModel 和事件的处理的使用,那么 ardf是如何实现这些功能的呢?...3.1 自动装载布局的实现 2.2 的使用介绍中可以发现,自动装载布局的实现依赖了 DataBinding,将 DataBinding 通过布局文件生成的 Binding 类作为泛型传递给了 BaseBindingActivity...// 具体业务实现中实际的布局 xml 文件中声明当前视图的 ViewModel 变量为 vm 即可自动进行绑定。

1.4K20

知识点 | ViewModel 四种集成方式

想要创建嵌套导航图,您需要选中对应流程相关的界面,点击鼠标右键,并选择 Nested Graph → New Graph: △ 创建嵌套导航图的截图 注意嵌套导航图 XML 文件中的 id,在这里是.../guide/navig… ViewModel 与 Data Binding: Data Binding 中使用 ViewModel 和 LiveData 于 Android Studio 的 3.1...使用 Data Binding、ViewModel 和 LiveData 假设您希望 XML 布局文件中引用 ViewModel: <layout xmlns:android="http://schemas.android.com...如果您不了解协程,这里有一系列很棒的博客《 Android 开发中使用协程》以及 codelab: Android 应用中使用 Kotlin 协程以供参考。...根据 LiveData 自动更新; ViewModel使用 Kotlin 协程时,使用 viewModelScope 来让协程 ViewModel 被销毁时自动取消。

2.4K20

kotlin-android-extensions插件也被废弃了?扶我起来

然而它被废弃了 其实早在几个月前,就有朋友公众号上询问我,说自己升级了Android Studio 4.1之后,发现新建项目的时候Android Studio已经不会自动帮我们引入kotlin-android-extensions...当时我还说,不可能呀,这个插件这么好用,而且Kotlin也是Google未来主推的技术,可能只是Android Studio 4.1的bug吧。 然而,没过多久我就被打脸了。...Activity中使用ViewBinding 一旦启动了ViewBinding功能之后,Android Studio会自动为我们所编写的每一个布局文件都生成一个对应的Binding类。...首先最核心的逻辑仍然是调用FragmentMainBinding的inflate()函数去加载fragment_main.xml布局文件,但由于这是Fragment当中,所以使用了3个参数的inflate...很明显,TitlebarBinding就是Android Studio根据我们的titlebar.xml布局文件自动生成的Binding类。

2.7K31

Android技术栈(四)Android Jetpack MVVM 完全实践

开发中最常用的模式: 通常使用Activity/Fragment作为Controller层, 以android.view.View的子类以xml构建文件构建起的布局作为View层 以SQLite数据库,...View层的各种操作,使用android.view.View的子类以xml构建文件构建起的布局和Activity/Fragment作为布局控制器,实现IView这个View层的接口,View层的实际实现类保留一个...,还请指点一二 如果你模块中同时使用kotlin和DataBinding是可以的,但是请一定不要使用kapt,除非JB那帮大佬搞定这些奇怪的问题....ViewModel来做,布局应该只负责渲染数据. 2.3.4 使用在Java中生成的ViewDataBinding 使用DataBinding后Android Studio会为每个xml布局生成一个继承自...Java化DataBinding风格xml布局与传统方式有所不同.

3.8K01

知识点 | ViewModel 四种集成方式

想要创建嵌套导航图,您需要选中对应流程相关的界面,点击鼠标右键,并选择 Nested Graph → New Graph: △ 创建嵌套导航图的截图 注意嵌套导航图 XML 文件中的 id,在这里是.../guide/navig… ViewModel 与 Data Binding: Data Binding 中使用 ViewModel 和 LiveData 于 Android Studio 的 3.1...使用 Data Binding、ViewModel 和 LiveData 假设您希望 XML 布局文件中引用 ViewModel: <layout xmlns:android="http://schemas.android.com...如果您不了解协程,这里有一系列很棒的博客《 Android 开发中使用协程》以及 codelab: Android 应用中使用 Kotlin 协程以供参考。...根据 LiveData 自动更新; ViewModel使用 Kotlin 协程时,使用 viewModelScope 来让协程 ViewModel 被销毁时自动取消。

21220

Android基于DataBinding封装RecyclerView实现快速列表开发

前言 移动应用开发中,列表组件是一个非常常见的 UI 组件,绝大多数应用开发中都会使用到列表组件进行界面的开发, Android 开发中列表组件一般使用官方提供的 RecyclerView ,而...最后想到了使用 DataBinding 来进行封装,通过 DataBinding 的扩展将 item 布局、列表数据及事件都通过 xml 设置到 Adapter 里, Adapter 里再通过 DataBinding...' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } ardf 的使用配置就完成了,点击 Sync Now同步 build.gradle...3.3 简单使用 先看一下结合 MVVM 架构如何快速实现简单的列表数据显示以及列表数据更新功能。...3.3.2 创建 item 布局 创建列表的 item 布局文件 layout_item.xml, 简单添加一个 TextView 进行演示,代码如下: <?

2.6K30

Android 视图绑定 ViewBinding

ViewBinding 要想使用ViewBinding 必须Android Studio 3.6 Canary 11 以上版本才行。...配置完毕后,Gradle一下整个项目,AndroidStudio会自动为每个XML布局文件生成一个绑定类,并不需要我们给xml文件中添加任何代码。...(Databinding就需要我们调整xml布局 才会生成。) 实例:假设创建了一个activity_main.xml布局文件: <?...此外,如果视图仅出现在布局的某些配置中,则绑定类中包含其引用的字段会使用 @Nullable 标记。 类型安全:每个绑定类中的字段均具有与它们 XML 文件中引用的视图相匹配的类型。...易于使用:视图绑定不需要特别标记的 XML 布局文件,因此应用中采用速度更快。模块中启用视图绑定后,它会自动应用于该模块的所有布局

1.4K10

Android Studio3.0新特性及安装图文教程

(2).Kotlin语言 Android Studio 3.0包括对Kotlin语言的支持。...通过将Java文件转换为Kotlin(点击代码 将Java文件转换为Kotlin文件),或者使用新建项目向导创建一个新的启用Kotlin的项目,可以将Kotlin整合到项目中。...要启动自适应图标向导,请右键单击/res项目中的 文件夹,然后单击新建 图像资源 启动器图标(自适应和旧版)。 新的XML字体预览,字体选择工具以及对可下载字体的支持。...(9).Android的新模板 Android Studio 3.0“新建项目”和“新建模块”向导中包含一组新的模板,因此您可以开始使用Android Things开发物联网设备。...,可以更轻松地调试应用程序布局的问题,包括将属性分类为常见类别,并在“查看树”和“属性”面板中将新的搜索功能分组。

4.1K00

Android 使用View Binding的方法详解

模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对相应布局中具有 ID 的所有视图的直接引用。...viewBinding { enabled = true } } 用法 当某个模块启用View Binding后,系统会为该模块中包含的每个 XML 布局文件各生成一个绑定类。...绑定类的类名是xml的名称后面加“Binding”。 例如,假设某个布局文件名为 比如activity_main.xml: <LinearLayout ......与databinding的区别:databinding仅处理使用 <layout 代码创建的数据绑定布局;View Binding不支持布局变量或布局表达式,因此它不能用于xml中将布局与数据绑定。...与Android Kotlin Extensions的区别:使用上,后者简单粗暴,直接id进行访问,而View Binding需要创建绑定类的实例;后者有一些不友好的地方,比如相同的id存在于多个xml

1.7K41

MVVM框架的搭建(二)——项目搭建

module中升级更新版本号,请使用 module_[modulename]*的命名规则 * * [project.ext.dependVersion] 中创建各个依赖库的版本号控制,需类库名称后增加...之前用MVP重新写的框架,但是也遇到了很多不方便的地方,所以这次我们着重介绍MVVM框架 这里开始使用kotlin,并遵循google的App开发架构指南,才找到一种较好的构建MVVM应用程序的方式...data 2018/9/6 13:58 * @desc * */ class Onclick(val who: String, val count: Int) 以前我们写一个点击事件的代码大概 布局文件...包结构 基础Demo 下面我们就根据我们之前说的简单写一个Demo 首先看一下包的结构 DataBindingUtil.setContentView 这个函数做了三步操作: inflate操作,创建布局文件对应的...//启用数据绑定 dataBinding{ enabled = true } 我们看看布局文件 其实 我们可以看到MVVM当中布局文件的作用有所加强,不仅仅是构造一个UI效果。 <?

1.3K20

Android MVI框架搭建与使用

因为接口使用的是http,而不是https,所以xml文件夹下新建一个network_security_config.xml,代码如下: <?...二、网络请求   当我们使用Kotlin时,网络访问就变得更简单了,只需要Retrofit和协程即可,首先我们com.llw.mvidemo包下新建一个data包,然后data包下新建一个model...三、意图与状态   之前我们说MVI的I 是Intent,表示意图或行为,和ViewModel一样,我们使用Intent的时候,也是一个Intent对应一个Activity/Fragment。...① 列表适配器   创建适配器之前首先我们需要创建一个适配器所对应的item布局layout下新建一个item_wallpaper_rv.xml,代码如下图所示: 这里使用了ShapeableImageView,这个控件的优势就在于可以自己设置圆角,themes.xml中添加如下代码: <!

3.1K40

DataBinding系列之基础使用

DataBinding的原理是通过编写XML布局文件,在其中使用特定的标签和语法,将UI组件和数据模型连接起来。...当布局文件被加载时,DataBinding会自动生成绑定代码,从而将UI组件和数据模型关联起来。 通过学习DataBinding基础知识,可以让你的代码速度翻倍,提高开发效率和代码质量。...---- 4.基础使用 4.1 点击事件绑定 1.无参响应函数: fun onIncrement() { // 方法体 } android:onClick="@{() -> state.onIncrement...state.user.address : `默认地址`)}"/> 4.5 include 和 ViewStub 布局文件中将相应的变量传递给 include 布局,需使用自定义的 bind 命名空间将变量传递给...(include/ViewStub), 从而使两个布局文件之间共享同一个变量。

26430

使用KotlinAndroid Studio开发Android应用的详细教程

本教程将详细介绍如何使用KotlinAndroid Studio开发一个简单的Android应用,包括项目的创建、界面设计、代码编写以及运行应用。...选择所需的语言,确保选择了Kotlin。点击“Finish”完成项目的创建。步骤3:设计应用界面res/layout目录下找到activity_main.xml文件,这是应用的主界面布局文件。...你可以使用XML布局语言定义界面元素。例如:<?xml version="1.0" encoding="utf-8"?...文件中,你可以编写与应用逻辑相关的Kotlin代码。...你已经成功创建并运行了一个简单的Android应用程序,使用Kotlin语言和Android Studio进行开发。这只是一个简单的入门示例,你可以根据需要扩展应用,添加更多功能和界面元素。

58810

Google挖坑后人埋-ViewBinding(上)

相信大部分的Kotlin开发者都在使用它进行Android开发,而且之前的Android Studio创建Android项目时,都会自动帮你依赖: apply plugin: 'kotlin-android-extensions...资源ID重名 由于kotlin-android-extensions是通过view的id名直接引用的,所以多个布局间的同名id,就需要手动对import进行重命名处理,而且经常会引用错误的布局文件,导致运行崩溃... 使用 开启ViewBinding后,会给xml布局生成XXXBinding文件,位于build/generated/data_binding_base_class_source_out...其实没什么区别,这是为了Kotlin中将不可空类型置空的一种妥协方式,同样的代码逻辑,Java中,就会非常简单了。...另外一种方式是直接使用新的Binding文件,因为所有的xml布局文件都会生成Binding,所以可以直接使用这个Binding文件

2.1K20

【Jetpack】ViewModel + LiveData + DataBinding 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

DataBinding 结合使用时 , DataBinding 布局中设置的就是该 视图模型 类对象 ; 该 ViewModel 类中 , 还 使用了 LiveData , 可以实时监听数据改变...ViewModel 中的数据发生了变化 , 如何将变化应用到视图组件中 , 视图中显示最新的数据内容 , 此时就用到了 LiveData 组件 ; ViewModel 的基础上 , 通过 引入 LiveData...id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } android {...- 配置 ViewModel 类 首先 , 将 普通布局文件 转换为 DataBinding 布局文件 , 将光标放在布局左上角 , 按下 " Alt + 回车 " 组合键 , 选择 " Convert...布局对应的 ViewDataBinding 类 , 该类生成后的名称为 ActivityMainBinding , 这是根据 activity_main.xml 布局文件名称生成的类 ; 为 DataBinding

1.3K20
领券