Android商城开发系列(四)——butterknife的使用

  在上一篇博客:Android商城开发系列(三)——使用Fragment+RadioButton实现商城底部导航栏实现商城的底部导航栏时,里面用到了butterknife,今天来讲解一下的butterknife使用

一、butterknife基本概念

  butterknife是一个依赖注入框架,可以省去我们findviewbyid()操作,哈哈~俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来。 

二、示例代码

  先来看一段代码示例说明下ButterKnife是如何简化代码的:

  采用findViewById( )方法产生的代码: 

package com.nyl.shoppingmalltest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;

public class MainActivity extends Activity {

    private RadioGroup rg_main;
    private RadioButton rb_home;
    private RadioButton rb_type;
    private RadioButton rb_community;
    private RadioButton rb_user;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化布局
        rg_main = (RadioGroup) findViewById(R.id.rg_main);
        rb_home = (RadioButton) findViewById(R.id.rb_home);
        rb_type = (RadioButton) findViewById(R.id.rb_type);
        rb_community = (RadioButton) findViewById(R.id.rb_community);
        rb_user = (RadioButton) findViewById(R.id.rb_user);
    }
}

  而用ButterKnife之后的代码是这样的:

package com.nyl.shoppingmall.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import com.nyl.shoppingmall.R;

import butterknife.Bind;
import butterknife.ButterKnife;

public class MainActivity extends Activity {
    @Bind(R.id.frameLayout)
    FrameLayout frameLayout;
    @Bind(R.id.rb_home)
    RadioButton rbHome;
    @Bind(R.id.rb_type)
    RadioButton rbType;
    @Bind(R.id.rb_community)
    RadioButton rbCommunity;
    @Bind(R.id.rb_user)
    RadioButton rbUser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //ButterKnife和当前Activity绑定
        ButterKnife.bind(this);
      
    }
}

三、用法

  在Android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方式去实现,而ButterKnife则是注解中相对简单易懂的很不错的开源框架,接下来就介绍一下如何使用。

3.1 Module 里的 build.gradle 里面引入butterknife

  compile 'com.jakewharton:butterknife:7.0.1'

  

3.2 安装 butterknife插件

  在 Setting->Plugins 中输入 butterknife 添加插件,如下图:

  

  接着就是下载,如下图:

  

  完成后,如下图所示:

  

  安装完成之后重启AndroidStudio

  见证奇迹的时刻来了,把光标定在setContentView(R.layout.activity_main);然后点击Code→Generate,如下图:

  

  勾选需要生成的元素,如下图所示:

  

  点击Confim就会生成如下图所示代码:

  

  这就是 Butterknife以及关于Butterknife插件的用法,很简单也很方便,推荐大家在开发中使用Butterknife框架去提高开发效率

posted @ 2017-03-21 00:25 ButterflyGirl 阅读(...) 评论(...) 编辑 收藏