ButterKnife的使用以及不能自动生成代码问题的解决

转载请注明出处:http://www.cnblogs.com/zhengjunfei/p/5910497.html

最近换了个工作刚入职,又赔了配环境(linux),并且根据老大的要求看了一些相关的知识点,其中在用到有个工具的时候与到了一些奇葩的问题,就是ButterKnife的不能自动生成代码的问题,查了好多资料和博客才查到,现在总结一下,以备同为码农的程序员不时之需.

大家知道在我们android编程的时候,经常会遇到findViewById的问题,尤其是当你的布局中的view较多的时候,initView是一个很耗时的过程,针对这一问题,ButterKnife可以完美解决,大大提高编程的效率,废话不多说,先上个图看一下效果吧:

怎么样,效果很炫吧?超方便的一个开源插件,下面我来介绍一下在项目中的配置过程:

方法一:在gradel里面直接搜

打开Android Studio的File->Project Structure

点击左边菜单栏的app选项,并且点击右边上方的Dependencies这个Tab选项,然后点击右上角"加号"选择"1 Library dependency",然后在弹出框中直接搜butterknife,就可以搜到,然后选择引入:

引入之后会在项目的build.grade文件下的dependencies下生成:compile 'com.jakewharton:butterknife:8.4.0'(位置1)这样一行代码,接下来你需要同样在dependencies 下面加入这样一行代码:apt 'com.jakewharton:butterknife-compiler:8.4.0' (位置2)   并在该文件根目录最上面加入这样一行代码:apply plugin: 'com.neenbedankt.android-apt'(位置3),并同时在整个Project的build.grade文件的buildscript的dependencies下面加入这样一行代码:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'(位置4),然后点击编译器右上角的Sync Now同步修改:

项目的build.grade文件:

整个Project的的build.grade文件:

Sync Now:

然后最关键的一步:打开File->Settings->plugins,在搜索栏内搜索ButterKnife,要是没有引入该软件,就install,将这个软件打钩选中使用:(没有这一步不能自动生成代码)

然后是最后一步,在使用前在onCreate方法中(一定要在setContentVIew之后)调用ButterKnife.bind(this);然后就可以自动生成代码了,生成方式:选中布局文件的名字,右击选择Generate->Generate BUtterknife injecktions,会弹出来下面这个对话框:

然后在Variable Na....一栏修改默认的一些对象的一些名字,点击OK,就生成了相应的代码了.

最后看一下最终效果:

希望可以帮到大家.

ButterKnife的使用以及不能自动生成代码问题的解决的更多相关文章

  1. mybatis generator maven插件自动生成代码

    如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...

  2. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  3. MyBatis自动生成代码示例

    在项目中使用到mybatis时,都会选择自动生成实体类,Mapper,SqlMap这三个东东. 手头上在用的又不方便,找了下网上,其实有很多文章,但有些引用外部文件时不成功,也不方便,所以重新整理了下 ...

  4. MyBatis使用Generator自动生成代码

    MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步: 配置好自动生成代码所需的XML配置文件,例如(generator. ...

  5. mybatis 自动生成代码(mybatis generator)

    pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...

  6. 【MyBatis】MyBatis自动生成代码查询之爬坑记

    前言 项目使用SSM框架搭建Web后台服务,前台后使用restful api,后台使用MyBatisGenerator自动生成代码,在前台使用关键字进行查询时,遇到了一些很宝贵的坑,现记录如下.为展示 ...

  7. mybatis-generator : 自动生成代码

    [参考文章]:mybatis generator自动生成代码时 只生成了insert 而没有其他 [参考文章]:Mybatis Generator最完整配置详解 1. pom <plugin&g ...

  8. mybatis-generator自动生成代码插件

    mybatis自动生成代码(实体类.Dao接口等)是很成熟的了,就是使用mybatis-generator插件. 它是一个开源的插件,使用maven构建最好,可以很方便的执行 插件官方简介: http ...

  9. (Python)自动生成代码(方法一)

    在写某个平台的自动化脚本时,笔者把全部的操作都封装到了两个类中,page.py和commonpage.py: page.py部分代码: class BasePage(object): ''' 页面基础 ...

随机推荐

  1. word遇到错误 使其无法正常工作 因此需要关闭word 是否希望我们立刻修复

    方法1: 网上找的方案: win10下按下快捷键win+R, 然后在里面输入 %appdata%\microsoft\templates ,确定,此时就会直接进入Word安装路径,在里面找到" ...

  2. Jmeter脚本录制方法(二)——手工编写脚本(jmeter与fiddler结合使用)

    jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ...

  3. JS中的作用域以及全局变量的问题

    一. JS中的作用域 1.全局变量:函数外声明的变量,称为全部变量 局部变量:函数内部使用var声明的变量,称为局部变量在JS中,只有函数作用域,没有块级作用域!!!也就是说,if/for等有{}的结 ...

  4. Mybatis Sql片段的应用

    在一个查询里,针对各种不同数据库,有时候只是一部分 SQL 是不相同的,为避免相同的部分复制多次,所以将不相同的部分进行适当的隔离,再重用就可以了. 在 MyBatis 里声明两段 <sql d ...

  5. App 监控、推广

    一.监控 酷传  http://www.kuchuan.com/ 应用雷达  http://www.ann9.com/ AppAnnie https://www.appannie.com/cn/ ap ...

  6. mac 通过brew安装php70 +php-fpm+ phalcon3.0.3

    安装php7.0.15 brew install homebrew/php/php70 brew install homebrew/php/php70-mcrypt brew install home ...

  7. Microsoft Offce 使用纪事:oneNote笔记本分区删除

    OneNote 笔记本和分区删除 OneNote 目前无法在客户端和本地删除已有的笔记本和分区,只能通过OneDrive才能够从云端删除: step1 step2 step3 后记 由于需要登录One ...

  8. Nhibernate/Hibernate 使用多参数存儲過程 出現could not execute query,Could not locate named parameter等錯誤解決

    <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns=" ...

  9. 关于限制DHCP服务器广播的另类方法

    0. 引言 如图,家里有两台计算机,分别处于不同房间.其中一台PC1能够与光猫直连:另外一台PC2较远,考虑到光猫有WLAN功能,便使用了一个路由器无线桥接到光猫,然后有线连接到PC2(均与光猫处于同 ...

  10. MyBatis 笔记总结

    1.MyBatis中的一些要点: 1.1 SqlMapConfig.xml:mybatis的全局配置文件,配置mybatis的运行环境等信息,包括mapper.xml文件 1.2 mapper.xml ...