# 安卓架构
> 博客地址:[但愿人长久,搬砖不再有](https://www.jianshu.com/p/77dd326f21dc)
> 码云地址:[Gitee](https://gitee.com/getActivity/AndroidProject)
> 当我们日复一日年复一年的搬砖的时候,你是否曾想过提升一下开发效率,如果一个通用的基建项目摆在你的面前,你还会选择自己搭架构么
> 但是搭建出一个好的架构并非易事,有多少人愿意选择去做,还有多少人选择努力去做好,可能寥寥无几,但是你今天看到的,正是你所想要的,一个真正能解决你开发新项目时最大痛点的架构工程,你不需要再麻木 Copy 原有旧项目的代码,只需改动少量代码就能得到想要的效果,你会发现开发新项目其实是一件很快乐的事
> 已经正式投入多个公司项目实践,暂时没有发现任何问题,[点击此处下载Demo](AndroidProject.apk)
![](picture/demo_code.png)
#### 常用界面
![](picture/activity/1.jpg) ![](picture/activity/2.jpg) ![](picture/activity/3.jpg)
![](picture/activity/4.jpg) ![](picture/activity/5.jpg) ![](picture/activity/6.jpg)
![](picture/activity/7.jpg) ![](picture/activity/8.jpg) ![](picture/activity/9.jpg)
![](picture/activity/10.jpg) ![](picture/activity/11.jpg) ![](picture/activity/12.jpg)
![](picture/activity/13.jpg) ![](picture/activity/14.jpg) ![](picture/activity/15.jpg)
![](picture/activity/16.jpg) ![](picture/activity/17.jpg) ![](picture/activity/18.jpg)
![](picture/activity/19.jpg) ![](picture/activity/20.jpg) ![](picture/activity/21.jpg)
![](picture/activity/22.jpg) ![](picture/activity/23.jpg) ![](picture/activity/24.jpg)
![](picture/activity/25.jpg) ![](picture/activity/26.jpg) ![](picture/activity/27.jpg)
![](picture/activity/28.jpg) ![](picture/activity/29.jpg)
------
![](picture/activity/30.jpg)
![](picture/activity/31.jpg)
![](picture/activity/32.jpg)
![](picture/activity/33.jpg)
![](picture/activity/34.jpg)
![](picture/activity/35.jpg)
![](picture/activity/36.jpg)
![](picture/activity/37.jpg)
#### 常用对话框
![](picture/dialog/1.jpg) ![](picture/dialog/2.jpg) ![](picture/dialog/3.jpg)
![](picture/dialog/4.jpg) ![](picture/dialog/5.jpg) ![](picture/dialog/6.jpg)
![](picture/dialog/7.jpg) ![](picture/dialog/8.jpg) ![](picture/dialog/9.jpg)
![](picture/dialog/10.jpg) ![](picture/dialog/11.jpg) ![](picture/dialog/12.jpg)
![](picture/dialog/13.jpg) ![](picture/dialog/14.jpg) ![](picture/dialog/15.jpg)
![](picture/dialog/16.jpg) ![](picture/dialog/17.jpg) ![](picture/dialog/18.jpg)
#### 动图欣赏
![](picture/gif/1.gif) ![](picture/gif/2.gif) ![](picture/gif/3.gif)
![](picture/gif/4.gif) ![](picture/gif/5.gif) ![](picture/gif/6.gif)
#### 项目亮点
* App 优化:已经进行了全面的内存优化、布局优化、代码优化、瘦身优化,并且对结果进行了严格的长久测试。
* 代码注释:参照 Android SDK 、Support 源码和参考阿里巴巴的代码规范文档对代码进行命名,对难点代码进行了注释,对重点代码进行了说明。
* 代码统一:对项目中常见的代码进行了封装,或是封装到基类中、或是封装到工具类中、或者封装到框架中,不追求过度封装,根据实际场景和代码维护性考虑,尽量保证同一个功能的代码在项目中不重复。
* 敏捷开发:一个 App 大概率会出现的功能已经写好,对项目的敏捷开发起到了至关重要的作用,可用于新项目开发或者旧项目重构,可将开发周期缩短近一半的时间,并且后续不会因为前期的快速开发而留下成堆的技术遗留问题,万丈高楼平地起,AndroidProject 属于基建工程,而在软件行业我们称之为技术中台。
* 无任何瑕疵:对小屏手机、全面屏手机、带虚拟按键手机进行了适配和优化,确保每一个界面细节都能处理到位、每一个功能细节都能符合大众的需求、乃至每一行代码都能贴合 Android 程序员的审美观。
* 兼容性优良:在此感谢开源道路上给予我支持和帮助的小伙伴,一个人一台机在兼容性面前无能为力,而在几百人几百台机面前却不是问题。如果没有这些的测试,有些问题我一个人可能这辈子都发现不了,纵使代码写得再好,逻辑再严谨,没有经过大众的验证,无异于纸上谈兵。
#### 为什么没有用 MVP ?
![](picture/mvp.jpg)
* AndroidProject 舍弃 MVP 的最大一个原因,需要写各种类,各种回调,如果这个页面比较简单的话,使用 MVP 会让原本简单的代码变复杂,导致后续开发和维护成本是非常高,前期付出的代价和后期的维护不成正比关系,当然这种说法只适用于各种中小型项目,大型的项目我还没有经历过,不过我觉得,无论是 MVC、MVP、MVVM,它们出现的目的是为了解决代码多并且乱的问题,作用就是给代码做分类,但是可以跟大家分享我的心得,我并不看好 MVP,因为它让我开发和维护都很痛苦,所以我就直接将它从 AndroidProject 移除,目的也很简单,不推荐大家使用,因为 MVP 不适合大多数项目的开发和维护。我更推荐大家直接将代码写在 Activity,但是有一个前提条件需要大家遵守,大家要做好代码封装和重复代码的抽取,尽量让 Activity 成为只有业务代码的类,这样一个项目里面的大多数 Activity 代码量都能很好控制在 1000 行代码以内。但是这种看似简单的操作,但是实际要做到是一件不容易的事情,这里面不仅要解决代码带来的问题,还要解决带来的各种人性矛盾,困难重重,这种想法经过很长一段时间的思考,虽然写法在开发和维护中效率是非常高的,但是不被大多数人认可,大家更愿意相信 MVC、MVP、MVVM,而很少有人理解这三种模式的本质是什么,就是为了给代码做分类,但这三种模式都不够灵活,很生硬,像是一套套规则,而这样的代码分类,只会让大多数人的开发越来越头疼。
#### 作者的其他开源项目
* 网络框架:[EasyHttp](https://github.com/getActivity/EasyHttp) (已集成)
* 日志框架:[Logcat](https://github.com/getActivity/Logcat) (已集成)
* 权限框架:[XXPermissions](https://github.com/getActivity/XXPermissions) (已集成)
* 吐司框架:[ToastUtils](https://github.com/getActivity/ToastUtils) (已集成)
* 标题栏框架:[TitleBar](https://github.com/getActivity/TitleBar) (已集成)
* 悬浮窗框架:[XToast](https://github.com/getActivity/XToast) (未集成)
* 国际化框架:[MultiLanguages](https://github.com/getActivity/MultiLanguages) (未集成)
#### Android技术讨论Q群:78797078
#### 如果您觉得我的开源库帮你节省了大量的开发时间,请扫描下方的二维码随意打赏,要是能打赏个 10.24 :monkey_face:就太:thumbsup:了。您的支持将鼓励我继续创作:octocat:
![](https://raw.githubusercontent.com/getActivity/Donate/master/picture/pay_ali.png) ![](https://raw.githubusercontent.com/getActivity/Donate/master/picture/pay_wechat.png)
#### [点击查看捐赠列表](https://github.com/getActivity/Donate)
## License
```text
Copyright 2018 Huang JinQun
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 l
一叶再见知秋
- 粉丝: 3
- 资源: 172
最新资源
- 自适应巡航控制器,ACC设计,以车辆速度误差,车间距误差为输入量通过mpc控制器进行自适应巡航,采用S函数代码编写,以实现车间距保持与速度跟随,matlab与carsim联合仿真,控制量为轮胎转矩,可
- 西门子plc1500控制的智能物流分拣系统 博图触摸屏仿真 不需要实物 自带人机界面,动画,可以仿真 还有接线图原理图 1.设计说明1500 2.程序博图v16 3.cad图纸,说明b78
- 光伏同步发电机并网simulink仿真模型 光伏采用最大功率点跟踪,拓扑为Boost电路 右侧逆变器为VSG控制策略 2018b以上的版本
- 维也纳整流器(Vienna recttifier)闭环仿真模型,Svpwm调制 matlab, simulink
- 基于同步发电机(vsg)分布式能源并网仿真 并网逆变器,有功频率控制,无功电压控制,VSG控制,电压电流双环PI控制 各方面波形都完美 模型一次调频,也可以模拟一次调压 MATLAB201
- 基于TTC(或车辆安全距离,车头时距)触发的车辆道轨迹规划与控制,采用五次多项式实时规划,ttc触发车辆道决策,matlab与carsim联合仿真实验,控制量为节气门开度,制动压力和方向盘转角,模型仅
- 考虑光伏出力利用率的电动汽车充电站能量调度策略 仿真软件:matlab + cvx 注意事项:程序注释详细,提供cvx求解器安装包和安装方法 代码内容: 针对间歇性能源利用的问题,构建电动汽车的充放
- 纯电动汽车整车Matlab simulink仿真模型(电机模型、电池模型、变速器模型、驾驶员模型、整车动力学模型) -整车总成参数都有,可直接运行仿真
- 基于多智能体系统一致性算法的电力系统分布式经济调度策略-谢俊lunwen的复现 包括10个发电单元和19个柔性负荷单元 能完美的实现复现
- 光伏三相并网仿真 模型内容: 1.光伏+MPPT控制+两级式并网逆变器(boost+三相桥式逆变) 2.坐标变+锁相环+dq功率控制+解耦控制+电流内环电压外环控制+spwm调制 3.LCL滤波 仿真
- 车辆状态估计模型EKF AEKF,基于Carsim和simulink联合仿真51 在建立车辆三自由度模型(自行车模型加纵向)的基础上, 分别使用EKF和AEKF算法 对纵向车速, 横摆角速度,
- ansoft ansys Maxwell 有限元仿真 电磁场模型 主要为无线电能传输WPT 磁耦合谐振 多相多绕组变压器 高频非正弦周期激励变压器等模型 永磁同步电机(pmsm) 永磁游标电机(pm
- 纯电动汽车Simulink仿真模型建模详细步骤 通过文档的形式,跟着文档一步一步操作,既可以提高自己的建模能力,又可以对整个建模思路进行借鉴,形成设计能力 附带模型
- 纯电动汽车动力经济性仿真,Cruise和Simulink联合仿真,提供Cruise整车模型和simuink策略模型,2015版本可用 策略主要为BMS、再生制动和电机驱动策略,内含注释模型和详细解析文
- comsol枝晶生长,沉积模型,包括:典型,形状成核,随机成核,均匀沉积,雪花晶形成过程 适用于电池,电化学沉积,催化的模拟学习
- 双电机纯电动汽车整车仿真模型,基于Matlab Simulink的双电机前后轴双驱电动汽车仿真模型 双电机纯电动汽车整车控制策略,新能源电动汽车整车仿真模型 -包括前轴电机、后轴电机双电机模型转矩
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