GitHub上最火的Android开源项目

2023-05-16

摘要:截至目前,在GitHub“最受欢迎的开源项目”系列文章中我们已介绍了40个Android开源项目,对于如此众多的项目,你是Mark、和码友分享经验还是慨叹“活到老要学到老”?今天我们将继续介绍另外34个Android开源项目。

此前,CSDN移动频道推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“直接拿来用!最火的Android开源项目”系列文章(一)(二)中, 我们也相继盘点了40个GitHub上最受欢迎的Android开源项目。对于GitHub上如此众多的项目,有人不断Mark,有人分享自己的经验,有 人心生“看得眼花缭乱,果然是需要终身学习的时代”的感慨,不管怎么样,如果能让你真的有所学习有所收获,我们的目的也就达到了。

今天我们将继续介绍GitHub上另外34个非常受欢迎的Android开源项目,在这些项目中,你又在用或用过哪些呢?

41.android-swipelistview

SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。开发者可直接登陆Google Play下载安装其Demo应用

42.greenDAO

greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。

greenDAO的主要设计目标:

  • 最大性能(最快的Android ORM)
  • 易于使用API
  • 高度优化
  • 最小内存消耗

详情请参考:greendao-orm

43.FFMpeg

FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在 Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。可以轻易地实现多种视频格式之间的相互转换。

而FFmpeg for Android则是可通过Android NDK直接在Android源码环境下编译的FFmpeg库。该库项目即是FFmpeg for Android的入口,开发者只需直接选择需要转换的视频文件,并设置参数,即可进行转换,发起人havlenapetr表示在未来将为其开发 Android库,能够实现自动转换视频文件。

44.TweetLanes

Tweet Lanes是一个在Android 4.0及更高版本的Android设备上运行的功能全面的Twitter客户端(开发者可以直接登陆Google Play下载该应用)。

该开源项目包含以下所有源代码:

  • Tweet Lanes客户端应用;
  • 连接Twitter和App.net APIs的SocialNetLib项目;
  • 所有源,尤其是LOGO和Play Store列表;
  • 用于tweetlanes.com的The App Engine项目。

45.gesture-imageview

这是一个简单的支持多指缩放图片的Android View类。在Android2.1及其更高版本的设备上,当你想要实现同时进行缩放操作时,可以将其作为一个标准的ImageView来使用。

46.android-satellite-menu

使用过Path的人都应该知道,在Path主界面的左下方有一个非常有意思的菜单。菜单由一个主按钮组成,当用户点击该按钮时,就会有一连串的按钮弹出,而Satellite Menu正是该菜单的一个开源版本。

对于Satellite Menu,其项目发起人siyamed表示,这种菜单结构就像是一个星球四周围绕着许多卫星,而这也就是他为何会以Satellite Menu命名该项目的原因。

47.VitamioBundle

Vitamio 是一款Android平台上的全能多媒体开发框架,凭借着其简洁易用的API接口,Vitamio赢得了全球众多开发者的青睐。目前,有许多公司的开源 Vitamio项目都托管在GitHub上,而Vitamio的核心插件VitamioBundle正是其中之一。

VitamioBundle是一个独立的Android库,用于促进多媒体的使用,开发者可以很方便地将其集成到自己的项目当中。

48.android-ffmpeg-x264

android- ffmpeg-x264是能够让提取和构建运行在Android上、使用Android NDK最新的FFmpeg和libx264变得非常简单的一个存储库。不同于大多数其他的NDK FFmpeg构建包,它通过配置构建库,只需一个非常小的Android.mk文件即可将其包装进入一个共享库。目前,该库项目已不再更新,但在 GitHub上还有着非常多的FFmpeg库,除了前面的FFmpeg,接下来我们还会继续介绍到其他FFmpeg库。

49.ArcMenu

ArcMenu是一个类似于iOS版Path 2.0菜单的Android自定义视图项目,和我们前面介绍的Satellite Menu项目类似。

对于这个项目,其发起人daCapricorn表示,iOS版Path 2.0上的用户体验非常奇妙,但其Android版本却差太多。因此,他就尝试着在Android上做出像iOS版本那样的效果,而事实也的确如此。

50.DataDroid

DataDroid是Android平台上的一个开发库,用于简化Android应用当中的数据管理,基于Android的RESTful封装发展而来。

详情请参考:datadroidlib

51.android-adt-templates

android-adt-templates是集成了Android开发过程中使用到的许多常用的模板,用来帮助开发者快速构建一些普通的Activity和UI模型。

