碎阅:一款基于douban及ONE API开发的资讯类App

一款基于douban及ONE API开发的资讯类的开源项目。项目采起的是okhttp + MVP架构开发。Github地址:github.com/LRH1993/Sui…android

1、效果图

文章页面
图书页面
电影页面
文章详情页
图书详情页
电影详情页
搜索页面
扫描页面
电影列表页面

2、简介

碎阅分为三个主要模块:git

  • 文章
  • 图书
  • 电影

1.文章

API使用的是ONE API,关于具体API参考该项目的REAMDE。github

  • 文章列表:支持上拉加载更多下拉刷新,列表使用RecyclerView,每日推荐新的文章。网络

  • 文章详情页:主要分为短文、问答及连载三种类型文章,布局采用CoordinatorLayout。架构

2.图书

API使用的是豆瓣图书 API,关于具体API参考该项目的REAMDE。app

  • 图书列表:列表使用RecyclerView,添加浮动按钮刷新图书,该按钮支持任意拖拽。布局

  • 搜索界面:采用DialogFragment实现,支持历史搜索及热门搜索,具备Circular Reveal动画效果。学习

  • 扫描界面:采用Zxing进行二维码扫描,支持图书扫描,获取图书详情信息。动画

3.电影

API使用的是豆瓣电影 API,关于具体API参考该项目的REAMDE。ui

  • 电影列表:由影院热映、院线即将上映及豆瓣Top250三部分组成,点击所有跳转到显示全部列表信息。

  • 电影详情页:影片的具体介绍及评分信息,采用CardView卡片控件,评分控件采用MaterialRatingbar。

3、开源库

4、技术点

在实现项目过程当中,学到的一些知识,及遇到的一些技术问题。

  • 豆瓣及ONE的相关API的了解

  • Kotlin语言的使用及语法特性

  • MVP模式的特色及使用

  • Fresco的使用细节

  • okhttp的使用细节及简单封装

  • ZXing的接入以及在android中的使用

  • 代码混淆的简单了解及学习

  • SwipeRefreshLayout结合RecyclerView下拉刷新上拉加载

  • CoordinatorLayout + Behavior的简单学习与使用

  • ScrollView嵌套RecyclerView的使用及问题分析

5、总结

因为时间缘由以及相关API数据的限制,有些实现上比较粗糙,同时存在一些潜在的bug,欢迎在Github上提issue。若是以为不错,对你有帮助,但愿多多fork,star。

Github地址:github.com/LRH1993/Sui…

能够经过扫描二维码,下载apk体验。
相关文章
相关标签/搜索