Android -- 带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(三)
2017-03-19 02:49
861 查看
1,这一篇博客是和大家一起来封装我们最后的Dagger2,其实之前也写过关于简单的Dagger2,这里是地址,完全没了解的同学可以先去看一下这篇,感谢很多小伙伴一直在耐心的等待这一篇
2,Dagger2可以说是些技术中最难上手的,不过把主要的四个注解理解到位了,基本上就可以用了:
下面你这张图片很相像的概括了上面四个标签的作用
还有两个常见的标签是@Scope和@Qulifier ,@Scope标签你可以将它理解成单例标记,@Qulifier可以简单的理解成区分需要的对象有两个或者两个以上构造方法(主要用于区分),
首先我们用一个简单的场景来引入吧,现在我们项目使用MVP架构, 而引入Dagger2的主要目的是解决我们在Activity中new Presenter对象,先看一下我们在引用之前代码是怎么样的吧
这时候引用Dagger2,再看看我们的代码
MainActiivty.java
Presenter.java
光上面的这两个标注还不够,我们还要创建对应的Module和Component
MainModule.java
MainComponent.java
这样我们就简单的使用了,再来简单的分析一下流程 :被 @Inject 注解的代码存在某种联系,当代码执行到 @Inject 的时候程序会自动进入到这个类的构造方法中,如果正巧这个构造方法也被 @Inject 修饰了,那么系统就会帮我们自动创建对象。
3,封装
由上面的项目我们进行过度,但我们封装的时候,主要是要在activity和fragment来持有Presenter对象,先来封装Activity,这是目录
先看一下我们之前的presenter的创建,在BaseActivity中添加抽象方法,在Mainactivity中重写方法再new对象
先创建Application的Module,Application的话主要是提供上下文环境,而appliacation中的component,只是提供Context展示方法get方法
AppModule.java
AppComponent.java
而Activity的Module主要是提供Activity和上下文Context对象,对应的Activity的component主要是将提供的对象注入到需要它的地方
ActivityModule.java
ActivityComponent.java
再在BaseActivity中去调用
BaseActivity.java
ok,这样我们就封装了,同理Fragment,这里就不废话写了,下面把github地址贴上,后面打算这些东西写一个展示类的app,又要到处找接口了,See You Next Time
!
2,Dagger2可以说是些技术中最难上手的,不过把主要的四个注解理解到位了,基本上就可以用了:
还有两个常见的标签是@Scope和@Qulifier ,@Scope标签你可以将它理解成单例标记,@Qulifier可以简单的理解成区分需要的对象有两个或者两个以上构造方法(主要用于区分),
首先我们用一个简单的场景来引入吧,现在我们项目使用MVP架构, 而引入Dagger2的主要目的是解决我们在Activity中new Presenter对象,先看一下我们在引用之前代码是怎么样的吧
MainActiivty.java
MainModule.java
3,封装
由上面的项目我们进行过度,但我们封装的时候,主要是要在activity和fragment来持有Presenter对象,先来封装Activity,这是目录
先看一下我们之前的presenter的创建,在BaseActivity中添加抽象方法,在Mainactivity中重写方法再new对象
先创建Application的Module,Application的话主要是提供上下文环境,而appliacation中的component,只是提供Context展示方法get方法
AppModule.java
ActivityModule.java
BaseActivity.java
!
相关文章推荐
- Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(一)
- Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)
- Android -- 带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(三)
- Android mvp+retrofit+rxjava 编程实践(一)--BaseActivity
- 安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量
- Android-MVP-Dagger-Retrofit-Rxjava-Okhttp
- MVP+Retrofit+Rxjava项目的封装
- Android Retrofit+RxJava+MVP封装
- Android当中的MVP模式(六)View 层 Activity 的基类--- BaseMvpActivity 的封装
- MVP项目研究——AppManager融合Dagger2和androidEventbus管理Activity的生命周期
- android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- Android Material Design + MVP + Rxjava + Retrofit + Okhttp + Glide一个小项目
- android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码器
- Android MVP+RxJava+Retrofit 入门封装
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- Android MVP+Retrofit(封装)+RxJava实例
- Android开源项目 MVP+MD+Retrofit+RxJava 看了你会上瘾的
- Android项目MVP模式框架+okhttp+rxjava+retrofit网络框架