JD-Test
仿京东 app 采用组件化架构 屏幕适配方案可以较好解决多分辨率及同分辨率不同 dpi 适配; 全新组件化架构升级,相比之前的方案模块间更为解耦且使用更为方便;
声明 : 本项目资源采用抓包获取,仅供学习交流使用 。
apk 安装 :
https://github.com/liu-xiao-dong/JD-Test/raw/master/app/app-release.apk
Specs
本项目为仿京东项目,资源为抓包获取,项目框架采用路由框架 ARouter 进行模块间通讯,以功能模块进行划分的组件化开发 ,模块内部采用参考 google 开源的 mvp 架构 , 核心框架 包含 retrofit 、rxjava 、dagger2 、fresco 以及个人开源的诸多优秀项目;当然现成的轮子也有不合适的地方,在这些轮子的基础上修改以及自己造轮子组成了 现有的项目,这套架构也是我应用与项目中的架构,后期也会不断扩展维护 ,欢迎大家提 issues ,喜欢就直接拿去用 ,绝不收取任何费用(好吧 , 想收也没人给 ^-^!) 。 话说一切没有 gif 图的项目都是耍流氓,上图:
再来几张非主流分辨率截图
项目架构如下图:
旧的架构
最新架构
架构相关:app 只作为壳存在,除了包含 MyApplication、SplashActivity 及跳往其它 module 的测试页面,不包含任何其它逻辑 功能模块之间跳转还是通过 ARouter,模块间服务接口暴露于 app_common 中,使用服务的模块通过 ARouter 获取服务,模块之间完全解 耦;各模块中有 xxxModule 类,主要承担应用启动时的各模块初始化,也是通过 ARouter 获取调用;本次架构主要由 ARouter 承担大部分功能实现 再次跪谢!在项目 build.gradle 中配置需要参与编译的模块;具体使用见源码!
License
Copyright 2017 aritraroy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.