Android应用架构的一些思考-基础版架构的整体搭建

本文是Android应用架构系列的第二篇,主要讨论基础版架构的整体搭建,包括框架和技术选择,如使用LeakCanary、OKHttp3、Gson等;整体包结构划分,基类编写以及网络模块的详细设计,如异常处理、数据转换和Cookie管理。
摘要由CSDN通过智能技术生成

系列文章导航:

1. Android应用架构的一些思考-从零开始

2.Android应用架构的一些思考-基础版架构的整体搭建

3.Android应用架构的一些思考-框架模块化


之前的文章总结了一下自己从实习到现在摸索出的一点应用框架设计的经验,更多的是从整体框架设计上来说分层和模块划分的,这两天整理项目代码,可以从更细的方面总结一下一个应用框架应该具备哪些基本的要素。

建议在开发中尽可能遵循 Android开发最佳实践


0.框架和技术的选择

其实现在Android应用开发应该说是比较简便了,大量的开源库使得开发者能够快速在这些开源库的基础之上快速搭建一个功能强大的应用框架。我们都在说,不要重复造轮子,那么应该说,熟悉常用的开源框架就是一个初学者进阶的必经之路了。这里说一下我在应用框架搭建中使用的第三方框架:

内存泄漏分析:LeakCanary

基础网络库:OKHttp3

JSON序列化/反序列化:Gson

异步网络调用框架:volley、Retrofit2,如果选择Retrofit的话一般是配合RxJava来使用的

组件间通信:EventBus

图片框架的话,如果应用对图片管理的需求并不高,用Glide,如果经常加载图片或者说要做图片处理则使用Fresco。

视频相关目前并没有找到什么比较强悍的框架,原生调用相机录制视频比较蛋疼的地方就在于其视频质量只有2档,要么糊的不能看,要么拍出来的文件大的不能看。如果项目有视频录制的需求还是建议自己实现较好。

我自己目前在项目中是基于Retrofit + RxJava实现整个调用链,整体简化了应用内异步调用的处理,RxJava目前来说学习曲线还是比较陡峭,而且配合Retrofit使用的时候也会有一些隐含的Bug,如果没有什么经验支撑的话建议还是不要初学就在公司项目上使用比较好,不然没人填坑就麻烦了=。=


1. 整体包结构划分

一般应用的包结构划分有两种,一种是按组件类型划分,比如activity, fragment,widget,util......另一种是按业务场景划分&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值