0
项目实战-领券联盟
拉大锯 发表于 2020-01-20 11:47 1123

效果图

效果图在蓝湖上面

地址:lanhuapp.com 账号:lanhu@sunofbeaches.com 密码:lanhu123

效果图

api地址

阳光沙滩商城的API文档

需要准备的知识

android基础知识 p1~p9,详情请移驾到学院

功能

领券联盟,当然是领取优惠券滴

功能:

  • 浏览商品
  • 领取优惠券
  • 搜索商品
  • 网站商品扫码领券

目的

把前面学到的知识综合起来,运用到项目里,实现一个领取优惠券的项目。

知识

  • 使用Retrofit+OkHttp进行网络请求
  • 使用ButterKnife
  • 二维码的扫描,生成
  • MVP架构
  • 处理网络请求的多种网络状态,把我们喜马拉雅里学的UILoader进行改造
  • 多种方式实现导航栏
  • 多种方式实现Indicator
  • 轮播图
  • RecyclerView的多种布局方式
  • 常用的几种图片加载框架
  • 刷新/加载更多(分页处理)
  • 动态请求权限
  • 粘贴板的使用
  • 第三方应用的检查以及打开

使用到的框架

结构

基本结构,我们采用MVP的架构

图片描述

大体上的一个依赖关系如上图所示。

UI依赖Presenter层,这样UI就可以调用一些presenter的方法了,比如说加载数据。而Presenter依赖UI的话则耦合度太高了,所以在Presenter与UI间通过接口通讯。则UI实现接口,Presenter调用接口方法,所以你还会看到这样的图:

图片描述

mvp就这么简单。

对于一般的应用业务来说,已经够用了。如果对于常变的需求,其实还可以扩展一下,连Presenter跟Model也用接口进行通讯,如果业务变了,presenter层往上的代码不动,添加多一个modle去实现接口即可。

比如说以前我做蓝牙电话,为了考虑到公司可能会换方案,但是功能是不变的。所以我就要考虑到在底层做适配层,即使换一套硬件,换一个方案商我也可以很快地接入。同学们在编码以及工作过程中慢慢体会吧。需求是一直变更的,每一个程序员总能遇到那么几个没什么能力的产品经理的。

总结

Api文档有了,UI有了,没有需求文档和交互同学们就看已经上传的demo吧,大体的架构也定了,同学们可以去动手创建项目了,下一步我们继续去设计相关的类和接口。

源码地址

代码地址:

github:

https://github.com/TrillGates/TicketUnion

码云

https://gitee.com/sunofbeaches/TicketUnion

评论
0/240
文章目录