butterknife详细使用及混淆打包和新版本(8.6.0)的使用方法
来源:互联网 发布:淘宝ulzzang什么意思 编辑:程序博客网 时间:2024/06/06 09:27
我们这写代码时会写很多findViewById(),使用ButterKnife强大的View绑定和Click事件处理功能,简化代码,提升开发效率;
Androidstudio使用要引入以下依赖 Eclipse使用要到官方下载jar包 官方GitHub地址http://jakewharton.github.io/butterknife/
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
在项目文件夹下build.gradle文件下添加
classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'
添加后为buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0' }}
混淆打包:
6.0版本要在proguard-rules.pro文件添加
#butterknife-keep class butterknife.** { *; }-dontwarn butterknife.internal.**-keep class **$$ViewInjector{ *; }-keepclasseswithmembernames class * { @butterknife.* <fields>;}-keepclasseswithmembernames class * { @butterknife.* <methods>;}7.0 和8.0版本ButterKnife混淆
#butterknife-keep class butterknife.** { *; }-dontwarn butterknife.internal.**-keep class **$$ViewBinder { *; }-keepclasseswithmembernames class * { @butterknife.* <fields>;}-keepclasseswithmembernames class * { @butterknife.* <methods>;}ButterKnife新版本和老版本由于官方方法改变所以混淆方法不同(第三行不同)
6.0版本和7.0之后的版本方法使用不同(现在最新版本是8.6.0)
使用:绑定事件ButterKnife.bind(this)必须在setContentView();之后(6.0的老版本绑定事件是ButterKnife.injectView(this))
新版本使用示例
import butterknife.BindView;import butterknife.ButterKnife;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private static final String TAG = "MainActivity"; @BindView(R.id.btn) Button btn; @BindView(R.id.tabs) TabLayout tabs; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); ButterKnife.bind(this); btn.setOnClickListener(this); initView(); initData(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn: break; } }}
阅读全文
0 0
- butterknife详细使用及混淆打包和新版本(8.6.0)的使用方法
- 新版本Butterknife的使用
- butterknife 打包混淆问题
- butterknife 打包混淆问题
- GreenDao的简单使用及混淆打包
- ButterKnife 的详细使用方法-包会(Android Studio)
- Android依赖注入框架:ButterKnife 8.4.0新版本导入及使用详解
- Butterknife的详细初步使用
- 使用gradle打包签名及混淆的apk
- butterknife和对应插件android butterknife zelezny的使用详细记录
- Android Butterknife 8.4.0 使用方法总结 zelezny : Butterknife插件的使用
- Android中ButterKnife(黄油刀)的详细使用
- Studio 打包签名 和 混淆的初步使用 (一)
- butterknife的安装及使用
- AndroidStudio使用butterknife的详细介绍
- Android中ButterKnife的详细使用
- Android中ButterKnife的详细使用
- 混淆打包及出错信息的解决办法
- [leetcode]75. Sort Colors(Java)
- 常量指针和指针常量的区别详解
- ios 基础数据持久化存储
- 脚本实现U盘自动挂载(linux平台)
- Go语言的类IPython 交互式编程界面
- butterknife详细使用及混淆打包和新版本(8.6.0)的使用方法
- Mybatis 多表关联查询,快速添加返回类型
- 全面介绍Windows内存管理机制及C++内存分配实例(三):虚拟内存
- 地址栏搜索参数转为对象
- 工业现场相机坐标系和机械手坐标系的标定(1)-相机和机械手分离的情况
- 音频的录制逻辑(外部麦克风)
- 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
- 一道据说是苹果的面试题
- 电脑电源中,光耦的作用是什么?