当然,要想使用这些模板,还必须是Eclipse和ADT 21及其以上版本,此外还需注意的一点就是,ADT模板不管理官方支持库以外的外部依赖关系。

52.android-ffmpeg

FFmpeg有许多不同的库,也总是会让人容易混淆,因此该项目发起人n8fr8对android-ffmpeg项目进行了全新的改变,该项目中包含着一个清晰、容易改变、静态的AndroidFFmpeg Creator。

53.StaggeredGridView

该项目是基于Google Android StaggeredGridView进行修改的一个库项目,允许开发者创建一个类似于Pinterest的交错排列的GridView。开发者只需在自己的项目中将其作为一个库项目添加到workspace中即可直接使用。

54.robospice

RoboSpice是Repo的开源Android库,能够让编写异步网络请求变得非常简单。它专门用于网络请求,通过使用Spring Android或者Google Http Client等扩展模块可支持REST请求。

如果想要了解更多,不妨点击链接查看RoboSpice大图,让你30秒即可完全了解RoboSpice。如果想要立即使用,则可以直接进入WiKiRoboSpice-samples页面。

55.EventBus

当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。

EventBus是GreenRobot出品的Android系统的一个Event Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。

延伸阅读:EventBus和Otto使用介绍

56.commandergenius

commandergenius是SDL库的端口,在project/jni/application目录下还包含有几个个人游戏的源代码或补丁。

57.android-rss

Android RSS是Android平台上RSS 2.0阅读软件的一个轻量级Android库。

详情请参考:Code.Google

58.OpenCV-Android

OpenCV-Android是一个将OpenCV移到Android手机平台的开源项目,该项目使用OpenCV最新的一个分支并利用一个改良过的Android NDK进行构建。

如果想要使用OpenCV-Android,必须先下载并安装Android SDK 1.6(或其更高版本)和NDK r5,除此之外,还必须具备:

  • Android手机(可能需要与其他手机相连);
  • QuickTime Java库(如果想要使用QTWebcamBroadcaster就必须具备)。

59.RESTProvider

RESTProvider旨在让访问REST服务(或任何主要的HTTP调用的网络数据格式)更容易,并将其缓存到本地的一个SQLite数据库中,允许脱机使用。可自动解析RESTful API,并将其响应到Android的一个Provider中。

60.ImageFilterForAndroid

在开源ImageFilterForAndroid中拥有许多丰富的图片效果,是由来自国内的代震军发起的一个开源项目。除了Android平台,还有Windows Phone和iOS移动平台,三个平台源码同步。

ImageFilter库图片效果对比:

详情请参考:代震军BLOG

61.Android-Image-Cache

Android-Image-Cache是一个能够自动判断从内存还是网络获取图片、缓存可以自动回收、自动判断如何有效地生成并检索各种尺寸缩略图的图像download-and-cacher。

主要特点如下:

  • 只需提供一个适配器即可从光标读取本地、网络URL;
  • 基于一个已下载的图像自动生成并缓存多种尺寸图像;
  • 同时提供磁盘缓存和内存缓存;
  • 自动磁盘缓存管理;不需进行设置,但如果需要的话,参数可进行调整;
  • 根据现有设置进行运作;
  • 光标适配器支持一个ImageView中多个图像字段;当是null或为空时自动跳过;
  • 当加载光标时,光标适配器会有一个自动进度提示条。

62.FFmpeg-Android

为Android neon、armv7、vfp、armv6及用于Android的VPlayer构建FFmpeg。

63.roman10-android-tutorial

roman10-android-tutorial包含了android tutorial的所有源代码。

64.tape

Tape是Square推出的Android和Java的一组队列关系类。

详情请参考:Square.GitHub

65.AndroidSideMenu

AndroidSideMenu能够让你轻而易举地创建侧滑菜单。需要注意的是,该项目自身并不提供任何创建菜单的工具,因此,开发者可以自由创建内部菜单。

66.Android-AppMsg

Android-AppMsg是基于Toast消息提示和Cyril Mottier的“The making of Prixing #4: in-layout notifications”而来的一个布局内通知实现。

开发者可以直接登陆Google Play下载其示例应用

67.proxydroid

ProxyDroid是Android上的一个全局代理应用,遵循GPLv3协议,可以帮助你设置Android设备上的代理。proxydroid项目包含了ProxyDroid所有开放源代码。

68.bypass

Bypass可以跳过HTML,直接在Android和iOS上使用Markdown并进行渲染。Markdown是一种轻量级的标记语言,可以实现文本到HTML的转换。

69.OnionKit

OnionKit是一个可以通过提供多种路径来提高移动应用网络安全的Android库项目。

