Android MVP+Retrofit+dagger2+RxA
2016-12-27 本文已影响603人
hwj3747
作者:hwj3747
转载请注明
目录
- (1)配置篇
- (2)Lambda表达式
- (3)icepick篇
- (4)butterknife篇
- (5)MVP篇
- (6)Retrofit篇
- (7)Dagger2篇
- (8)RxAndroid/RxJava篇
背景
在写Android项目的时候总是要写各种各样的界面,对于每一个写在XML文件上的控件,我们都要在java文件上写上与之对应的控件,比如这样:
TextView textView=(TextView)findViewById(R.id.text_view);
Button button=(Button)findViewById(R.id.button);
又或者是按钮啊,textView的点击事件,我们也要写这样的代码:
button.setOnClickListen(){...};
这样的代码,在我们设计UI的时候出现了太多,并且这是一个很繁琐的事情,于是我们就想啊,如果有一种方法能自动生成这些东西,岂不是很好?于是便有了butterknife!
butterknife基本使用方法
首先,你需要在OnCreate初始化方法中先绑定布局文件:
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
// 进行绑定
ButterKnife.bind(this);
}
然后,原本使用findViewById这个方法的地方,使用@InjectView注解代替(注意:新版本的butterknife使用的是@BindView注解):
@InjectView(R.id.text1)TextView text1;
@InjectView(R.id.text2)TextView text2;
@InjectView(R.id.text3)TextView text3;
@InjectView(R.id.button1)Button button1;
@InjectView(R.id.button2)Button button2;
@InjectView(R.id.button3)Button button3;
在需要使用setOnClickListen点击事件的地方,用@OnClick注解代替:
@OnClick({R.id.button1, R.id.button2, R.id.button3})
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1: break;
case R.id.button2: break;
case R.id.button3: break;
}}
这样就初步完成了!
Android ButterKnife Zelezny插件
到这边可能会有人觉得这个框架也没那么方便,代码不是还得自己写吗?其实不然,Android ButterKnife Zelezny这个框架可以自动帮我们生成这些东西!
首先打开setting的plugins,选择Browse repository
然后搜索一下这个插件,安装,重启编译器即可!
6.pngAndroid ButterKnife Zelezny插件使用方法
例如:
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
// 进行绑定
ButterKnife.bind(this);
}
在布局文件上(上面的R.layout.simple_activity)右键,选择generate,弹出这个菜单:
2.png
之后,弹出这个菜单:
7.png第一列复选框,勾上代表控件需要生成注解。
第二列勾上代表需要生成点击事件。
并且自动生成的id是XML布局文件里的id。
自此,就完成了,只需要点几下鼠标,就可以帮我们自动生成这些东西了!