快速开发注入工具butterknife,简单实用

项目地址:https://github.com/JakeWharton/butterknife

每一个程序员都想用最短的时间,最少的精力开发应用,那么在这我给大家介绍一下一个比较简单实用的注入框架ButterKnife。如果你在AS中依赖了该项目,写项目的时候,那么就不必写大量的findViewById()和setonclicktListener()了。

项目配置

添加依赖

dependencies { 
compile 'com.jakewharton:butterknife:8.4.0' 
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
}

把插件添加到buildscript

buildscript {
 repositories { 
mavenCentral() 
} 
dependencies { 
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' 
}
 }

在module里应用

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
控件实例化

以前的写法

mTextView1 = (TextView) findViewById(R.id.butter_text_view_1);

现在的写法

class ExampleActivity extends Activity { 
@BindView(R.id.user) EditText username; 
@BindView(R.id.pass) EditText password; 
@Override 
public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.simple_activity); 
          ButterKnife.bind(this); 
          // TODO Use fields...   
}
  }
添加监听

以前的写法

mTextView1.setonclicktListener(this);

现在的写法

class ExampleActivity extends Activity { 
@OnClick(R.id.submit) void submit() { 
 // TODO 
  } 
@Override 
public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.simple_activity); 
          ButterKnife.bind(this); 
}
  }

还可以添加多个监听

class ExampleActivity extends Activity { 
@OnClick({[R.id.submit, R.id.loginBtn]}) void submit() { 
          switch(v.getId()) {
              case R.id.submit:
               // TODO  按钮 submit 触发
              break;
            case R.id.loginBtn:
               // TODO  按钮 loginBtn触发
              break;
  } 
@Override 
public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.simple_activity); 
          ButterKnife.bind(this); 
          // TODO Use fields...   
}
  }
总结

BufferKnife比AndroidAnnotations简单,易理解,上手快,赶快get吧

你可能感兴趣的:(快速开发注入工具butterknife,简单实用)