手把手教你做一个“专注睡前的APP”,来,学习一下。
前言从零开始,手把手带你实现一个「专注睡前的 APP」。睡觉之前如果能有一个 APP,能让我们写一写这一天的见闻或者心得,同时又能看一会段子、瞄一会好看的妹子,放松一下疲惫的身心那该多好,这也是我完成这个 APP 的原因。APP 的全部代码我已经分享到 Github 上了,需要的直接 点击这里,如果喜欢的话,麻烦给个赞,谢谢啦。在开始写正文之前,先来一波效果的展示,看看五天过后我们能实现怎样的效果
二、公共类的实现
因为这个项目有三个模块,有一些东西其实是可以通用的,如果我们先把这些能够通用的东西,封装起来,供给所有的模块调用的话,相信会大大提高我们的开发效率。
1、网络工具类的封装这个 APP 中,很多地方都要用到网络请求,因此也就很有必要将网络请求封装起来,因为这个 APP 的规模比较小,因此我选择了 Volley 这个网络框架作为我们网络请求库,把网络请求封装起来,哪个地方需要,调用一下就行了。对于网络请求,我觉得每个程序员都该懂点 HTTP,这里附上一篇有关 HTTP 的文章程序员都该懂点 HTTP。
先让我们来写个将网络请求进行回调的接口
然后将网络请求封装起来
2、Json 解析的帮助类
因为我们这个 APP 中,获取到的数据都是 Json 格式的,因此也就有必要将有关的 Json 解析封装成一个工具类,传入一个 String 类型的数据,直接得到数据实体类的 List。
3、HomeActivity(主页面)的封装
主页面我用的是 TabLayout + ViewPager + Fragment,也是现在主流 APP 主页面的显示方式。主界面底部是我们三个模块的图标和名称,通过左右滑动能实现界面的跳转。
底部图标的实体类 CommonTabBeanViewPager + Fragment 通用的 AdapterDay three
关于日记模块的实现,其实我是复用了以前写过的一个日记 APP,具体的思路和做法,可以参考我的这篇文章 Android 一款十分简洁、优雅的日记 APP
Day four
一、图片的获取
1、根据返回的数据来编写图片的实体类
2、图片的展示可以看到我是用瀑布流的方式来实现图片的展示,效果还不错,但其实实现起来也是很简单的
先写个图片的布局作为 RecyclerView 的 Item
可以看到我在 ImageView 的外面加了一个 CardView,这个一种卡片式布局,能让图片看起来就像一张卡片一样,相当的优雅、美观。
接着编写 Adapter,将数据和界面进行绑定
最后在 Fragment 进行数据的获取,以及布局的初始化就行了
3、详情页面的展示干巴巴的,整个模块只能显示妹子的图片怎么行呢!!!怎么着也得能查看大图,根据手势放大缩小,以及浏览下一张图片才行嘛,说干就干。
因为图片需要有根据手势来放大缩小的功能,因此我便想到了 PhotoView,这是网上一个大神写的,继承自 ImageView 的一个自定义控件。图片加载我用的是
Glide,如果没了解过这个库的,强烈推荐,一行代码就能搞定图片加载,你确定不研究一下。
Day five
一、段子数据的获取
段子数据的获取其实跟妹子模块的方法基本一样
先编写实体类
写好实体类之后,使用我们之前已经封装好的网络请求工具以及解析工具,便能将返回的数据,解析成一个包含段子实体类的 List。
二、段子的显示老规矩,先写个 RecyclerView 的 Item
然后编写将数据和界面进行绑定的 Adapter
最后段子页面中进行数据和获取以及界面的初始化
作者:developerHaoz
来源:慕课网 本文原创发布于慕课网 ,转载请注明出处,谢谢合作
程序员学习交流请添加慕课网官方客服微信:mukewang666回复暗号“前端面试”可进前端交流群~回复暗号“Java”可进Java交流群~回复暗号“专栏”可进程序员交流群~