【Butter Knife】依赖注入方式简化代码提高开发效率

Butter Knife是一款非常不错的开源框架,其目的是简化代码,提高项目的开发效率。

以往的开发我们经常需要用findViewById(R.xx.xxx);几乎没个页面都会涉及到,无论Activity还是Fragment甚至listView、GridView中的

Adapter.这些重复性的代码会让人觉得很枯燥,因为闭上眼都不会敲错的代码,每天重复几百遍是有点耗时,尽管有代码提示。而且可能会因为不同field的忘记书写而导致NullPoint空指针。

那么还是直接进入主题:

步骤:

第三方框架和库引入的规律都差不多,1.下载库,2.引入,3.浏览文档,查看API。有的是库项目,有的是jar包,但基本同理,最后注意代码混淆的问题。

1、准备阶段,先到官网( http://jakewharton.github.io/butterknife/)上jar包,下载下来。

2、把下载下来的jar包,放到项目的libs下,就会自动导入项目了。

3、配置eclips,鼠标对准需要注解的项目,单击右键 poperties –>java Compiler –>

Annotation Procession –> 钩一下 Enable project specific settings 其它的就会自动钩上了

–> Factory Path ( 钩一下Enable project specific settings )–> 最后Add …. JARs 把刚刚下载的jar包来。这样eclips配置就可以了。

4、以下是图片讲解。

5、是用注解,直接上代码。

XML布局:

<RelativeLayout		xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="match_parent"
	android:layout_height="match_parent" >

   <TextView
	   android:id="@+id/tv_test"
	   android:layout_width="wrap_content"
	   android:layout_height="wrap_content"
	   android:layout_centerHorizontal="true"
	   android:layout_centerVertical="true"
	   android:text="@string/hello_world"
	   tools:context=".MainActivity" />
</RelativeLayout>

code代码部分:

import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {

	@InjectView(R.id.tv_test)
	TextView tvTest;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		 super.onCreate(savedInstanceState);
		 setContentView(R.layout.activity_main);
		 ButterKnife.inject(this);
		 tvTest.setText("test");
	}

	@OnClick(R.id.tv_test)
	public void sayHi() {
		 tvTest.setText("Hello!");
	}
}

现在:RUN IT!  It will be funny!看上去是不是有点意思,别只是看看热闹,动手吧,你也可以像高手一样编写代码,效率一点不必他们差哦。

参考:http://jakewharton.github.io/butterknife/ 这里有各种使用注解的示例,就不具体演示,因为看一遍便可上手,新手们也可以尝试哦。

对了混淆中别忘了添加如下代码:

-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}
时间: 2024-11-08 19:09:38

【Butter Knife】依赖注入方式简化代码提高开发效率的相关文章

控制反转IOC的依赖注入方式

引言: 项目中遇到关于IOC的一些内容,因为和正常的逻辑代码比较起来,IOC有点反常.因此本文记录IOC的一些基础知识,并附有相应的简单实例,而在实际项目中再复杂的应用也只是在基本应用的基础上扩展而来的.本文目的两个,一是记录学习过程,以便将来温故:二是请大牛对小弟指点一二. 概念: 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入(Dependen

AngularJS的依赖注入方式

在定义controller,module,service,and directive时有两种方式, 方式一: var myModule = angular.module('myApp', []); myModule.controller('myCtrl', ['$scope', 'Project', function($scope, Project) { }]); 方式二: var myModule = angular.module('myApp', []); function myCtrl($

Spring_002 依赖注入方式实现

继续写我们的第一个Spring程序,这次我们使用依赖注入的方式实现程序 第一步,建立我们的Spring_002程序,并在程序中添加BookDao.java.BookDaoImpl.java.BookService.java.BookServiceImpl.java. ApplicationContext.xml 第二步 在BookDao接口中配置一个addBook方法 在BookDaoImpl中实现addBook方法 在BookService接口中配置addBook方法 在BookService

Visual Studio 实用扩展推荐   Visual Studio 拥有非常不错的可扩展性,在之前的文章中,我也给大家示范了如何进行编辑器的扩展(详见文末参考资源)。在本篇文章中,我将介绍几款非常实用的扩展,从而帮助我们提高开发效率。 C# outline   Visual Studio 默认的大纲方案只允许在方法级别及以上进行代码的折叠,无法对一个if、while的区块进行折叠

Visual Studio 实用扩展推荐 Visual Studio 拥有非常不错的可扩展性,在之前的文章中,我也给大家示范了如何进行编辑器的扩展(详见文末参考资源).在本篇文章中,我将介绍几款非常实用的扩展,从而帮助我们提高开发效率. C# outline Visual Studio 默认的大纲方案只允许在方法级别及以上进行代码的折叠,无法对一个if.while的区块进行折叠,而这款工具则正好弥补了这个问题. highlight all occurrences of selected word

IntelliJ IDEA实用插件推荐,提高开发效率

idea插件推荐 工欲善其事必先利其器,想要提高开发效率,站在巨人的肩膀上走捷径无疑是最快的!下面就给开发者朋友们推荐一些Idea实用的.装逼酷炫的插件! 实用级 GsonFormat (json格式化成entity,会创建一个类,也可以使用外部网址解决,比如bejson这个网站) Alibaba Java Coding Guidelines 代码检查工具 Rainbow Brackets (括号美化,更直观的知道当前括号对应的括号位置) translation (翻译,很实用.....) Gr

善用VS中的Code Snippet来提高开发效率

http://www.cnblogs.com/anderslly/archive/2009/02/16/vs2008-code-snippets.html http://www.cnblogs.com/jaic-xiao/archive/2008/10/14/Jie_Shao_Net_Gong_Ju_Code_Snippet_Yu_Sql_Server_2008_Gong_Ju_SSMS_Tools_Pack.html 前言 在谈谈VS中的模板中,我介绍了如何创建项目/项模板,这种方式可以在创建

怎样提高开发效率

给你一个任务,限定5天内完成,如果你实际用了6天,可以说是开发效率不高,或者同样的一个任务,你花了6天,而你的同事却只用了4天,也可以说是你的开发效率不高,影响开发效率的因素有很多,下面就我个人的理解来谈谈怎样提高开发效率. 工具 俗话说,工欲善其事必先利其器,使用得心应手的工具必然会提高开发效率,做微软平台开发的肯定离不开VS,就VS本身来说,除了常用功能外一些常用的快捷键一定要能熟练运用,例如下面是我认为比较有用的几个快捷键: 注释: Ctrl + K + C 取消注释: Ctrl + K

可以500%提高开发效率的前端UI框架!QUI!

QUI 框架介绍 QUI网页界面集成框架是一套完整的企业级前端解决方案,由组件库.皮肤框架.示例工程和文档4部分组成.使用本产品开发者可以极大地减少工作量,提高开发效率,快速构建功能强大.美观.兼容的应用系统. QUI框架特点如下: 特点一: 组件使用方式极大简化和一致性 几乎所有组件都可以通过一句标签实现创建.无需任何JS代码. 例如: 其中,class设置为selectTree声明它是一个树形下拉框,url里的路径用于从远程获取JSON数据. 效果如下: 其他设置通过添加属性实现,例如添加m

如何利用 Visual Studio 自带工具提高开发效率

原文:如何利用 Visual Studio 自带工具提高开发效率 Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 / 选项 / 文本编辑器 -> 选择对应的语言 2. 勾选 "行号" 使用书签 和平常意义的书签类似,当我们希望在日后某一时刻快速定位到一处代码时使用.比如在项目例会上,你需要演示本周你所做的一些改进,在开会前可以事先