快速开发android,离不开这10个优秀的开源项目

4次阅读

共计 3568 个字符,预计需要花费 9 分钟才能阅读完成。

作为一名菜鸡 Android,时常瞻仰大佬们的开源项目是非常必要的。这里我为大家收集整理了 10 个优秀的开源项目,方便我们日常开发中学习!
作者:ListenToCode 博客:https://www.jianshu.com/p/974…

KnowWeather

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

整体框架根据实际项目浅谈 Android 项目中的框架搭建(https://silencedut.github.io/…)

关于知天气——天气尽在掌握之中(https://silencedut.github.io/…——天气尽在掌握之中 /)

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

FolioReader-Android

GitHub 地址 https://github.com/FolioReade… 一个 Android 开源电子书 (ePub) 阅读 App,
原文:
https://www.diycode.cc/projec…

效果图

Gradle
Add following dependency to your app build.gradle
compile ‘com.folioreader:folioreader:0.2.3’
NBAPlus

GitHub 地址 https://github.com/SilenceDut… 一个 Android 开源 NBA 资讯和赛事信息的平台 App

效果图

特点

遵循 Android 开发最佳实践的一种具体实践
Retrofit2.0+RxJava+EventBus+GreenDao 的使用
代码结构清晰,扩展性强,易复用到其他项目
结合 NBAPlus Server 学习后台开发知识和接口的设计
动态 Blur 效果。

关于
NBA 资讯和赛事信息的平台。全面、方便、快捷的获取新闻动态、比赛数据。无广告、推送信息,不后台常驻,空间占用小。web 后台部分在这:
NBAPlus Server
(https://github.com/SilenceDut…)
MyDiary

GitHub 地址 https://github.com/DaxiaK/MyD… 动漫《你的名字》同款 Android 开源 App,原文:
https://www.diycode.cc/projec…

效果图

简诗

GitHub 地址 https://github.com/wingjay/ji… 一款优雅的中国风记录 app,包括 Android 端和 Server 端, 原文:https://www.diycode.cc/projec…

相关博客
如何在一天之内完成一款具备 cool 属性的 Android 产品_简书
(https://www.jianshu.com/p/cf4…)
banya

GitHub 地址(https://github.com/forezp/banya)一个基于豆瓣 API 仿网易云音乐的开源项目。原文:https://www.diycode.cc/projec…

项目介绍:

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

yasea

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

Coding-Android

GitHub 地址 https://github.com/Coding/Cod… 编译环境 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/googlecrea… 原文 https://www.diycode.cc/projec…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/hefuyicode… 一款优雅的遵循 Material Design 的开源音乐播放器,UI 参考 腾讯轻听 音乐播放器, 使用 Lastfm Api 与 酷狗歌词 Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。

项目特点

遵循 Material Design 规范,界面清新,交互优雅。
基于 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
功能模块:我的歌曲、我的歌单、文件夹、我喜欢、最近播放、最近添加、播放排行、本地搜索等。
支持显示歌词及缓存
支持耳机线控播放,耳机拔出自动暂停
动态刷新媒体库,及时获知媒体文件变更
日夜间模式切换,支持动态换肤

阅读更多
面试官:请你介绍一下你的项目经验
Google 费尽心力推出了一个新的项目架构
Android 应用防止被二次打包指南
NDK 项目实战—高仿 360 手机助手之卸载监听
(Android)面试题级答案(精选版)
相信自己,没有做不到的,只有想不到的
在这里获得的不仅仅是技术!

正文完
 0