AndroidStudio ViewBinding详解

Posted guanxinjing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AndroidStudio ViewBinding详解相关的知识,希望对你有一定的参考价值。

前言

  在android开发,代码里获取View一般是使用findViewById()获取目标布局文件里的指定View。但是这样使用会有大量代码重复工作并且有空指针危险。为了减少重复工作有很多大神都八仙过海各显神通,但是这些神通多多少少都有缺点。

  • 大名鼎鼎的黄油刀bufferknife,缺点增加了编译速度(因为原理是它需要生成一份对应查找View的代码),并且需要时刻更新最新版本否则AndroidStudio更新后可能会出现无法编译的问题。(另外bufferknife与ViewBinding是冲突的)
  • DataBinding,缺点更明显,需要更多的xml编写工作量,并且一不小心会延伸到一些邪恶的用法,那就是在xml写逻辑判断,甚至在xml增加一些业务功能。这对代码维护是恐怖的,因为xml逻辑的可读性可比纯Java代码差多了。并且如果混乱到2头都写逻辑判断,维护起来十分痛苦。
  • AndroidStudio的插件功能自动生成代码,比如LayoutCreator,减少了工作量但是并没有减少代码的冗余,代码看起来一样是不简洁的。

google在AndroidStudio 3.6 版本后推出了ViewBinding,一方面可以让代码更加简洁并且提高编译速度防止空指针。另一方面AndroidStudio是支持ViewBinding进行关联互动的,所以让你在Java代码与xml之间的跳转更方便。

前提条件

  AndroidStudio 需要更新到3.6版本以上。

在build.gradle文件里增加下面的代码,开启viewBinding

android {
    
    //略...

    viewBinding{
        enabled = true;
    }
}

一个简单的使用Demo

 

 

 

 

 

End

以上是关于AndroidStudio ViewBinding详解的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 开启视图绑定 viewBinding

ViewBinding与RecycleView(一)

Android:DataBinding 和 ViewBinding 的区别

对“viewBinding”的访问超出其访问权限

找不到 androidx.databinding:viewbinding:4.1.0

ViewBinding用法