Kotlin For Gank.io (干货集中营Kotlin实现)
介绍
Kotlin,现在如火如荼,所以花了一点时间把之前的项目用Kotlin重构一下
原项目地址:https://github.com/onlyloveyd/GankIOClient
对应Kotlin版:https://github.com/onlyloveyd/GankIOWithKotlin
干货数据源
应用中的所有干货数据均来自干货集中营。
App设计
色调:远州鼠、落栗、苏芳、石竹、枯草、柳煤竹茶、锖青磁、鸠羽紫八种淡雅的颜色,分别对应不同的干货数据。
布局:简约风格,极简主义,去繁就简。
排版:最简单的Toolbar + RecyclerView
UI设计
- 黑白灰
- 圆角
- 材料设计
代码设计
- Retrofit+RxJava 的组合获取网络数据;
- FlycoTabLayout作为主界面结构,配合Fragment,实现“每日干货”,“分类数据”,“妹纸图片”和关于四个界面;
- BGARefreshLayout配合RecyclerView和自定义多类型Item结构实现干货数据的展示;
- MaterialAbout作为“关于”界面的基础;
- Glide作为图片加载框架;
- RxJava+Retrofit配合fir.im的接口实现版本更新功能;
- Share功能全部采用系统自带,基本可以满足需求。
- ButterKnife注解库
- Gson作为json数据解析库
依赖库
- Glide
- RxAndroid
- RxJava
- Retrofit
- okhttp3
- Gson
- ButterKnife
- BGARefreshLayout-Android
- FlycoTabLayout
- MaterialAbout
效果
Kotlin For Gank.io (干货集中营Kotlin实现)的更多相关文章
- 【UWP】Gank 干货集中营 客户端
简介 一个偶然的机会,在网上看到了 <「代码家」的学习过程和学习经验分享>,知道了代码家做的Gank网站. 干货集中营 每日分享妹子图 和 技术干货,还有供大家中午休息的休闲视频 在看过一 ...
- 关于"干货集中营"的一个开源App
中秋佳节,玩了一天,撸了两天代码,搞出这么个东东,共享出来,小伙伴们如果有兴趣,欢迎添砖加瓦. 数据接口为干货集中营的数据,接口地址:http://gank.io/api 使用到的技术清单如下: 1. ...
- 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目.项目采取的是Retrofit + RxJava + ...
- Vue(2) : Vue for Gank.io
简介 最近学习Vue2.0,由于不懂前端知识,学习过程比较缓慢.文档学习过程如下: 通读vue官文 通读vue-router 2中文指南 学习axios 通读vuex官文 数据接口 再次感谢代码家的G ...
- <Android 应用 之路> 干货集中营 ~ GankIOClient
简介 利用干货集中营 , daimajia和他的小伙伴给我们开发者带来的福利开发的一个干货集中营客户端,主要功能在阅读干货上. Github地址: https://github.com/onlylov ...
- 又是一个MVP+RxJava+Retrofit的干货集中营
欢迎访问我的个人博客 ,未经允许不得转发 前言 今天想要与大家一起分享的是近一个星期内开发的一个新app--干货集中营客户端,其实网上已经有许多类似的项目,代码家也在他的干货集中营中推荐了几款优秀的作 ...
- Scrapy实战:使用scrapy再再次爬取干货集中营的妹子图片
需要学习的知识: 1.获取到的json数据如何处理 2.保存到json文件 3.保存到MongoDB数据库 4.下载项目图片(含缩略图) 1.创建项目 scrapy startproject gank ...
- kotlin学习三:初步认识kotlin(第二篇)
上一章熟悉了kotlin基本的变量和函数声明,并明白了如何调用函数.本章再来看一些其他有用的东西 包括: 1. kotlin代码组织结构 2. when语法 3. 循环迭代语法 4. try表达式 1 ...
- kotlin学习二:初步认识kotlin
1. 函数 kotlin中支持顶级函数(文件内直接定义函数),对比JAVA来说,JAVA的程序入口是main方法,kotlin也一样,入口为main函数 首先看下kotlin中main函数的定义. f ...
随机推荐
- nginx常用
1.rewrite return 301 http://example.com$request_uri; rewrite ^ http://example.com permanent; 2.try_f ...
- BLOG总结
1.登录:http://www.cnblogs.com/shaojiafeng/p/7868195.html 2.注册 - urls -前端页面中写 username ,password,passwo ...
- url监控
#!/usr/bin/env python #coding:utf-8 import MySQLdb,requests import time from datetime import datetim ...
- oracle 建立新的表空间
创建数据表空间 注意粗斜体部分 create tablespace 表空间名称logging datafile 'D:\app\Administrator\oradata\orcl\XXXX.dbf' ...
- 转:.NET特性与反射
.NET编译器的任务之一是为所有定义和引用的类型生产元数据描述.除了程序集中标准的元数据外,.NET平台允许程序员使用特性(attribute)把更多的元数据嵌入到程序集中.简而言之,特性就是用于类型 ...
- solr 利用cul或solr界面单值更新
本文主要是指利用solr界面或cul的更新solr的值.如果需要代码中单值更新请参考黎明露珠的博客链接:http://www.cnblogs.com/limingluzhu/p/5535314.htm ...
- cdoj 秋实大哥搞算数
地址:http://acm.uestc.edu.cn/#/contest/show/95 题目: N - 秋实大哥搞算数 Time Limit: 3000/1000MS (Java/Others) ...
- sql临时表的优点
1: 临时表来组织数据,更高效的查询速度. 2:临时表的操作不会写入日志文件:好处:提高了 临时表操作的速度:坏处: 数据一旦丢失,无法恢复. 3: 临时表只允许当前会话框进行访问,因此不会担心死锁 ...
- 理解 $nextTick 的作用
有同学在看 Vue 官方文档时,对 API 文档中的 Vue.nextTick 和 vm.$nextTick 的作用不太理解. 其实如果看一下深入响应式原理 - vue.js中的有关内容,可能会有所理 ...
- 在react-native中使用redux
redux是什么? redux是一个用于管理js应用状态的容器.redux出现时间并不是很长,在它出现之前也有类似功能的模块出现,诸如flux等等.redux设计的理念很简单,似乎最初这个开发团队就有 ...