该库具体提供:

  • StrongTrustManager:TLS/SSL证书校验的一个强大实现,任何认证中心都可以进行定制;
  • Proxied Connection Support:通过Apache HTTPClient库的特定配置来支持HTTP和HTTPS流量的HTTP和SOCKS代理连接;
  • OrbotHelper:一个支持Orbot:Tor for Android应用集成的工具类。

70.android-ffmpeg

如果想要实现Android FFmpeg编译,必须下载安装Android NDK,在开始编译之前,还必须更新FFmpeg库。

71.AndroidUsbCamera

Android Usb Camera是一款可以在Linux电脑上将Android手机直接当摄像头使用的客户端软件。先在手机上安装USB驱动,再安装该客户端软件,然后再在手机上安装usbwebcam.apk程序,打开USB调试模式并运行usbwebcam,通过USB线将电脑和手机相连接即可在PC上直接使用Android手机充当摄像头。


72.Droidex

Droidex可以将开发者附加的Android设备的屏幕内容复制到你的开发设备屏幕上。通常,如果你使用DroidEx来进行演示可谓是事半功倍,因为你可以直接将一台Android设备与笔记本或投影仪相连,而客户也可以通过这些设备来查看Android设备上的内容。

此外,Droidex还可以用来演示那些不方便通过模拟器演示的内容,比如GPS或加速器。

73.andmake

andmake是Android的CMake工具链文件。CMake是一个开源的跨平台自动化构建系统,可以编译源代码、制作程序库、产生适配器,还可以用任意的顺序构建可执行文件。

74.ScreenCap

ScreenCap是Android原生自带的截屏工具,通过调用底层,采取后台截屏的方式实现截屏。

