文档章节

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

Zhengchangpeng
 Zhengchangpeng
发布于 2016/03/31 16:53
字数 188
阅读 12
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
37分钟前
6
0
MySQL 表崩溃修复

MySQL日志报错 2019-10-19 13:41:51 19916 [ERROR] /usr/local/mysql/bin/mysqld: Table './initread_hss/user_info' is marked as crashed and should be repaired2019-10-19 13:41:51 1......

雁南飞丶
47分钟前
6
0
Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
今天
4
0
8086汇编基础 start 程序入口标签的示例

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
今天
4
0
uni app 零基础小白到项目实战2

<template> <scroll-view v-for="(card, index) in list" :key="index"> <view v-for =(item, itemIndex) in card"> {{item.value}}</view> </scroll-view></template> GraceUi va......

达达前端小酒馆
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部