手写 BufferKnife -- Android Ioc 框架(ViewJet)

前言

黄油刀(BufferKnife)使用注解声明控件,不再反复 findViewById,使得代码简洁高效。
下面我们手撸一套ioc框架实现黄油刀的效果。

Github 地址

ViewJet 2.0 (View飞行器)特性

手写 BufferKnife -- Android Ioc 框架(ViewJet)_第1张图片

  • BindView 注解声明控件对象
  • 自动绑定监听器
  • Gradle 集成

实现原理

  • 注解+反射
  1. 注入属性
  2. 注入方法

使用教程

  1. 添加 Gradle 依赖
repositories {
    maven { url 'https://dl.bintray.com/ethanmao/ViewJet' 
    }
}

dependencies {
     implementation 'com.ethanmao.open:viewjet:2.0.0'
}

  1. 在 Activity 中使用
 ViewJet.bind(this);
  1. 使用 BindView 注解
  • 声明变量
   @BindView(R.id.tutu_login)
    private Button toLogin;
  • 响应点击事件
   @OnClick(R.id.tutu_login)
    public void onClick(View view){
       // Todo Something
    }

你可能感兴趣的:(view,android)