做为一名菜鸡Android,时常瞻仰大佬们的开源项目是很是必要的。这里我为你们收集整理了10个优秀的开源项目,方便咱们平常开发中学习!java
做者:ListenToCode 博客:www.jianshu.com/p/9742ce36b…git
GitHub地址 github.com/SilenceDut/…github
一款 Android 开源天气 App ,包含天气信息、详情、生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级、区级城市的天气,原文:www.diycode.cc/projects/Si…web
总体框架 根据实际项目浅谈Android项目中的框架搭建面试
关于 知天气——天气尽在掌握之中缓存
特色 支持县级、区级天气 JobScheduler与JobService的使用 轮询系统定时更新天气 实现不少定制化很大的,对后台任务严苛的系统中(如魅族系统)通知栏常驻,而且轮询系统正常运行,不少下载量千万级的天气应用没法达到此效果 无广告和强制保活拉活的行为服务器
GitHub地址 github.com/FolioReader…网络
一个 Android 开源电子书(ePub)阅读 App ,
原文:
效果图
Gradle
Add following dependency to your app build.gradle
compile 'com.folioreader:folioreader:0.2.3'
复制代码
GitHub地址 github.com/SilenceDut/…
一个 Android 开源 NBA 资讯和赛事信息的平台 App
效果图
特色
遵循Android开发最佳实践的一种具体实践
Retrofit2.0+RxJava+EventBus+GreenDao的使用
代码结构清晰,扩展性强,易复用到其余项目
结合NBAPlus Server 学习后台开发知识和接口的设计
动态Blur效果。
关于
NBA资讯和赛事信息的平台。 全面、方便、快捷的获取新闻动态、比赛数据。 无广告、推送信息,不后台常驻,空间占用小。web后台部分在这:
NBAPlus Server
GitHub地址 github.com/DaxiaK/MyDi…
动漫《你的名字》同款 Android 开源 App,原文:
效果图
GitHub地址 github.com/wingjay/jia…
一款优雅的中国风记录 app,包括 Android 端和 Server 端,原文:www.diycode.cc/projects/wi…
相关博客
如何在一天以内完成一款具有cool属性的Android产品_简书
GitHub地址 (github.com/forezp/bany…
一个基于豆瓣 API 仿网易云音乐的开源项目。原文:www.diycode.cc/projects/fo…
项目介绍:
总体采用material design 风格,本人是网易云音乐的粉丝,因此界面模仿了网页云音乐,另外,项目中尽可能使用了5.0以后的新控件。
项目总体采用mvp+rxjava+retrofit 框架,使用glide进行图片展现,用butterknif注解,另外使用了java 8 新特性,拉姆达表达式,安卓原生并不支持,须要导插件,具体见项目。
并对retrofit的okhttpClient进行了缓存配置,很遗憾,豆瓣API在服务端并无对返回数据进行Cache-Control 设置。
后续会采用本地数据库对数据进行缓存,初步定为使用realm。
主界面采用material design 设计风格,使用了NavigationView和DrawerLayout的抽屉效果,CoordinatorLayout和viewpager 配合,使用behavior属性,对toolbar的显示和隐藏进行了控制。使用了tablayout和viewpager配合,切换fragment,总体风格相似于网易云音乐。
用到的豆瓣API有热映榜、top250、搜索图书、搜索音乐,等。
GitHub地址 github.com/begeekmyfri…
带美颜滤镜的 Android 直播推流开源客户端项目,经过手机摄像头和麦克风采样,编码为H.264和AAC,再封装FLV格式,推送至RTMP服务器。延迟达到毫秒级别。
GitHub地址 github.com/Coding/Codi…
编译环境 Android Studio 2.2.3,用gradle引用的许多第三方库,第一次加载会有点慢,加载完毕后要build一下,这些待下划线的类(好比 MainActivity_)会在build以后自动生成。
包说明
common 基类和工具类
comment 评论区
enter 输入框
network 对网络作了一点封装
photopick 图片多选控件
umeng 封装了umeng
hide 进入staging界面
maopao 冒泡界面
message 消息界面
model 一些数据结构
project 个人项目界面
setting 设置界面
task 个人任务界面
third 一些第三方代码
user 好友界面
GitHub地址 github.com/googlecreat…
原文https://www.diycode.cc/projects/googlecreativelab/Sprayscape Sprayscape内置于Unity,支持原生Android。使用适用于Unity的Google VR SDK处理陀螺仪数据和使用NatCam Unity插件进行精确的相机控制,Sprayscape将相机输入映射到360度球体上。 GPU使一切成为可能。在用户点击或触摸时,相机进给以每秒60帧的纹理渲染。而后,经过GPU上的片断着色器将该纹理与任何现有纹理合成。一样的着色器还处理从2D相机到360球体的投影,建立您在app中看到的景观。 当用户保存景观时,平面全景图像存储在应用数据中并写入包含全部景观的单个图集文件。地图集被加载到景观中,带有陀螺仪导航的景观画廊。 共享由原生Android代码处理。当用户经过连接共享景观时,用户将使用Google OAuth登陆并提示您在云端硬盘上进行读写访问。全部用户生成的内容都存储在用户的云端硬盘账户中,所以用户能够随时删除其内容。有了适当的权限,Drive API v3会检查Sprayscape文件夹,若是缺乏,则建立一个,而后上传文件。共享URL在“本机共享”对话框中呈现给用户,而且还附加到应用程序上的scape对象,以便往后轻松共享。 Facebook的份额也是本地处理的。全景图被准备为具备适当EXIF数据的图像对象,以确保在Facebook上正确呈现,而后经过原生共享呈现给用户。用户选择Facebook分享到他们的网络。
GitHub地址 github.com/hefuyicoder…
一款优雅的遵循 Material Design 的开源音乐播放器,UI参考 腾讯轻听 音乐播放器,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
项目特色
遵循 Material Design 规范,界面清新,交互优雅。
基于 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
功能模块: 个人歌曲、个人歌单、文件夹、我喜欢、最近播放、最近添加、播放排行、本地搜索等。
支持显示歌词及缓存
支持耳机线控播放,耳机拔出自动暂停
动态刷新媒体库,及时获知媒体文件变动
日夜间模式切换,支持动态换肤
在这里得到的不只仅是技术!