原文地址:http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale
此前,CSDN移动频道推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“直接拿来用!最火的Android开源项目”系列文章(一)、(二)中,我们也相继盘点了40个GitHub上最受欢迎的Android开源项目。对于GitHub上如此众多的项目,有人不断Mark,有人分享自己的经验,有人心生“看得眼花缭乱,果然是需要终身学习的时代”的感慨,不管怎么样,如果能让你真的有所学习有所收获,我们的目的也就达到了。
今天我们将继续介绍GitHub上另外34个非常受欢迎的Android开源项目,在这些项目中,你又在用或用过哪些呢?
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项目。
这是一个简单的支持多指缩放图片的Android View类。在Android2.1及其更高版本的设备上,当你想要实现同时进行缩放操作时,可以将其作为一个标准的ImageView来使用。
使用过Path的人都应该知道,在Path主界面的左下方有一个非常有意思的菜单。菜单由一个主按钮组成,当用户点击该按钮时,就会有一连串的按钮弹出,而Satellite Menu正是该菜单的一个开源版本。
对于Satellite Menu,其项目发起人siyamed表示,这种菜单结构就像是一个星球四周围绕着许多卫星,而这也就是他为何会以Satellite Menu命名该项目的原因。
47. VitamioBundle
Vitamio是一款Android平台上的全能多媒体开发框架,凭借着其简洁易用的API接口,Vitamio赢得了全球众多开发者的青睐。目前,有许多公司的开源Vitamio项目都托管在GitHub上,而Vitamio的核心插件VitamioBundle正是其中之一。
VitamioBundle是一个独立的Android库,用于促进多媒体的使用,开发者可以很方便地将其集成到自己的项目当中。
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
android-adt-templates是集成了Android开发过程中使用到的许多常用的模板,用来帮助开发者快速构建一些普通的Activity和UI模型。
当然,要想使用这些模板,还必须是Eclipse和ADT 21及其以上版本,此外还需注意的一点就是,ADT模板不管理官方支持库以外的外部依赖关系。
52. android-ffmpeg
FFmpeg有许多不同的库,也总是会让人容易混淆,因此该项目发起人n8fr8对android-ffmpeg项目进行了全新的改变,该项目中包含着一个清晰、容易改变、静态的Android FFmpeg Creator。
该项目是基于Google Android StaggeredGridView进行修改的一个库项目,允许开发者创建一个类似于Pinterest的交错排列的GridView。开发者只需在自己的项目中将其作为一个库项目添加到workspace中即可直接使用。
54. robospice
RoboSpice是Repo的开源Android库,能够让编写异步网络请求变得非常简单。它专门用于网络请求,通过使用Spring Android或者Google Http Client等扩展模块可支持REST请求。
如果想要了解更多,不妨点击链接查看RoboSpice大图,让你30秒即可完全了解RoboSpice。如果想要立即使用,则可以直接进入WiKi或RoboSpice-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中。
在开源ImageFilterForAndroid中拥有许多丰富的图片效果,是由来自国内的代震军发起的一个开源项目。除了Android平台,还有Windows Phone和iOS移动平台,三个平台源码同步。
ImageFilter库图片效果对比:
详情请参考:代震军BLOG
Android-Image-Cache是一个能够自动判断从内存还是网络获取图片、缓存可以自动回收、自动判断如何有效地生成并检索各种尺寸缩略图的图像download-and-cacher。
主要特点如下:
- 只需提供一个适配器即可从光标读取本地、网络URL;
- 基于一个已下载的图像自动生成并缓存多种尺寸图像;
- 同时提供磁盘缓存和内存缓存;
- 自动磁盘缓存管理;不需进行设置,但如果需要的话,参数可进行调整;
- 根据现有设置进行运作;
- 光标适配器支持一个ImageView中多个图像字段;当是null或为空时自动跳过;
- 当加载光标时,光标适配器会有一个自动进度提示条。
62. FFmpeg-Android
为Android neon、armv7、vfp、armv6及用于Android的VPlayer构建FFmpeg。
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开源项目盘点就全部结束了,接下来,CSDN移动频道将正式开启GitHub上最受欢迎的iOS开源项目盘点,敬请期待哟!