作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的。这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习!

作者:ListenToCode
博客:https://www.jianshu.com/p/9742ce36b6a8

KnowWeather

GitHub地址
https://github.com/SilenceDut/KnowWeather

一款 Android 开源天气 App ,包含天气信息、详情、生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级、区级城市的天气,原文:https://www.diycode.cc/projects/SilenceDut/KnowWeather

image
  • 整体框架
    根据实际项目浅谈Android项目中的框架搭建

    https://silencedut.github.io/2016/12/05/根据实际项目浅谈Android项目中的框架搭建/)

  • 关于
    知天气——天气尽在掌握之中

    https://silencedut.github.io/2016/12/06/知天气——天气尽在掌握之中/)

  • 特点
    支持县级、区级天气
    JobScheduler与JobService的使用
    轮询系统定时更新天气
    实现很多定制化很大的,对后台任务严苛的系统中(如魅族系统)通知栏常驻,并且轮询系统正常运行,很多下载量千万级的天气应用无法达到此效果
    无广告和强制保活拉活的行为

FolioReader-Android

GitHub地址
https://github.com/FolioReader/FolioReader-Android

一个 Android 开源电子书(ePub)阅读 App ,

原文:

https://www.diycode.cc/projects/FolioReader/FolioReader-Android

效果图

image

Gradle

Add following dependency to your app build.gradle

compile 'com.folioreader:folioreader:0.2.3'

NBAPlus

GitHub地址
https://github.com/SilenceDut/NBAPlus

一个 Android 开源 NBA 资讯和赛事信息的平台 App

效果图

image

image

特点

  • 遵循Android开发最佳实践的一种具体实践

  • Retrofit2.0+RxJava+EventBus+GreenDao的使用

  • 代码结构清晰,扩展性强,易复用到其他项目

  • 结合NBAPlus Server 学习后台开发知识和接口的设计

  • 动态Blur效果。

关于

NBA资讯和赛事信息的平台。 全面、方便、快捷的获取新闻动态、比赛数据。 无广告、推送信息,不后台常驻,空间占用小。web后台部分在这:

NBAPlus Server

https://github.com/SilenceDut/nbaplus-server

MyDiary

GitHub地址
https://github.com/DaxiaK/MyDiary

动漫《你的名字》同款 Android 开源 App,原文:

https://www.diycode.cc/projects/erttyy8821/MyDiary

效果图

image

image

简诗

GitHub地址
https://github.com/wingjay/jianshi

一款优雅的中国风记录 app,包括 Android 端和 Server 端,原文:https://www.diycode.cc/projects/wingjay/jianshi

image

image

相关博客

如何在一天之内完成一款具备cool属性的Android产品_简书

https://www.jianshu.com/p/cf496fc408b2

banya

GitHub地址
https://github.com/forezp/banya

一个基于豆瓣 API 仿网易云音乐的开源项目。原文:https://www.diycode.cc/projects/forezp/banya

项目介绍:

  • 整体采用material design 风格,本人是网易云音乐的粉丝,所以界面模仿了网页云音乐,另外,项目中尽量使用了5.0之后的新控件。

  • 项目整体采用mvp+rxjava+retrofit 框架,使用glide进行图片展示,用butterknif注解,另外使用了java 8 新特性,拉姆达表达式,安卓原生并不支持,需要导插件,具体见项目。

  • 并对retrofit的okhttpClient进行了缓存配置,很遗憾,豆瓣API在服务端并没有对返回数据进行Cache-Control 设置。

  • 后续会采用本地数据库对数据进行缓存,初步定为使用realm。

  • 项目地址:https://github.com/forezp/banya

  • 主界面采用material design 设计风格,使用了NavigationView和DrawerLayout的抽屉效果,CoordinatorLayout和viewpager 配合,使用behavior属性,对toolbar的显示和隐藏进行了控制。使用了tablayout和viewpager配合,切换fragment,整体风格类似于网易云音乐。

  • 用到的豆瓣API有热映榜、top250、搜索图书、搜索音乐,等。

image

image

image

yasea

GitHub地址
https://github.com/begeekmyfriend/yasea

带美颜滤镜的 Android 直播推流开源客户端项目,通过手机摄像头和麦克风采样,编码为H.264和AAC,再封装FLV格式,推送至RTMP服务器。延迟达到毫秒级别。

image

Coding-Android

GitHub地址
https://github.com/Coding/Coding-Android

编译环境 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 好友界面

Sprayscape

GitHub地址
https://github.com/googlecreativelab/Sprayscape

原文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分享到他们的网络。

ListenerrMusicPlayer

GitHub地址
https://github.com/hefuyicoder/ListenerMusicPlayer

一款优雅的遵循 Material Design 的开源音乐播放器,UI参考 腾讯轻听 音乐播放器,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。

