打造一款开源的Android平台的Github客户端
2016-09-07 本文已影响8284人
anly_jun
网上有云, Github是程序员的facebook.
这个一个非官方的, 开源的, 基于Github Api的的一个Android平台的Github客户端App.
目前名字还没有想好, 欢迎大家留言提供:)
来由
起初写这个App是为了作为博文的实例, 后来发现自己也有些实际需求, 例如经常会刷下github的trending, 来看看技术的趋向, 流行的库等.
另外, 个人一直对Github提供的完全符合RESTful架构的API深有兴趣, 认为其对于API开发, 后台架构, 客户端接口设计都有借鉴意义, 故而很想深入了解之.
故而写了这个App.
预览
githubapp.gif技术点
-
使用MVP架构
所谓架构, 应该是一种思想, 而非固定模式. MVP, 每个人实现的方式也可能略有不同.
具体请查看开发过程中相关博文. -
引入Dagger2依赖注入来解耦
M-P-V之间使用注入方式解耦, 分层. 具体请查看开发过程中相关博文.
-
RxJava + Retrofit + OkHttp的异步RESTful网络请求架构
- 异步请求
- 网络缓存实现
-
用了很多成熟的轮子, 例如Glide, ButterKnift, Looger等, 具体请查看第三方库.
功能点
v0.1
- 每日Trending列表, 根据语言, 目前包括:
- java
- python
- objective-c
- swift
- shell
- html
- 各大技术平台的最多star列表, 目前包括:
- android
- iOS
- python
- web
- php
- 根据关键字搜索Repo, 可以选择语言分类.
- Github帐号登录.
- 个人/用户 信息展示, 包括:
- 基本信息
- 用户的Repos
- 用户Starred的Repos
- 用户的Following列表
- 用户的Follower列表
- Repo详情, 包括:
- 仓库基本信息(名字, 介绍, 作者, Star数, 语言分类)
- 贡献者列表(Contributors)
- Forks列表
- Code展示
- Readme展示
- Star/Unstar某个Repo.
- Settings/About/Version
- 分享功能, 集成ShareSDK(待完善各平台)
- Crash收集, 集成腾讯Bugly.
开发过程
MVP系列
包括MVP架构实现, Dagger2注入以及RxJava + Retrofit + OkHttp的网络请求架构等.
- MVP架构实现的Github客户端(1-准备工作)
- MVP架构实现的Github客户端(2-搭建项目框架)
- MVP架构实现的Github客户端(3-功能实现)
- MVP架构实现的Github客户端(4-加入网络缓存)
App优化系列
- 背景:Android App优化, 要怎么做?
- App优化之性能分析工具
- App优化之提升你的App启动速度之理论基础
- App优化之提升你的App启动速度之实例挑战
- App优化之Layout怎么摆
- App优化之让你App流畅起来
- App优化之内存分析工具
- App优化之内存泄露怎么解
- App优化之持久电量
- App优化之如何高效网络请求
第三方库
网络相关
Rx
快速开发
注入
图片加载
辅助
UI
- BaseRecyclerViewAdapterHelper
- BottomBar
- spots-dialog
- material
- MaterialSearchView
- RecyclerView-FlexibleDivider
- FloatingActionButton
- AppIntro
- AndroidViewAnimations
- PagerSlidingTabStrip
- FlycoLabelView
- Android-Iconics
- highlightjs-android
- MarkdownView-Android
最后
- 这个App还没有名字呢, 欢迎留名.
- 用户引导界面的图片也没有找到合适的, 欢迎留图.
- 目前这个还是个0.1的版本, 功能并不完善. 欢迎大家star, fork, PR, 或是提出需求来让它变得更好.
联系我
另外
有同学问有没有apk直接下载, 请看这里
求赐名啊, 留言吧~~