机缘巧合下花了一天多做了个DEMO以演示一定回顾和整理App开发的基本知识。
目的
涉及到App架构,网络请求,UI展示,开源框架,单元测试的使用等知识面。
网络上有很多公开的接口,以供调用。本人恰巧喜欢电影,选择了OMDb的公开接口。申请API KEY也很方便。
需求
大体制定了简单的需求:提供输入框供用户输入关键字点击搜索按钮到OMDb网上检索后展示电影列表。
UI
界面上选择了内嵌了EditText的ToolBar和内嵌了RecyclerView的SwipeRefreshLayout去展示UI。
架构
框架上采用了思路清晰的MVP架构。后续考虑做个MVVM架构的版本。
Activity和控件对应着View层,Model层承担着数据的请求和更新,Presenter层担当View层和Model层的衔接,通过接口回调。
开源框架
开源框架上使用了ButterKnife绑定UI,Retrofit负责网络请求,GSON负责解析数据,universalimageloader负责加载网络图片。
效果
成品如下图。
待完善
有不少功能或UI需要添加和完善。
比如添加上拉加载更多,向下滑动隐藏输入框,输入框内清空按钮等等功能。比如增加单元测试。
空闲时间将逐渐完善这些To-do-list,同时将更新记录到博客当中。
本DEMO也开源到了Github,欢迎大家star,一起提高。
https://github.com/ellisonchan/EigaKensaku