Android组件化应用实践

Android组件化应用项目。将正常的项目分解为组件项目,具体过程可参考项目git历史记录。项目放在了GitHub

去年还专心开发Android应用的时候,经常因为编写代码后运行的漫长过程所折磨,所以研究了一下Android组件化应用开发的技术。研究结果:将模块内容繁重的项目分解为组件化项目之后,能够很大程度的缩减项目编译时间。但比较关键的问题是,在项目前期就需要时间分析项目功能,优化项目结构,将项目组件化。

github项目介绍

项目运行效果

修改项目中的gradle.properties中的如下代码,将项目配置为组件化工程。

isModule=true

这时项目的module_homemodule_me就会由library变为application,分别运行之后就可以看到两个独立的模块运行成APP。下面是运行效果图。

同理,修改项目中的gradle.properties中的如下代码,将项目配置为组件化工程。

isModule=false

这时项目的module_homemodule_me就会由application变为library,运行app模块就会包含两个模块的内容。下面是运行效果图。

其他问题说明

因为项目中使用的接口服务停掉了,所以项目运行后接口不会返回数据。但是网络请求部分是没有问题的。

接口调用方法:

  • 修改lib_com模块下的data/API文件中的接口根路径。
    public static final String BASE_URL_TEST = "http://genius.enn.cn/";
    
  • lib_com模块下的data/ApiService文件中添加接口地址。
    /**
     * 更新昵称
     */
    @POST("member-v1/user/profile")
    Observable<BaseResponseV2<UserInfo>> getUserInfo();
    
  • 在应用模块的Presenter中添加接口请求的方法。
    例如:在module_me模块的fragment/MinePresenter文件中添加请求方法。
    public void getUserInfo() {
        addSubscribe(dataManager.getUserInfo()
                .compose(RxUtils.rxSchedulerHelper())
                .compose(RxUtils.handleResultV2())
                .subscribeWith(new BaseObserver<UserInfo>(mView, false) {
                    @Override
                    public void onNext(UserInfo userInfo) {
                        mView.getUserInfoSuccess(userInfo);
                    }
                }));
    }
    
  • 在应用模块的Activity或者Fragment界面中调用Presenter的方法即可。
    mPresenter.getUserInfo();
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值