GitHub上受开发者欢迎的Android开源项目并不仅仅止于此,还有很多,并且还有许多同类开源项目,如果你感兴趣的话,可以直接登陆GitHub进行更加深入的学习了解。至此,GitHub上最受欢迎的Android开源项目盘点就全部结束了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GitHub上最火的Android开源项目 的相关文章

  • QAV250四轴穿越机安装全程详解(多图)

    QAV250四轴穿越机安装全程详解 最近团队准备使用轻型穿越机QAV250做实验 xff0c 本文记录了QAV250的安装过程 xff0c 整理了开箱后较合理的安装顺序 xff0c 以及各个步骤的注意事项 xff0c 希望对有需要的朋友有所
  • 【C语言】进度条实现

    模拟电脑程序安装的进度条 提供两种方式 代码如下 xff1a include lt stdio h gt include lt string h gt include lt windows h gt void proc int i 61 0
  • ROS 使用记录(3) 自定义消息格式

    文章目录 0 前言1 创建 96 msg 96 文件2 构建 pkg 解析 96 msg 96 文件3 在其他 pkg 中使用自定义消息 0 前言 ROS 中可通过 publisher subscriber 和 topic 实现设计模式中的
  • TCPIP调试助手及源代码

    TCP IP xff08 Transmission Control Protocol Internet Protocol xff0c 传输控制协议 网际协议 xff09 是指能够在多个不同网络间实现信息传输的协议簇 TCP IP协议不仅仅指
  • springsecurity密码验证原理概括

    springsecurity密码验证原理概括 前言1 UsernamePasswordAuthenticationFilter2 ProviderManager3 AbstractUserDetailsAuthenticationProvi
  • 任务栈

    3 1 什么是任务栈 任务栈是一种以栈的形式放置Activity实例的容器 xff0c 遵循先进后出原则 xff0c 包含压栈和出栈两个基本操作 3 2 任务栈出现的原因 最直接的体现就是提升用户体验 xff0c 如果没有任务栈 xff0c
  • 在windows端使用VSCode和cmake快速构建C++项目

    步骤 在vscode中打开一个空文件夹 xff0c 按Ctrl 43 Shift 43 P调出命令输入界面 xff0c 输入cq或cmake q xff0c 选择CMake Quick Start xff0c 或直接按下回车键 xff1a
  • C++早就过时了?大部分写工程不用C++,学习这个语言就为了竞赛?

    其实腾讯对外发布的 腾讯研发大数据报告 已经披露了2020年C 43 43 仍然是腾讯最受欢迎的语言 在游戏和工具中仍然是主流 xff1a 大部分游戏引擎 如Unreal Source 及中间件 如Havok FMOD xff0c 虽然有些
  • 输出所有request参数

    private void printAllParam HttpServletRequest request Enumeration paramNames 61 request getParameterNames while paramNam
  • java反转字节读取小端(Little Endian)数据

    用c 的BinaryWriter的Write方法向文件里写int时 字节序是小端 即Little Endian 用java的DataInputStream的readInt方法 往往不能读取正确值 可以用Integer的reverseByte
  • C/C++ 类库 开发库 资料

    原文 xff1a C C 43 43 函数库 类库 作者 xff1a Breaker lt breaker zy AT gmail gt C C 43 43 开发库 C C 43 43 Development Library 这里收集一些著
  • java 预申请磁盘空间处理大文件

    熟悉电驴和bt的你可能经常看到这些软件可以在下载文件之初就先在硬盘上建立了一个将要下载的那个文件 xff0c 但其实里面的内容是空的 xff0c 只是预先申请了磁盘空间 xff0c 这样做的好处是可以尽可能的减少磁盘碎片 xff0c 同时可
  • 看我把firefox改造成chrome的样子

    一直很喜欢chrome的主题 xff0c 美观 xff0c 而且足够简介实用 xff0c 标题栏和菜单栏 xff0c 状态栏都干掉了 xff0c 节省了很大的空间 xff0c 尤其是对我这种小屏幕的电脑来说太棒了 昨天把firefox折腾成
  • 关于CMD(win7里)的字体

    先别骂偶 xff0c 但偶不得不首先声明特别挑剔字体是偶最大的洁癖 对windows里的命令提示符也不例外 今天不小心调了一下vim的窗口大小 xff0c 不知怎么搞的越弄越糟糕 xff0c 把cmd里原来的字体都高没有了 xff0c 只剩
  • 我用django的一个感受

    我是个python业余者 xff0c 没有做过python的项目 xff0c 最近自学python xff0c 不过遇到些困惑 xff0c 希望大大们指点 早有听说python是个很好的语言 xff0c 又早有听说python做web最好的
  • new 、 delete 、 malloc 、 free 关系

    1 new delete malloc free 关系 delete 会调用对象的析构函数 和 new 对应 free 只会释放内存 xff0c new 调用构造函数 malloc 与 free 是 C 43 43 C 语言的标准库函数 x
  • 测试Java反射效率

    测试分为3个方面 xff1a 1 实例化效率 xff1b 2 方法调用效率 xff1b 3 成员变量GET调用效率 xff1b 4 成员变量SET调用 测试环境 xff1a Windows 7 Sun Java 1 6 先写好备测试用的类
  • google reader给我带了了什么

    题记 xff1a 这篇文章是自己的有感而发 xff0c 更是写给一个特别的朋友 xff0c 希望google reader xff08 以下简称GR xff09 带给我的东西也同样可以传递给你 xff0c 传递给每个人 引文 xff1a 已
  • 终于尘埃落定,准备踏上新的旅程

    经过一个月的纠结 xff0c 等待 xff0c 谈判 xff0c 奔波 xff0c 终于今天一切都定下来了 xff0c 即将离开 xff0c 有太多太多已经告别了的和即将告别的 xff0c 有些来不及 xff0c 有些舍不得 xff0c 但
  • shortcuts in Firefox on MacOSX

    以下是firefox菜单里看不到的 xff0c 看得到就自己看看吧 xff0c 不在这里总结了 home page gt opt 43 fn 43 left 因为fn 43 left gt home left tab gt 1 ctr 43

