Android APP架构的那点事儿 [开篇]

万事开头难,相信很多朋友都是半途切入一个项目完成第一次真正意义APP开发。那么问题就来,很多新人都会抱怨说我缺少一个完整项目的经验、要学习App架构巴拉巴拉。。。

成!那今天我们就扒一扒APP架构的那些事。

架构很重要?

真的,很重要!很重要!很重要!说三遍!

  • 早期的架构设计抉择对app的影响很大、很大、很大!
  • 基本架构会让你思考需要解决的问题变得更容易或困难。

哪种模式?

  • MVC
  • MVP
  • MVVM
  • 其他…

在选择什么样的模式之前,首先理解用户不会关心你系统的架构,他们只在意用户体验。而当我们的PM在为提升用户体验是不是要经常更改需求、增加功能、删除功能,然后各种修改UI、修改逻辑、折磨可怜的程序猿,最好APP迭代上线。

那么问题来了,某个模块的代码改来改去,到最后有可能改的连开发者自己都知道这段代码出自哪个需求了。so,我们需要一个”代码结构清晰”、”Model和View解耦”、”代码模块化”、”经得起PM频繁改需求的考验”、更重要的是”能拿出手出去吹牛逼”,所以我们就选了MVP模式(其实也是博主比较熟悉的一种模式罢了,感兴趣的朋友自行搜索)。

第三方库的选择?

  • APP需要实现什么功能(代码层面)?
  • APP需要实现哪些需求(用户层面)?
  • APP需要达到什么要求?是否需要支持随时更换?

现在我们要做一个天气预报的例子,首先请求网络是必须的,其次图片下载貌似也成标配了,接着天气预报是不是要画天气折线图(理解趋势图也行),当然不能忘记的是JSON数据解析了。so…

我们需要:
    1. JSON解析库 gson 
    2. 趋势图库 mpandroid chart library 
    3. 图片下载库 universal image loader 
    4. 网络请求库 Volly

基本架构

so,准好好需要的素材后是不是就该着手编码了.But 此编码非彼编码.要明白我们现在是在搭架构,架构明白么?咱是在给APP做设计架构,不是搬砖!别上来就想编写代码实现功能.

先画出APP基本架构原型.

APP基本架构

网络模块 负责与服务器建立通讯,通过http请求并响应服务器返回的信息。

解析模块 主要用来解析服务器返回的JSON数据流。根据解析元素不同类型封装成不同的数据对象。即我们使用到的Gson解析库

数据模块 定义整个客户端中大部分的数据类型和对象;

加解密模块 对发送和接收的消息进行加解密,以确保通讯数据的安全。例如AES加解密。

图片请求模块 负责响应指示器模块图片请求以及服务器返回的图片地址。

指示器模块 该模块也就是MVP架构中的P-Presenter-指示器(主持者),作为UI模块和数据模块的交互中间件,同时也处理部分业务逻辑。

示例 源码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值