注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

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

2015-10-08 09:54:55|  分类: 安卓 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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、以下是图片讲解。

android_butterknife_iamge_01

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

XML布局:

  1. <RelativeLayout      xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" >  
  5.    
  6.    
  7.    <TextView  
  8.        android:id="@+id/tv_test"  
  9.        android:layout_width="wrap_content"  
  10.        android:layout_height="wrap_content"  
  11.        android:layout_centerHorizontal="true"  
  12.        android:layout_centerVertical="true"  
  13.        android:text="@string/hello_world"  
  14.        tools:context=".MainActivity" />  
  15. </RelativeLayout>  

code代码部分:

  1. import butterknife.ButterKnife;  
  2. import butterknife.InjectView;  
  3. import butterknife.OnClick;  
  4. import android.os.Bundle;  
  5. import android.app.Activity;  
  6. import android.widget.TextView;  
  7.    
  8.    
  9. public class MainActivity extends Activity {  
  10.    
  11.     @InjectView(R.id.tv_test)  
  12.     TextView tvTest;  
  13.    
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.          super.onCreate(savedInstanceState);  
  17.          setContentView(R.layout.activity_main);  
  18.          ButterKnife.inject(this);  
  19.          tvTest.setText("test");  
  20.     }  
  21.    
  22.     @OnClick(R.id.tv_test)  
  23.     public void sayHi() {  
  24.          tvTest.setText("Hello!");  
  25.     }  
  26. }  

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


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

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

  1. -dontwarn butterknife.internal.**  
  2. -keep class **$$ViewInjector { *; }  
  3. -keepnames class * { @butterknife.InjectView *;}  


http://blog.csdn.net/jabony/article/details/41944941?utm_source=tuicool
  评论这张
 
阅读(216)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016