随机推荐

  • 火狐扩展开发:在第三方页面插入JS脚本

    第一步 xff0c 首先在xul文件内引入执行插入脚本的JS文件 xff0c 例如 xff1a 第二步 xff0c 向第三方插入脚本的代码 xff1a var ffCreate 61 init function var appcontent
  • 多式样ProgressBar

    多式样ProgressBar 普通圆形ProgressBar 该类型进度条也就是一个表示运转的过程 xff0c 例如发送短信 xff0c 连接网络等等 xff0c 表示一个过程正在执行中 一般只要在XML布局中定义就可以了 lt progr
  • 修改Linux系統的默認連接數

    1 修改用戶進程可打開文件數限制 在Linux平台上 xff0c 無論編寫客戶端程序還是服務端程序 xff0c 在進行高並發TCP連接處理時 xff0c 最高的並發數量都要受到系統對用戶單一進程同時可打開文件數量的限制 這是因為系統為每個T
  • 详解大端模式和小端模式

    详解大端模式和小端模式 一 大端模式和小端模式的起源 关于大端小端名词的由来 xff0c 有一个有趣的故事 xff0c 来自于Jonathan Swift的 格利佛游记 xff1a Lilliput和Blefuscu这两个强国在过去的36个
  • 字符串连接(c语言实现)

    起因 今天九度刷题的时候 xff0c 发现一个不调用任何c的库函数实现字符串拼接的代码很多人写的过于复杂 xff0c 链表都用上了 xff0c 真的不至于 xff0c 只要知道字符串的最后截止符是 39 0 39 题目描述 xff1a 不借
  • STL里list、vector、queue性能差异与疑似内存泄漏问题

    最近在项目中debug退出后 xff0c VS的Output面板会输出大量内存泄漏的信息 经过排查 xff0c 居然发现是使用了std list的原因 xff01 然而通过MSDN上一些前辈的讨论 xff0c 得知List并没有真正导致内存
  • malloc/free 的使用要点

    函数malloc的原型如下 xff1a void malloc size t size 用malloc申请一块长度为length的整数类型的内存 xff0c 程序如下 xff1a int p 61 int malloc sizeof int
  • 游戏中用户点击不可达地点引起寻路循环,游戏停顿问题解决

    游戏中用户点击不可达地点引起寻路循环 xff0c 游戏停顿问题解决 通常我们在游戏中通过寻路算法来找到用户点击的地点 xff0c 再根据目标地点来进行寻路 当用户点击 一个不可到达的地点时候 xff0c 游戏会出现突然停顿现象 如上图中的X
  • Android 驱动和系统开发 2. 解析模拟器GPS模块 (原创)

    好久没有写技术博客了 xff0c 恰逢今天还感冒了 xff0c 这破天气 xff0c 晚上凉风一吹 xff0c 就感冒了 xff0c 要加强锻炼呀 好了 xff0c 废话不多说 xff0c 由于工作需要 xff0c 我要移植一个虚拟的gps
  • QoS的基本原理

    QoS的基本原理 作者 xff1a 上传时间 xff1a 2011 04 22 关键字 xff1a 网络大爬虫4 QoS专题 文 胡国华 1 前言 QoS xff08 Quality of Service xff09 是服务质量的简称 对于
  • Java 两个数相除,只要有小数就入一位,不舍去,即为向上去整

    向上取整用Math ceil double a 向下取整用Math floor double a 例如 xff1a System out println Math ceil 1 21 System out println Math ceil
  • NAT的双机热备方案

    一般的NAT组网中 xff0c 内网用户通过单台设备进行NAT转换访问外网 xff0c NAT设备承担了所有内外网之间的流量 xff0c 无法规避单点故障 一旦发生单点故障 xff0c 将导致内网用户无法与外网通信 随着用户对网络可靠性的要
  • 《Java TCP/IP Socket 编程 》读书笔记之十二:各章节要点

    转载请注明出处 xff1a http blog csdn net ns code article details 16118955 T CP IPSocketsinjava读书笔记 第1章 xff1a 简介 1 协议相当于相互通信的程序间达
  • 给同校大一IT新生的建议

    在论坛上看到同学院的学弟问的 xff0c 就回答了一下 打的字挺多的 xff0c 所以就发到博客上了 原文是这样子的 xff1a 我上大一 xff0c 西安二本里垫底的大学 在学校C语言学一学期感觉啥也没学到 想补补自己的编程技术 xff0
  • mysql 让空值用0补充的函数IFNULL(a,0)

    记录 xff0c 防止遗忘 xff01 sql如下 xff1a SELECT IFNULL SELECT sum EO using value FROM cq energy other as eo WHERE eo EO type 61 e
  • 解决SQLite中的 database is locked

    前些时候 xff0c 同事在站点服务端使用SQlite存储一些临时数据 xff0c 但是在多人并发的时候Sqlite会抛出异常 xff1a The database file is locked database is locked xff
  • 引用的一些规则

    引用 xff1a int amp n 61 m n相当于m的别名 xff08 绰号 xff09 xff0c 对n任何操作就是对m的操作 xff0c n既不是m的拷贝 xff0c 也不是m的指针 xff0c 其实n就是m它自己 引用的一些规则
  • photoshop中制作法线贴图

  • java统计文本中某个字符串出现的次数

    原文 xff1a java统计文本中某个字符串出现的次数源代码下载地址 xff1a http www zuidaima com share 1550463297014784 htm 统计文本中某个字符串出现的次数或字符串中指定元素出现的次数
  • GitHub上最火的Android开源项目

    摘要 xff1a 截至目前 xff0c 在GitHub 最受欢迎的开源项目 系列文章中我们已介绍了40个Android开源项目 xff0c 对于如此众多的项目 xff0c 你是Mark 和码友分享经验还是慨叹 活到老要学到老 xff1f 今