ButterKnife在Android 中的使用

1、前言


在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦,当然不会偷懒的程序员不是好程序员,自然也出现了相应的解决方案--依赖注入

 ButterKnife支持APT(Annotation Processing Tool):编译时注解.

从HttpUrlConntection,Volley 到Okhttp 再到retrofit  注解框架与APT的结合已经越来越成为主流。

编译时注解的框架

GreenDao3 

EventBus3

ParcelableGenerator等等。


2、ButterKnife优势 


1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率
2.方便的处理Adapter里的ViewHolder绑定问题
3.运行时不会影响APP效率,使用配置方便
4.代码清晰,可读性强


3、AndroidStudio引用 ButterKnife

首先需要在对应的project  build.gradle文件中添加apt插件的支持

 dependencies {
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
  }

其次需要添加 module  build.gradle文件中添加apt 的引用及bufferknife库支持

dependencies {
  compile 'com.jakewharton:butterknife:8.4.0'
  apt 'com.jakewharton:butterknife-compiler:8.4.0'
}
最后点击 Sync Now会自动从jcenter仓库去下载对应的库文件


4、实战


新建 BufferKnifeDemo工程

在xml文件中添加控件id 为 imageView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>


GlideActivity 中添加引


public class GlideActivity extends AppCompatActivity {


    @BindView(R.id.imageView) ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setContentView(R.layout.glide_activity);
        ButterKnife.bind(this);
        loadPhoto();

    }

    private void loadPhoto(){

        String gifStr="http://i.kinja-img.com/gawker-media/image/upload/s--B7tUiM5l--/gf2r69yorbdesguga10i.gif";
        String jpgStr="https://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg";
        Glide.with(this)
                .load(gifStr)
                .asGif()
                .placeholder(R.drawable.b)
                .error(R.drawable.c)
//                .fitCenter()
                .into(imageView);
    }
}


总结:

随着开源框架的普及,我们要跟上时代与时俱进哦!

附上gitHub地址 butterknife





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值