android studio 3.0中Kotlin android和Kotlin android扩展的区别
在android studio 3.0中,当我们为kotlin创建一个新项目时,有两个插件会自动添加到app build gradle文件中,如下所示:android studio 3.0中Kotlin android和Kotlin android扩展的区别,android,kotlin-android-extensions,android-studio-3.0,Android,Kotlin Android Extensions,Android Studio 3.0,在android studio 3.0中,当我们为kotlin创建一个新项目时,有两个插件会自动添加到app build gradle文件中,如下所示: apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' 为什么除了android studio中的kotlin android插件外,我们还需要应用android扩展插件?这背后有什么不同或原因。每个Android开发者都知道findViewById。
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
为什么除了android studio中的kotlin android插件外,我们还需要应用android扩展插件?这背后有什么不同或原因。每个Android开发者都知道findViewById。但是Kotlin不再需要findViewById 这是怎么发生的?这是因为Kotlin的Android扩展 如何使用Kotlin访问TextView: 但这一切是如何运作的呢??这就是“Kotlin Android扩展”的魔力所在 您可能已经注意到Gradle文件中的以下插件和我们活动类中的导入语句
apply plugin: 'kotlin-android-extensions'
import statement in Activity:
import kotlinx.android.synthetic.main.activity_login.*
由于这个plugin和import语句,我们不需要在活动中显式地创建视图对象。我们可以从布局文件中定义的名称直接引用视图
如果布局文件名是activity_main.xml,我们应该
import kotlinx.android.synthetic.main.activity_main.*.
有关详细信息,请参见此处:
这背后有什么不同或原因吗
是的,有区别
kotlin android扩展插件不是kotlin android插件的一部分。您添加Android Studio为您显式或自动添加的扩展插件的原因之一是不必处理findViewById函数,因为它可以帮助您无缝恢复视图
编译器在内部创建一个小的隐藏缓存函数,该函数为每个视图调用findViewById,下次使用同一视图时,它将从缓存中获取该函数,而不是再次调用findViewById
因此,您可以添加kotlin android来为android Studio设置kotlin,从而消除调用findViewById的需要
干杯,快乐编码
kotlin android插件允许您在android Studio上使用kotlin;
kotlin android扩展提供了一套工具,使android开发更容易。
kotlin android用于支持kotlin,kotlin android extensions用于替换android中java的findViewById概念。通过在项目中使用kotlin android extensions,您可以直接通过您在.xml文件中提到的Id进行访问,如:android:Id=@+Id/tvNextAbout
您可以在活动示例中使用它:
tvNextAbout.setOnClickLisnet{}
tvNextAbout.setOnClickLisnet{}