# 安卓架构
> 博客地址:[但愿人长久,搬砖不再有](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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
(基于android的毕业设计)家庭收纳App(源码+演示视频) 【项目技术】 android+java 【实现功能】 主要设计有以下模块和功能: 1.用户注册和登陆:用户可以通过注册获取权限并登陆App; 2.物品收纳功能:用户可以手动编辑家庭物品存放信息,建立电子标签; 3.物品交易功能:对于家庭闲置的物品,可以通过App内的商城进行发布交易; 4.个人中心模块:用户可以查看个人信息、收纳信息、订单信息等并修改等。
资源推荐
资源详情
资源评论
收起资源包目录
(基于android的毕业设计)家庭收纳App(源码+演示视频) (1375个子文件)
000d5498f8f68a9d5227161c6dfdd603ee8d07 401B
009e75d359a79bb92ff15a3cd4b9804c38bc2e 267B
00a53e437f66b5f98f0fe200aed1b67da637a5 207B
0131396f4ce17450db249f339bca9ddfd87baf 540B
01600a9a2e3a1464f02f2b5a1c106c4eae49f8 850B
02127944d3e328cc99beb5f15dbb7257d6e000 782B
03668a0976705e6b7efc5bc6916bc5ea5a1097 2KB
038610224b5c324103d12b8a42f2fc8a1e6983 47B
0394f0c4d8b247d10ea637448c5b7facc00d9b 611B
044cb8422952b8eb3106f84f5798e2a06f1091 1KB
048df6c15f37d9e60f9c3016b719c6cc54266a 803B
05206745758fcaa53ba90cec846cdef8a25c97 555B
05665a4eb89dd762590059210cc6401bfc0286 856B
058be735c9c01b606426885561c0bdb04798b1 3KB
05a6c89bef2ae8199eee2e556312329be13e26 455B
06416cb8e360dbde43b962155f1bfd3def09a9 1006B
0696085c8e68c2098dc76d0ebc2143abdf7153 117B
0749e4fb0c50f10ac9394b82a80cf34d5deaae 2KB
07f5a18d7b406278788b021ee571876d5dab93 155B
084422b1b7556c4bf29444b7996dcba6290ae7 1KB
091233642fc8cb6d85c6b9d73c5d2c49128f23 45B
092b289b60a076cb6b7a7ae0d79b9ab3c0e8ed 513B
0942d4996eb63947d34378d844f231c33a417b 1KB
094ee189e5557c9914025364e4ddb584d3d1b4 80B
0a152042f3607404db1d9d4b03993974c346e3 3KB
0a4439e34819d45c5a3f2909a0cb6b3016c61d 191B
0a772c3ca2ccfa2c46af57daa3c2fd731ab2c9 323B
0a867e4c6fdbbdf96fa781d7be9b1c5120f356 334B
0b282aa6885fb573c106b3551f7275c5f17e8e 1005B
0bebe7112459ecf5d4c6831b2a8007c12e0513 651B
0c60e093d6a0b637c0f10e7aa6665ad21053df 2KB
0d098ba0d3b6c7221e1cb409d602c133062b2c 1KB
0d84b8297de7a2d028ac4e0af760af4a8f5404 946B
0d84f0d3769ef73e7291fdbd04feef44965c82 282B
0da36295e6ad7b645fd127f3eeaf23752caec2 2KB
0e148f3c5377257ceef425d91f8a31b8eda0ca 317B
0e3b72f51b86cae321e9efd2024fe57e6aba68 155B
0e6b481bacd4b57ee2b14923c2979079ebf7ed 1KB
0e759fc3dba62044c145973044efba755c7c55 351B
0f34b9a7ec2f4e01a8550e9bc3ce9e53ea2e5a 1KB
0fe6526fad891efef0df51eadea6db2ee873ec 8KB
0ff2e56a30f89a212c02c4919ee941c56a92c9 2KB
107cddc17df589f7819658a41e7bb8b7bb968a 661B
111af6d8a482f130b42d49813d67ebe7f9e5a3 312B
1131c498112941847e647b4a0c186471fc6028 86B
114820566aea106d964dcda7186c4a5eb3883e 46B
115a8f0e534daef1aea6683a0eb0220477b10c 362B
115c29f6c3138244d2ed60100f36126117521a 157B
11b7001a12c5cf2e29ceace17a15d19ac1c8fd 88B
11d870fa267e3bd36092e7709348323e401277 330B
11f8f88b8e9b08a322580f84e2beb8104051a3 1KB
12604cea61c2e3e456c5da623115704e890c66 293B
1285f093fdc1b35f5e554226a2051c3162fd9f 46B
13b9d306e3bb5f79b327deafd7a239c328db56 2KB
140de581b7c2574807526e428d5ffc493595ba 547B
1431717247cc3b1787bdee1bec6aac9e0a4ce5 60B
143c41239ae0d247607245b4673c467af59913 334B
1565bf817308ea0895fd340dd31fd10b16e354 240B
159d678fff77670a5a095b108f7d33319971fd 8KB
167322e62b6558a9747bf21c2afc07b6f64a51 125B
169e4baa4397351f72c083d985d029e1035082 1KB
16fe4451277ccc2aa92360042a90b5714cadd4 419B
17000f1229eb995f5897a28a2027f8fa1c3041 963B
1728f5803e30b6c8545a69127e70bc9a95f79b 291B
173dd3462eda5502f07aefa53a45d09a4c33a6 714B
18b7655895c7bd615deba09dff11167cc26987 393B
18c08899e8cb4d541aa2b60c7ab0c0b1cd2129 66KB
18caa17009fd7434c33bfaac45301c6fabbba4 544B
18eb1932590850bb45cc87d4d1495bcafa069e 464B
19909880ae1b4594c85f4670b189f7d1a990dc 284B
19df40e4d4237a522a4f3ca126099dce00e5b7 902B
19ed7f33151929bc128ecb516ea654483d42e3 540B
19ff208023299d7d5ea0b6d2f6af5fab97aa6b 1KB
1bccc70ba5ed1d89d0b3b451d16312ffee37f2 311B
1c62518ea529f7c65875bfef3df0d170c1bb7c 1KB
1c713d07695f38e8597c904363282aae128b42 910B
1cccb2cb55b785a3fa4080cb048787f6ce56b5 335B
1dea83471bb8667cdd124d5f6b5eb218568938 197B
1f729c6387f09fce426ac42d9a75b5fa756bf7 1KB
2004bf41b90c343cc04410b0be173fdf27a3c9 1KB
21f0d4b2c74debb952de8dbec331ee75605adb 599B
222148ad68c6e64c93393de7962a38569c9c79 1KB
225f63fd6efedce82a964658e5c7221ece0753 231B
22a9a81be92f1973cd4f9d00da748b64aee8fb 222B
22aad304c9d215cfb729d66e1cb5a0702ef4d4 248B
22adb5d1c80861d65fb4724562635d37c4e1f4 436B
22f373b6d1e228127b9f8e4657061bd5bb1b23 865B
2460461d6d2bc20879d8efaed302b56c61208c 1KB
2473909f070e7b1a44f40c79ddda4cc9e157e2 1KB
252536453cc59c28b27ca8a90633f5e0b63fe2 435B
265c79e8a7c5aa34558157bcc6f6c82f8cd829 357B
2704275c570b56f0043c500638fb4203404de1 1KB
271f3ef4bf939c37de3f8ae5cfc6642c8dde88 1KB
27514fc1f884dd93388d1f15bda49a03893512 531B
275989fecb67438eb38f8f632d853e08cde47e 3KB
27eae24a4dc71ec0f14620f4b97c4281a4323a 2KB
2845168ef05c1e09b6d11c3036fc59d37e86f4 1KB
28932022bb401105d6c3e0b0c4eb7679469e05 1KB
28de4f0c491a6f335256c7f764dc917c41af9f 63KB
296678e26ea87939da6a607b80a1cc876d8021 127B
共 1375 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
- 熠小燃2023-09-18总算找到了自己想要的资源,对自己的启发很大,感谢分享~
- 2301_823169432024-01-05感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
岛上程序猿
- 粉丝: 5499
- 资源: 4237
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- com.bishua666.luxxx1.apk
- Conan2示例工程以及mingw64编译工具链2
- exp4_2.c.sln
- [雷军]美妙的爱情......福的味道。.mp3
- 2023-04-06-项目笔记 - 第三百二十阶段 - 4.4.2.318全局变量的作用域-318 -2025.11.17
- 2023-04-06-项目笔记 - 第三百二十阶段 - 4.4.2.318全局变量的作用域-318 -2025.11.17
- java资源异步IO框架 Cindy
- java资源业务流程管理(BPM)和工作流系统 Activiti
- java资源高性能内存消息和事件驱动库 Chronicle
- 哋它亢技术应用2慕课自动化学习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功