XDIGIT - 打造一个新闻APP如此简单

时间:2020-08-16 88 二维码生成器 热度:199
XDIGIT - 打造一个新闻APP如此简单

作为一个新手,学完基础总想做点什么东西出来。于是我试着去模仿那些优秀的开源作品。

模仿作品: LookLook开源项目

经过一些波折和学习,写下模仿过程。

实际上我花了大概三天才弄懂所有的东西,不过有了经验确实可以在一个小时里完成。

rxjava和retrofit以及一个开源扩展的recyclerview和注解框架butterknife

集体依赖如下:

新建项目,选择模板---->调整模板

可以看到有menu里面两个文件

一个是主菜单,显示在Toobar上面

另一个是抽屉的菜单,按需修改即可。

activity_main_drawer.xml

抽屉除了menu还有上面一部分,可以设置头像和签名。

nav_header_main.xml

主界面大概这就可以了,剩下的就是要动态添加fragement到FragLayout里面去。

首先新建fragment_news,布局文件只需要一个 EasyRecyclerView 即可

添加依赖

我的数据来自 天性数据 ,只需要注册即可获得APIKEY。

数据请求核心代码:

创建retrofit的请求接口

注意返回的是Gson数据而且设置为"被观察者"

数据获取函数:

Gson是谷歌的Json处理包,添加依赖。

compile 'com.google.code.gson:gson:2.7'

配合插件:GsonFormat可以快速通过json数据建立对应类。

由于我们使用的是被扩展的recyview,所以用起来很方便。

具体使用去作者的githua EasyRecyclerView

Adapter

继承recycle的adapter,主要返回自己的ViewHolder

3.设置recycleview

一个专注于平滑图片加载的库:

依赖:

compile 'com.github.bumptech.glide:glide:3.7.0'

基本使用:

布局:使用CoordinatorLayout实现上拉toolbar压缩动画。

CoordinatorLayout+AppBarLayout里面配合CollapsingToolbarLayout布局技能实现toolbar的动画:

上面的Imgview加载图片,下面的webview加载文章内容

到这里基本完成:最后动态添加fragment

效果测试:

my.gif

只是勉强能用,还有很多细节没有优化。接下来好要继续学习。

框架导入:

搜索依赖butterknife导入:

使用步骤:

注意我这里写的是8.40版本,和以前的有区别。

如果的ButterKnife是8.01或者以上的话

需要添加以下内容:

1. classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

2. apply plugin: 'com.neenbedankt.android-apt'

3. apt 'com.jakewharton:butterknife-compiler:8.4.0'

Android Studio上方便使用butterknife注解框架的偷懒插件 Android Butterknife Zelezny :

技巧:鼠标要移动到布局文件名上。