Android扩展Kotlin
来源:互联网 发布:哪里可以购买淘宝账号 编辑:程序博客网 时间:2024/06/10 22:46
在本教程中,我们将介绍使用Kotlin Android Extensions插件所需的步骤,增强Android的开发体验。
一.背景
每个Android开发人员都很清楚findViewById()函数。 毫无疑问,这种写法一方面难以阅读和支持,并且存在潜在错误和令人讨厌的引用错误。 虽然有几个可用的库可以为此问题提供解决方案,但是依赖于运行时库,它们需要为每个View注释字段。
Kotlin Android Extensions插件允许我们获得与这些库中的一些相同的体验,而无需添加任何额外的代码或运送任何额外的运行时。
实质上,它允许以下代码:
其中,textView是Activity的扩展属性,它与在activity_main.xml中声明的类型相同。
二.使用Kotlin Android扩展
2.1配置依赖关系
在本教程中,我们将使用Gradle,但可以使用IntelliJ IDEA项目结构或Maven完成相同的操作。Android扩展程序是Kotlin IDEA插件的一部分。不需要安装其他插件。
需要的是在项目本地启用Android Extensions Gradle插件。
build.gradle file:
apply plugin: 'kotlin-android-extensions'
2.2导入合成属性
一次性导入特定布局的所有窗口小部件属性都很方便:
import kotlinx.android.synthetic.main.<layout>.*
因此,如果布局文件名是activity_main.xml,我们将导入:
kotlinx.android.synthetic.main.activity_main*
如果要在View上调用合成属性(在适配器类中有用),我们还应该导入 kotlinx.android.synthetic.main.activity_main.view.*
一旦我们这样做,我们可以调用相应的扩展名,这些扩展名是XML文件中的视图后面命名的属性。 例如,对于这个视图:
将有一个名为hello的属性:
activity.hello.setText("Hi!");
三.Android风格
Android Extensions插件支持Android风格。 假设你的build.gradle文件中有一个名为free的配置:
因此,可以通过添加此导入来导入free / res / layout / activity_free.xml布局的所有合成属性:
import kotlinx.android.synthetic.free.activity_free.*
四.在引擎盖下
Kotlin Android Extensions是Kotlin编译器的插件,它有两件事情要做:
在每个Kotlin活动中添加一个隐藏的缓存功能和一个字段。 该方法很小,所以它不会增加APK的大小。
用函数调用替换每个合成属性调用。
这是如何工作的呢?当调用合成属性时,接收方是模块源中的Kotlin Activity / Fragment类,缓存函数被调用。 例如,给定
在MyActivity内部生成一个隐藏的缓存功能,所以我们可以使用缓存机制。但在以下情况下例外:
我们不知道这个函数是否仅在我们的来源的活动或普通Java活动中被调用。 因此,即使上一个示例中的MyActivity实例是接收器,我们也不使用缓存。
- Kotlin Android 扩展
- android kotlin扩展函数
- Android扩展Kotlin
- Kotlin Android 扩展(二)
- Kotlin编程之Kotlin Android Extensions(扩展插件)
- Kotlin Android扩展_视图绑定
- Kotlin-扩展
- kotlin-扩展
- Kotlin 扩展
- Kotlin 扩展
- Android@Kotlin(二) 界面构建与扩展方法
- Android@Kotlin(三)扩展变量与其它技巧
- Kotlin开发Android笔记6:Anko和扩展的函数
- 使用Kotlin开发Android 扩展函数(Extensions)
- Kotlin 从学习到 Android 第十章 扩展
- Kotlin Android 扩展-替换findViewById()的超简洁插件
- Kotlin基础教程-扩展
- Kotlin 扩展函数/属性
- SSL1338 人员分配
- linux学习 pxe安装系统
- Form表单提交数据的几种方式
- 《道德经》第三十八章
- 请使用PLSQL删除bigt中的owner='SYS'的数据,每次删除500条,删除掉50000条即可。
- Android扩展Kotlin
- 数据库 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databas解决方法
- HTMLReporter TestNG 配置
- django1.10.3=安装
- sql两种创建临时表 验证存在于删除
- CentOS设置服务开机启动的方法
- 排序算法 -- (二)希尔排序
- solr的使用
- 记录一次webpack2的项目架构