dagger2的简单入门(二)
来源:互联网 发布:饥荒网络初始化错误 编辑:程序博客网 时间:2024/05/02 07:48
上一篇讲了些简单的用法,这篇在继续积累点知识
@Named限定符号
假设这样一个场景
父类
public abstract class Parent { public abstract String getMsg();}
子类1
public class ViscountOne extends Parent{ @Inject public ViscountOne() { } @Override public String getMsg() { return "one"; }}子类2
public class ViscountTwo extends Parent{ @Inject public ViscountTwo() { } @Override public String getMsg() { return "two"; }}
在Activity中 我需要
@InjectParent parent;
并且调用getMsg怎么办呢
Ok 来看下@Module层
@Module //提供依赖对象的实例public class MyDemo { /*** * *********************************华丽的分割线 * 限定符号 * @Named 也可以写城 Named("sss") 里面定义的名称 如果没有值生成的Bean名称默认和类名相同。 */ @Provides @Named("ViscountOne") Parent getViscountOne(){ return new ViscountOne(); } @Provides @Named("ViscountTwo") Parent getViscountTwo(){ return new ViscountTwo(); }}
只是在调用的方法中 增加了个@Named
然后在活动调用的时候
@Inject @Named("ViscountOne") Parent parent;
在声明parent的时候 申明@Named
其他的代码不变。
-------------------------------------------------------------------------------------------------------------
@Scope 自定义作用域 实现局部单列
@Scope@Retention(RetentionPolicy.RUNTIME)public @interface MyInstance{}
@Component 层中增加 我们自定义作用域的名称
@MyInstance@Component (modules = {MyDemo.class,MyDemoTwo.class})public interface FistDagger { //定义注入的方法 注意形参 必须为指定调用的 class 如填写Activity将无法运行 void inject(MainActivity activity);}
0 0
- dagger2的简单入门(二)
- dagger2的简单入门
- Android Dagger2入门详解(二)
- Dagger2简单入门使用
- Android Dagger2简单入门
- Dagger2的入门
- Android之dagger2的简单运用和详细解读(入门)
- Dagger2 的简单使用 (一)
- Dagger2的简单使用
- Dagger2的简单使用
- Dagger2的简单使用
- Dagger2的简单使用
- Dagger2 的简单使用
- Dagger2的简单使用
- Dagger2的简单使用
- android开源库---Dagger2入门学习(简单使用)
- Dagger2 进阶(二)
- 通俗易懂的dagger2-入门篇
- java框架篇---spring AOP 实现原理
- Android Valgring检测Native内存泄漏
- 内核Makefile 模板
- zookeeper学习之三(Curator客户端)
- malloc/free and new/delete
- dagger2的简单入门(二)
- 1018. Public Bike Management (30) PAT 甲级
- <c:url>标签相关知识点
- 杭电 A+B归类
- 回文素数
- android 显示系统时间
- C++如何调用C#的DLL方法
- VBScript
- 递归算法实现客户端和服务端同步