项目特点

  • 遵循 Material Design 规范,界面清新,交互优雅。

  • 基于 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide

  • 功能模块: 我的歌曲、我的歌单、文件夹、我喜欢、最近播放、最近添加、播放排行、本地搜索等。

  • 支持显示歌词及缓存

  • 支持耳机线控播放,耳机拔出自动暂停

  • 动态刷新媒体库,及时获知媒体文件变更

  • 日夜间模式切换,支持动态换肤

快速开发android,离不开这10个优秀的开源项目的更多相关文章

  1. 巧用第三方快速开发Android App 热门第三方SDK及框架

    巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...

  2. 程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板

    程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板 Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者 ...

  3. 【伯乐在线】最值得阅读学习的 10 个 C 语言开源项目代码

    原文出处: 平凡之路的博客   欢迎分享原创到伯乐头条 伯乐在线注:『阅读优秀代码是提高开发人员修为的一种捷径』http://t.cn/S4RGEz .之前@伯乐头条 曾发过一条微博:『C 语言进阶有 ...

  4. 13个能快速开发android的经典项目

    一.okhttp一个让网络请求更简单的框架 项目地址 https://github.com/jeasonlzy/okhttp-OkGo 二. TwinklingRefreshLayout-下拉刷新和上 ...

  5. android开发中在界面上实现曲线图的几个开源项目

    转自:https://wapiknow.baidu.com/question/1959128379041474620?qq-pf-to=pcqq.c2c 几个相关开源项目: 1.  MPAndroid ...

  6. 15个优秀的开源项目,让你轻松应对Android开发

    一.huabanDemo-android 应用material design版的花瓣网App 项目地址 https://github.com/LiCola/huabanDemo 二.创建视差效果引导页 ...

  7. 转载_最值得阅读学习的10个C语言开源项目代码

    "源代码面前,了无秘密",阅读优秀代码无疑是开发人员得以窥见软件堂奥而登堂入室的捷径.本文选取10个C语言优秀开源项目的代码作为范本,分别给予点评,免去东搜西罗之苦,点赞!那么问题 ...

  8. ComponentOne Xuni助力Xamarin开发者突破百万,快速开发Android、IOS Apps

    在微软Build 2015上,随着VS 2015的预览版发布,Xamrine免费版已经作为VS 2015跨平台移动解决方案的核心.与此同时,Xamarin官方也宣布其用户量达到百万之多.2011年7月 ...

  9. JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台

    JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓 ...

随机推荐

  1. mssql 创建存储过程简单实例

    CREATE procedure [dbo].[cp_User_Increment] @channelId int, @currentPage int, @pageSize int, @userId ...

  2. VUE项目安装

    连接转载:https://www.cnblogs.com/Colwill-Blog/p/6682091.html 刚刚开始学习Vue.js.今天分享一下我的Vue项目安装过程. 我是windows系统 ...

  3. element-ui组件中时间选择器设置时间禁用

    DateTimePicker 日期时间选择器 组件代码 <el-date-picker v-model="value1" type="datetime" ...

  4. 🍓 react16.2新特性 🍓

    react16.2新特性:组件中可以一次性return 多个子元素(子组件)了,也就是说,想return多个子元素,不用在外面包一个父盒子了. 方法一:把要return的元素放在一个空的jsx里面 方 ...

  5. mysql 架构 ~ MGR 与PXC的对比

    一 简介 MGR和PXC的对比 二  WriteSet1 定义 是组件对于写节点应用事务生成binlog的再封装,用来验证其他节点的事务冲突 PXC构成key db_table_组件值data bin ...

  6. 20165237 2017-2018-2 《Java程序设计》第7周学习总结

    20165237 2017-2018-2 <Java程序设计>第7周学习总结 教材学习内容总结 1.MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统. 2.启动 ...

  7. CentOS 7 安装配置 MySQL

    https://blog.imzhengfei.com/centos-7-an-zhuang-pei-zhi-mysql/ MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前 ...

  8. EditText设置可以点击,但是不可以编辑

    EditText设置  editText.setEnabled(false);后不可编辑也不可点击 设置  setFocusable(false)后不可编辑,但是再设置 setFocusable(tr ...

  9. android屏蔽系统锁屏的办法

    最近在开发一个第三方锁屏,使用中需要屏蔽系统锁屏,故代码如下: 在第三方锁屏的服务中onCreate()方法中(第三方锁屏服务启动时关闭一次系统锁屏服务即可) KeyguardManager mKey ...

  10. Memcached技术

    Memcached技术 介绍: memcached是一种缓存技术, 他可以把你的数据放入内存,从而通过内存访问提速,因为内存最快的, memcached技术的主要目的提速, 在memachec 中维护 ...