维基百科解释:
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
之所以学习依赖注入,应为可以大大减少代码量,提高效率。实质上它还可以为我们app后期的测试提供方便。详细介绍自行google。我就不吹了、
下面介绍一下Android中(use依赖注入)的开源库RoboGuice的简单使用。
本人依旧使用的Eclipse。首先在工程中导入guice-2.0-no_aop.jar 和roboguice-1.1.2.jar 下载链接:roboguice.jar,guice.jar;
MainActivity:
public class MainActivity extends RoboActivity { //使用依赖注入方式 @InjectView(R.id.tv) TextView tv ; @InjectView(R.id.btn) Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn.setonClickListener(new OnClickListener() { @Override public void onClick(View v) { tv.setText("OK!"); } }); } }
注意:必须继承RoboActivity.
必须新建一个Appliction 继承RoboApplication;
package com.app; import roboguice.application.RoboApplication; public class MyAppication extends RoboApplication { }
记得在manifest.xml 加入:
<application android:name="com.app.MyAppication"
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" tools:context="${relativePackage}.${activityClass}" > <TextView android:id="@+id/tv" android:layout_margin="20dp" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="依赖注入RoboGuice的使用" /> <Button android:layout_below="@id/tv" android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="start"/> </RelativeLayout>这样就可以运行了。快去试试吧!
原文地址:https://www.jb51.cc/javaschema/284885.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。