给大家推荐10个优秀的开源项目

作者:ListenToCode

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

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

01

KnowWeather

 GitHub(https://github.com/SilenceDut/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的使用
    轮询系统定时更新天气
    实现很多定制化很大的,对后台任务严苛的系统中(如魅族系统)通知栏常驻,并且轮询系统正常运行,很多下载量千万级的天气应用无法达到此效果
    无广告和强制保活拉活的行为

02

FolioReader-Android

 GitHub(https://github.com/FolioReader/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'

03

NBAPlus

GitHub(https://github.com/SilenceDut/NBAPlus)

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

效果图


特点

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

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

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

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

  • 动态Blur效果。

关于

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

NBAPlus Server

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

04

MyDiary

GitHub(https://github.com/DaxiaK/MyDiary)

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

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

效果图

05

简诗

GitHub(https://github.com/wingjay/jianshi)

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

相关博客

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

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

06

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、搜索图书、搜索音乐,等。

07

yasea

GitHub(https://github.com/begeekmyfriend/yasea)

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

08

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 好友界面

09

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

10

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

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

  • 支持显示歌词及缓存

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

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

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

近期文章:

等等,先别走!「码个蛋」又有活动了!参与活动不但可以培养自己的好习惯,还能拿到「码个蛋」IP系列专属奖品,速度要快...

 戳我看详情 

今日问题:

大家平时会看开源项目学习吗?

留言格式:

打卡 天,答:xxx

告诉你一个小技巧:

只需3步,你将不会错过任何一篇文章!

### 回答1: 好的,以下是几个推荐优秀的 C 语言开源项目: 1. Linux 内核:Linux 内核是一个开源的操作系统内核,它是用 C 语言开发的。 2. SQLite:SQLite 是一个轻型的嵌入式数据库,它是用 C 语言开发的。 3. Git:Git 是一个版本控制系统,它是用 C 语言开发的。 4. GCC:GCC 是一个编译器套装,它支持 C、C++、Objective-C 等多种编程语言,也是用 C 语言开发的。 5. Redis:Redis 是一个开源的内存数据库,它支持多种数据结构,也是用 C 语言开发的。 ### 回答2: 以下是几个优秀的C语言开源项目推荐: 1. Linux内核:Linux内核极富影响力,是现代计算机系统的核心。它是一个庞大而复杂的开源项目,不仅仅包含操作系统核心代码,还有设备驱动程序、文件系统等。 2. SQLite:SQLite是一款轻量级的嵌入式关系型数据库引擎,非常适合嵌入到应用程序中。它具有高度可靠性、高效性和可移植性,广泛应用于各种领域。 3. curl:curl是一个功能强大的开源网络传输工具,支持包括HTTP、FTP、SMTP等多种协议。它提供了丰富的功能和API,可以轻松实现文件下载、FTP上传、HTTP请求等操作。 4. OpenSSL:OpenSSL是一个开源的加密库,提供了各种密码学功能,例如对称加密、非对称加密、数字签名等。它被广泛应用于网络安全领域,支持各种协议和算法。 5. FFmpeg:FFmpeg是一个用于处理多媒体数据的开源框架,可以实现音频和视频的编码、解码、转码等操作。它具有高速且稳定的特性,广泛应用于许多媒体处理应用程序中。 这些开源项目在各自的领域内都具有很高的影响力和应用价值,对于学习C语言以及相关领域具有很大的帮助和启发作用。 ### 回答3: 推荐以下几个优秀的C语言开源项目: 1. Linux操作系统:Linux是一个非常著名的开源操作系统,其内核部分由C语言编写。它具有高度的稳定性、安全性和扩展性,广泛应用于服务器、移动设备等。 2. SQLite数据库:SQLite是一个轻量级的关系型数据库管理系统,由C语言编写。它具有零配置、嵌入式性能卓越等特点,被广泛应用于移动应用和嵌入式设备等领域。 3. FFmpeg多媒体框架:FFmpeg是一个跨平台的开源多媒体处理框架,用于实现音视频的编解码、转码、流媒体处理等功能。它由C语言编写,支持各种音视频格式,广泛应用于音视频处理领域。 4. Redis缓存数据库:Redis是一个高性能的键值对存储系统,由C语言编写。它支持多种数据结构,具有高速缓存和实时数据处理等功能,广泛用于缓存、队列、实时数据处理等方面。 5. Nginx服务器:Nginx是一个高性能的Web服务器和反向代理服务器,由C语言编写。它具有高并发处理能力、低内存消耗等优点,被广泛应用于高负载的Web环境中。 这些开源项目都具有广泛的应用和较好的发展和维护状况,可以作为学习C语言和参与开源项目的良好选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值