ButterKnife和dagger2

ButterKnife注于Android系统的View注入框架,当一个布局十分复杂时,需要引入执行大量的findViewById代码来找到View的对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的...
摘要由CSDN通过智能技术生成

ButterKnife

注于Android系统的View注入框架,当一个布局十分复杂时,需要引入执行大量的findViewById代码来找到View的对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来也是特别简单。

https://github.com/JakeWharton/butterknife

ButterKnife的优势

1.强大的View绑定事件和资源文件的绑定
2.使用的便捷性上,剔除了原始绑定时候的复杂性
3.由于大多数的注解都是在编译期,所以不会影响程序运行的效率
4.代码清晰,可读性相对来说要强很多
ButterKnife的使用

导入依赖:classpath 'com.jakewharton:butterknife-gradle-plugin:10.0.0’在项目的build.gradle 中添加如下代码:

buildscript {
  repositories {        
     google()      
     jcenter()
     }
     dependencies {        
        classpath 'com.android.tools.build:gradle:3.4.2'        
        classpath 'com.jakewharton:butterknife-gradle-plugin:10.0.0'      
        // NOTE: Do not place your application dependencies here; they belong        
        // in the individual module build.gradle files   
       }
  }

在module的build.gradle中添加如下代码

apply plugin: 'com.android.application'
apply plugin:'com.jakewharton.butterknife'//添加这一行
//依赖
implementation 'com.jakewharton:butterknife:10.0.0'  
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'

1.ButterKnife注解添加

  @BindView(R.id.btn1)    
  Button btn1;
  @BindView(R.id.tv1)    
  TextView tv;

2.在onCreate方法中绑定

@Overrideprotected void onCreate(Bundle savedInstanceState) {
      
 super.onCreate(savedInstanceState);  
   setContentView(R.layout.activity_main);
       ButterKnife.bind(this);    
       getSupportFragmentManager().beginTransaction().</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值