文档章节

我的第一个Android依赖注入by dagger2

Zhengchangpeng
 Zhengchangpeng
发布于 2016/03/31 16:53
字数 188
阅读 6
收藏 0

经过上一篇android studio 配置dragger我们已经在android studio 配置好dagger ;接下来我们要写第一个依赖注入啦:)

为了能够快速上手,写出第一个demo来,接下来直接就进入写代码流程环节:

第一步:写Module

AppModule

@Module(
        includes = {
                ToastModule.class
        }
)
public class AppModule {
    private App app;

    public AppModule(App app) {
        this.app = app;
    }

    @Provides
    @Singleton
    public Application provideApplicationContext() {
        return app;
    }

}

ToastModule

@Module(
        injects = {
                App.class,
                MainActivity.class
        },
        complete = false, library = true)
public class ToastModule {
    @Provides
    @Singleton
    public Toast provideToast(Application application) {
        return Toast.makeText(application, "", Toast.LENGTH_SHORT);
    }
}

第二步:构建依赖注入图并注入

public class App extends Application {

    private ObjectGraph applicationGraph;

    @Inject
    Toast toast;

    @Override
    public void onCreate() {
        super.onCreate();
        applicationGraph = ObjectGraph.create(getModules().toArray());
        applicationGraph.inject(this);
        toast.setText("hello dagger");
        toast.show();
    }

    protected List<Object> getModules() {
        return Arrays.<Object>asList(new AppModule(this));
    }

}

至此hello dagger demo 已经完成。

本文转载自:http://blog.csdn.net/ewrfedf/article/details/49100501

Zhengchangpeng
粉丝 0
博文 123
码字总数 0
作品 0
青岛
程序员
私信 提问
当Dagger2撞上ViewModel,一种更简单的注入方式

简书地址:www.jianshu.com/p/d3c43b9dd… 写在前面 过去一年多的时间里,我一直在致力于打造一个最简单,并能让普通Android开发者都能快速上手的框架,并陆续发表了多篇开发心得,最终汇总为...

ditclear
2018/12/03
0
0
当Dagger2撞上ViewModel

本文已授权 微信公众号 玉刚说 (@任玉刚)独家发布。 写在前面 过去一年多的时间里,我一直在致力于打造一个最简单,并能让普通Android开发者都能快速上手的框架,并陆续发表了多篇开发心得...

ditclear
2018/12/18
0
0
当Dagger2遇上ViewModel

写在前面 过去一年多的时间里,我一直在致力于打造一个最简单,并能让普通Android开发者都能快速上手的框架,并陆续发表了多篇开发心得,最终汇总为了《使用Kotlin构建MVVM应用程序》系列文章...

ditclear
2018/12/01
0
0
使用 Kotlin 构建 MVVM 应用程序—提高篇:Dagger-Android

写在前面 本篇是对于使用Kotlin构建MVVM应用程序—第四部分:依赖注入 Dagger2 的补充。 在依赖注入 Dagger2 这篇文章中,我们了解了 Dagger2 是如何进行依赖注入的。 可以简单的将Dagger2理...

ditclear
2018/08/19
0
0
使用Kotlin构建MVVM应用程序—提高篇:ViewModel

写在前面 大家好,这里是使用Kotlin构建MVVM应用程序—提高篇:ViewModel。 本篇文章将介绍google推荐的架构组件ViewModel的使用方法及实现原理。 为什么要有ViewModel? 为什么?看到ViewMod...

ditclear
2018/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7 安装 mysql5.7 版本(全)

centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c http://dev.mysql.com/get/mysql57-community-relea......

sanri1993
38分钟前
4
0
Spring3.x升级到Spring4.x-5.x时关于MappingJacksonHttpMessageConverter的报错问题

在Spring4.x或者以上的版本强使用(不然会报错): org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 如果是Spring4.0获者以下的版本可以使用MappingJacksonH...

code-ortaerc
41分钟前
4
0
OSG 渲染状态污染到其它节点怎么解决?

在根节点补上初始状态

洛克人杰洛
42分钟前
4
0
grid 布局 设置行列间距

本文转载于:专业的前端网站➪grid 布局 设置行列间距 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="widt......

前端老手
55分钟前
4
0
spring-data-elasticsearch 和 Jackson 配合使用的bug

下面先简单描述项目。 项目依赖: dependencies { implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch', version: '2.1.0.RELEASE'......

Landas
56分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部