一款基于douban及ONE API开发的资讯类的开源项目。项目采取的是okhttp + MVP架构开发。Github地址:https://github.com/LRH1993/SuiYue
一、效果图
文章页面 | 图书页面 | 电影页面 |
---|---|---|
文章详情页 | 图书详情页 | 电影详情页 |
搜索页面 | 扫描页面 | 电影列表页面 |
二、简介
碎阅分为三个主要模块:
- 文章
- 图书
- 电影
1.文章
API使用的是ONE API,关于具体API参考该项目的REAMDE。
-
文章列表:支持上拉加载更多下拉刷新,列表使用RecyclerView,每日推荐新的文章。
-
文章详情页:主要分为短文、问答及连载三种类型文章,布局采用CoordinatorLayout。
2.图书
API使用的是豆瓣图书 API,关于具体API参考该项目的REAMDE。
-
图书列表:列表使用RecyclerView,添加浮动按钮刷新图书,该按钮支持任意拖拽。
-
搜索界面:采用DialogFragment实现,支持历史搜索及热门搜索,具有Circular Reveal动画效果。
-
扫描界面:采用Zxing进行二维码扫描,支持图书扫描,获取图书详情信息。
3.电影
API使用的是豆瓣电影 API,关于具体API参考该项目的REAMDE。
-
电影列表:由影院热映、院线即将上映及豆瓣Top250三部分组成,点击全部跳转到显示所有列表信息。
-
电影详情页:影片的具体介绍及评分信息,采用CardView卡片控件,评分控件采用MaterialRatingbar。
三、开源库
- Fresco,好用的图片加载库。
- okhttp,快速实现网络请求。
- EventBus,方便实现组件间通信。
- MaterialRatingBar,符合material design的评分控件。
- zxing,google出品的二维码库。
- zxing-android-embedded,快速适用于android二维码使用的库。
- ImmersionBar,简单实现各种状态栏管理。
四、技术点
在实现项目过程中,学到的一些知识,及遇到的一些技术问题。
-
豆瓣及ONE的相关API的了解
-
Kotlin语言的使用及语法特性
-
MVP模式的特点及使用
-
Fresco的使用细节
-
okhttp的使用细节及简单封装
-
ZXing的接入以及在android中的使用
-
代码混淆的简单了解及学习
-
SwipeRefreshLayout结合RecyclerView下拉刷新上拉加载
-
CoordinatorLayout + Behavior的简单学习与使用
-
ScrollView嵌套RecyclerView的使用及问题分析
五、总结
由于时间原因以及相关API数据的限制,有些实现上比较粗糙,同时存在一些潜在的bug,欢迎在Github上提issue。如果觉得不错,对你有帮助,希望多多fork,star。
Github地址:https://github.com/LRH1993/SuiYue
可以通过扫描二维码,下载apk体验。
网友评论