加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入之Android RoboGuice简单使用

发布时间:2020-12-13 22:29:51 所属栏目:百科 来源:网络整理
导读:维基百科解释: 控制反转 (Inversion of Control,缩写为 IoC ),是 面向对象编程 中的一种设计原则,可以用来减低计算机代码之间的 耦合度 。 其中最常见的方式叫做 依赖注入 (Dependency Injection,简称 DI ) ,还有一种方式叫“依赖查找”(Dependen

维基百科解释:

控制反转(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>
这样就可以运行了。快去试试吧!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读