android 资源如何下沉,关于Android业务模块下沉的一些实践及总结

此文已由作者徐铭阳授权网易云社区发布。

欢迎访问

前言

最近在做需求过程中,一些类似学校选择、城市选择等业务相关模块想单独抽离出来,遇到一些诸如模块管理、通信方面的问题来

背景

最近有一个需求是学校列表,没错,就是我们平时总见到的类似微信通讯录的需求,单看这个需求的话实现不复杂,网上也会有一些类似的实现。

中M有一些个性化的需求,比如字母索引不是A~Z总共26个字母而是按照学校的名字,假设没有这个首字母拼音的话这个字母就是不展示的,所以在做这个需求的时候造了个轮子满足这个需求,不过这个不是本文要说的重点。

由于学校选择、通讯录、城市选择等类似的选择器功能基本通用,教育产品有好几个产品,不止中M可能还会有云课堂、K12等也会有类似的需求,所以关于这个选择器准备作为一个底层业务模块单独拆分出来,联想到之前做中M路由的时候写过业务模块管理相关代码,现在两个结合起来正好可以满足需求

需求

edu-android-select模块注册

SelectActivity处理完选择事件之后需要把处理结果返回给调用的上层业务

业务组件懒加载,不需要在app启动时初始化

解决方案

模块注册

framework启动统一使用配置文件注册,每个module配置application入口,该application有两个功能,作为各个模块路由分发入口,做一些初始化工作,当然除非是模块运行必须的功能,其他功能不建议放在该入口application中

业务模块提供的服务在每个模块application中注册,接口和实现分离方式,Map中保存键值对,键对应接口,值对应实现

framework统一管理所有的application和所有的service,上层业务想去获取某个service时通过ServiceManager获取,提供统一获取service方式

回调处理

ICommonService中定义提供外部的接口以及给外部的回调,接口和实现分离

业务service懒加载

每个application入口中注册该模块提供的服务

实现

da71a653eb7d651be6ed35eb88a39e1c.png

如有问题欢迎指正交流

网易云

更多网易技术、产品、运营经验分享请

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值