android清除缓存功能实现_面试系列:Kotlin Android Extensions 实现原理

你可能会厌倦日复一日地使用findViewById来恢复Android View。或许你已放弃了,并开始使用著名的Butterknife库。那么你会喜欢上Kotlin Android Extensions。

Kotlin Android Extensions:这是什么?

Kotlin Android Extensions是Kotlin的一个插件,它包含在普通的那个插件中,这就允许以惊人的无缝方式从Activitie,Fragment和View中恢复View。

该插件将生成一些额外的代码,允许你访问布局XML的View,就像它们是在布局中定义的属性一样,你可以使用 id 的名称。

它还构建本地视图缓存。所以首次使用一个属性时,它会做一个普通的findViewById。而接下来,View则是从缓存中恢复,因此访问速度更快。

怎样使用它们

让我们看看它的使用是多么容易。我会以一个Activity做第一个例子:

将Kotlin Android Extensions集成到我们的代码中

虽然这个插件被集成到普通的插件(你不需要安装新的插件)中,但是,你要使用它,还必须在Android模块中添加额外的应用:

 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'

只需要做这些,可以开始使用它了。

从XML中恢复 View

从这一刻起,恢复View就像将你在XML中定义的View ID直接用于你的Activity一样简单。

假设你有一个这样的XML:

<?xml  version="1.0" encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">
 
    <TextViewandroid:id="@+id/welcomeMessage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="Hello World!"/>
 
FrameLayout>

如你所见,TextView有welcomeMessage ID。

在你的 MainActivity 中,仅仅需要这样编写:

 override fun onCreate(savedInstanceState: Bundle?) {
     
     super.onCreate(savedInstanceState)
     setContentView(R.layout.activity_main)
  
     welcomeMessage.text = "Hello Kotlin!"
 }

为了能够使用它,你需要如下的import,而IDE能够自动加入它。不

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值