快速开发android,离不开这10个优秀的开源项目
作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的。这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习!
作者:ListenToCode
博客:https://www.jianshu.com/p/9742ce36b6a8
KnowWeather
一款 Android 开源天气 App ,包含天气信息、详情、生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级、区级城市的天气,原文:https://www.diycode.cc/projects/SilenceDut/KnowWeather
整体框架
根据实际项目浅谈Android项目中的框架搭建(https://silencedut.github.io/2016/12/05/根据实际项目浅谈Android项目中的框架搭建/)
关于
知天气——天气尽在掌握之中(https://silencedut.github.io/2016/12/06/知天气——天气尽在掌握之中/)
特点
支持县级、区级天气
JobScheduler与JobService的使用
轮询系统定时更新天气
实现很多定制化很大的,对后台任务严苛的系统中(如魅族系统)通知栏常驻,并且轮询系统正常运行,很多下载量千万级的天气应用无法达到此效果
无广告和强制保活拉活的行为
FolioReader-Android
一个 Android 开源电子书(ePub)阅读 App ,
原文:
https://www.diycode.cc/projects/FolioReader/FolioReader-Android
效果图
Gradle
Add following dependency to your app build.gradle
compile 'com.folioreader:folioreader:0.2.3'
NBAPlus
一个 Android 开源 NBA 资讯和赛事信息的平台 App
效果图
特点
遵循Android开发最佳实践的一种具体实践
Retrofit2.0+RxJava+EventBus+GreenDao的使用
代码结构清晰,扩展性强,易复用到其他项目
结合NBAPlus Server 学习后台开发知识和接口的设计
动态Blur效果。
关于
NBA资讯和赛事信息的平台。 全面、方便、快捷的获取新闻动态、比赛数据。 无广告、推送信息,不后台常驻,空间占用小。web后台部分在这:
NBAPlus Server
(https://github.com/SilenceDut/nbaplus-server)
MyDiary
动漫《你的名字》同款 Android 开源 App,原文:
效果图
简诗
一款优雅的中国风记录 app,包括 Android 端和 Server 端,原文:https://www.diycode.cc/projects/wingjay/jianshi
相关博客
如何在一天之内完成一款具备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。
主界面采用material design 设计风格,使用了NavigationView和DrawerLayout的抽屉效果,CoordinatorLayout和viewpager 配合,使用behavior属性,对toolbar的显示和隐藏进行了控制。使用了tablayout和viewpager配合,切换fragment,整体风格类似于网易云音乐。
用到的豆瓣API有热映榜、top250、搜索图书、搜索音乐,等。
yasea
带美颜滤镜的 Android 直播推流开源客户端项目,通过手机摄像头和麦克风采样,编码为H.264和AAC,再封装FLV格式,推送至RTMP服务器。延迟达到毫秒级别。
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
原文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
一款优雅的遵循 Material Design 的开源音乐播放器,UI参考 腾讯轻听 音乐播放器,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
项目特点
遵循 Material Design 规范,界面清新,交互优雅。
基于 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
功能模块: 我的歌曲、我的歌单、文件夹、我喜欢、最近播放、最近添加、播放排行、本地搜索等。
支持显示歌词及缓存
支持耳机线控播放,耳机拔出自动暂停
动态刷新媒体库,及时获知媒体文件变更
日夜间模式切换,支持动态换肤
快速开发android,离不开这10个优秀的开源项目的更多相关文章
- 巧用第三方快速开发Android App 热门第三方SDK及框架
巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...
- 程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板
程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板 Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者 ...
- 【伯乐在线】最值得阅读学习的 10 个 C 语言开源项目代码
原文出处: 平凡之路的博客 欢迎分享原创到伯乐头条 伯乐在线注:『阅读优秀代码是提高开发人员修为的一种捷径』http://t.cn/S4RGEz .之前@伯乐头条 曾发过一条微博:『C 语言进阶有 ...
- 13个能快速开发android的经典项目
一.okhttp一个让网络请求更简单的框架 项目地址 https://github.com/jeasonlzy/okhttp-OkGo 二. TwinklingRefreshLayout-下拉刷新和上 ...
- android开发中在界面上实现曲线图的几个开源项目
转自:https://wapiknow.baidu.com/question/1959128379041474620?qq-pf-to=pcqq.c2c 几个相关开源项目: 1. MPAndroid ...
- 15个优秀的开源项目,让你轻松应对Android开发
一.huabanDemo-android 应用material design版的花瓣网App 项目地址 https://github.com/LiCola/huabanDemo 二.创建视差效果引导页 ...
- 转载_最值得阅读学习的10个C语言开源项目代码
"源代码面前,了无秘密",阅读优秀代码无疑是开发人员得以窥见软件堂奥而登堂入室的捷径.本文选取10个C语言优秀开源项目的代码作为范本,分别给予点评,免去东搜西罗之苦,点赞!那么问题 ...
- ComponentOne Xuni助力Xamarin开发者突破百万,快速开发Android、IOS Apps
在微软Build 2015上,随着VS 2015的预览版发布,Xamrine免费版已经作为VS 2015跨平台移动解决方案的核心.与此同时,Xamarin官方也宣布其用户量达到百万之多.2011年7月 ...
- JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓 ...
随机推荐
- luogu 2216 理想的正方形 单调队列(其实没有DP)
#include<bits/stdc++.h> using namespace std; ; ; int a,b,n; int g[A][A],q[A][N],Q[A][N]; int h ...
- sql leetcode -Duplicate Emails
第一种解法: select distinct p1.Email as Email from Person p1, Person p2 where p1.Email=p2.Email and p1.Id ...
- 用Windows Media Service打造的流媒体点播
所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式.和需要将整个视频文件全部下载之后才能观看的传统方式相比,流媒体技术是通过将视频文件经过特殊的压缩方式分成一个个的小数据包,由视频服务器 ...
- C++向量 vector动态数组
需要包含头文件, #include <vector> using namespace std; vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所 ...
- luogu P3237 [HNOI2014]米特运输
传送门 谢特运输 先要搞懂题目是什么意思,简化版题意就是一棵有根树,要使得每个点都满足任意一个儿子的权值等于这个点权值除以儿子数量,问最少要修改多少个点的点权 就可以一边dfs求出每个点权值是点1的多 ...
- C#后台画图保存为ipg/png的文件
public void Exec1() { string imgurl = @"http://api.senwoo.com/Content/HeadPortrait/" ...
- 配置虚拟机 Linux 静态IP
一.查看IP.子网掩码.网关 虚拟网络编辑器 NAT中获取 取消勾选DHCP 二.查看DNS 虚拟机DNS与Windows设置相同 三.配置linux [root@lhs800 ~]# vi /etc ...
- 标准盒模型、IE盒模型
结论:IE盒模型是陈旧知识点,除了帮助理解css3 box-sizing: border-box(等分宽度布局)外没什么用. 标准(W3C)模型中:CSS中的宽(width) = 内容 (conten ...
- java.lang.Enum
参考博客链接 java枚举类型的优势在哪里? Java 枚举(enum) 详解7种常见的用法
- A - Piece of Cake Kattis - pieceofcake (数学)
题目链接: A - Piece of Cake Kattis - pieceofcake 题目大意:给你一个多边形,然后给你这个多边形的每个点的坐标,让你从这个n个点中选出k个点,问这个k个点形成的面 ...