一、各类注解框架的对比
其实这一张图就够了,至于里面涉及到的语法,请先忽略,因为中间你会遇到很多问题
二:安装(鉴于上图我选择ButterKnife,初学尽量选简单而不是好的)
1.使用插件安装
第一步:
打开File -> Setting -> Plugins,点击Marketplace(studio版本不同可能会有些许差异,我的是2019最新版)搜索ButterKnife,如下图,选择下载次数最多的就没有错
下载完之后会提示重启,如果没有,就手动重启一下
第二步
在build.gradle下的dependencies中添加这两句
implementation ‘com.jakewharton:butterknife:8.1.0’ //注意,版本号可随意,后面会讲到
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.1.0’
第三步;
在主函数中选中activity_main,右键->Generate->Generate ButterKnife Injections,你就会发现这个界面,这说明你已经安装成功了,接下来你只需要勾选相应的框就会自动填入代码,填入的方法是灰色的,不要管,更不要去调用
三:遇到的问题
1.报错
最常见
> Error:Could not resolve all files for configuration ':app:debugAnnotationProcessorClasspath'.
> Could not download guava.jar (com.google.guava:guava:19.0)
> Could not get resource 'https://jcenter.bintray.com/com/google/guava/guava/19.0/guava-19.0.jar'.
> Could not HEAD 'https://jcenter.bintray.com/com/google/guava/guava/19.0/guava-19.0.jar'.
> Remote host closed connection during handshake
`
Android studio一直报错app:debugAnnotationProcessorClasspath
更换版本后会出现:
错误: 程序包android.support.annotation不存在
编译通过,运行报错
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x68 in tid 16117 (.annotationdemo)
等等,你会遇到无数的问题
解决方法:
1、添加镜像源
通用措施:首先保证不是网络的问题 ,把Google的源换成阿里的,某些用户可能无法访问到Google,在图示地方添加
maven {
url ‘http://maven.aliyun.com/nexus/content/groups/public/’
}
2、改错,只要是因为装butterknife报的错,99可用此解决
网上说法是将版本号改成8.4.0,有人成功了,但我的失败了。
按照报错代码去搜解决方法发现都不行,搞了一天,改来改去
得出结论:
最后发现,不要看报错代码,
不要看报错代码,
不要看报错代码,
只要有问题,就去修改版本号,我从7.0一路到10.2.0,最终测试我的8.1.0是没有任何问题的
3.更换butterknife版本两种方法:
1.原地直接修改数字(前提是你知道有哪些版本)
implementation 'com.jakewharton:butterknife:8.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'
2.File -> Project Structure ->Dependencies ->点击Modules下的app,在右侧找到butterknife字样,下面有版本号,自由选择,这两个要一致(注意,几乎所有的问题都和这个版本有关系,即使他报的错看似和他没关系),然后同步一下
四:使用
这是我的测试代码,不要写复杂了,可能会出现意想不到的问题