Butter Knife快速开发
官方地址:
https://github.com/JakeWharton/butterknife
功能如下:
开发app中的简化findviewbyid和简化点击,长按消息的库,由于其使用的是预编译机制,因此对实际的运行速度几乎没有影响。
使用方法:
以下都是在AS的开发环境下来讲解,未切换成AS环境的,自行安装下吧,你会很快喜欢上它的。
as工具下载地址
http://www.android-studio.org/index.php/team
工具讲解地址
http://www.open-open.com/lib/view/open1433387390635.html
1>配置使用Butter Knife库。
在你的项目的最外层的build.gradl配置如下
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
然后在你的项目里面使用
apply plugin: 'android-apt'
android {
...
}
dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
}
如此一来,就可以轻松使用这个工具库了。
2>使用它
在自己的activity里面,在 setContentView(R.layout.simple_activity);之后加入 ButterKnife.bind(this);即可。具体如图所示:
我们来说一句 @BindView(R.id.user) EditText username;
等价于username=(EditText)findViewById(R.id.user);
相比下来,是不是觉得一下子把这个繁琐的过程一下子解放出来了。
3>关于都支持哪些注释,可以看这个下面的文件名:
https://github.com/JakeWharton/butterknife/tree/master/butterknife-annotations/src/main/java/butterknife
具体如何使用,可以直接打开具体文件,每个文件的上面都详细举出了一个例子,以方便快速使用。
我们来看一个文件,最常用的绑定一个view的动作,里面的注释部分:
BindView.java
可以很明白的看到如何去使用这个注释,是不是发现作者很贴心呢。学习了这么多,是不是跃跃欲试,赶紧下载磨练去吧。
拓展:
如果有兴趣深入研究,看下这个博文,对实现机制有一个分析。
http://www.jianshu.com/p/0f3f4f7ca505
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 这些 ECMAScript 模块知识,都是我需要知道的
- 微信小程序【事件绑定】入门一篇就搞定
- 一个后端狗的 Vue 笔记【入门级】
- 这才是现代C++单例模式简单又安全的实现
- Linux 学习笔记(1) 查看文件内容
- Python从入门到熟练(3):第一个程序
- 数学系的概率论和我们的不太一样。。。
- 如何实现一个优雅的Python的Json序列化库
- 还在从零开始搭建项目?手撸了款快速开发脚手架!
- Node.js 中的 require 是如何工作的?
- Ajax请求携带Cookie
- 关于kubernetes垃圾回收那点事
- 强化学习笔记11:工程师看强化学习
- 强化学习笔记10:经典游戏示例 classic games
- RL实践3——为Agent添加Policy、记忆功能