(1)Android开源项目介绍

来源:互联网 发布:图书管理系统java代码 编辑:程序博客网 时间:2024/06/05 16:21

本主题主要介绍andorid 一些项目的开源项目,参考其他的博客对一些开源的项目进行总结,学习android源码对自己的开发能力有很大的提升,所以多学习,多思考,多练习,对自己的开发能力很有帮助的。

 

(1)android-swipelistview

https://github.com/47deg/android-swipelistview

SwipeListView是一个android  listview实现,实现了自定义listview单元格,可以通过滑动来显示扩展面板。开发者可以直接登录google paly下载安装其应用。

https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview

 

 

(2)greenDAO

https://github.com/greenrobot/greenDAO

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

greenDAO的主要设计目标:
最大性能(最快的Android ORM)
易于使用API
高度优化
最小内存消耗
详细请参考:http://greendao-orm.com/
 
(3)FFMpeg
https://github.com/havlenapetr/FFMpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。可以轻易地实现多种视频格式之间的相互转换。
 
而FFmpeg for Android则是可通过Android NDK直接在Android源码环境下编译的FFmpeg库。该库项目即是FFmpeg for Android的入口,开发者只需直接选择需要转换的视频文件,并设置参数,即可进行转换,发起人havlenapetr表示在未来将为其开发Android库,能够实现自动转换视频文件。

 

(4)TweetLanes

https://github.com/chrislacy/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项目。

 

(5)gesture-imageview

https://github.com/jasonpolites/gesture-imageview

这是一个简单的支持多指缩放图片的Android View类。在Android2.1及其更高版本的设备上,当你想要实现同时进行缩放操作时,可以将其作为一个标准的ImageView来使用。
 
 
 
(6) android-satellite-menu
https://github.com/siyamed/android-satellite-menu
使用过Path的人都应该知道,在Path主界面的左下方有一个非常有意思的菜单。菜单由一个主按钮组成,当用户点击该按钮时,就会有一连串的按钮弹出,而Satellite Menu正是该菜单的一个开源版本。
 
对于Satellite Menu,其项目发起人siyamed表示,这种菜单结构就像是一个星球四周围绕着许多卫星,而这也就是他为何会以Satellite Menu命名该项目的原因。
 
(7) VitamioBundle
https://github.com/yixia/VitamioBundle
Vitamio是一款Android平台上的全能多媒体开发框架,凭借着其简洁易用的API接口,Vitamio赢得了全球众多开发者的青睐。目前,有许多公司的开源Vitamio项目都托管在GitHub上,而Vitamio的核心插件VitamioBundle正是其中之一。
 
VitamioBundle是一个独立的Android库,用于促进多媒体的使用,开发者可以很方便地将其集成到自己的项目当中。
 
(8)android-ffmpeg-x264
https://github.com/halfninja/android-ffmpeg-x264
android-ffmpeg-x264是能够让提取和构建运行在Android上、使用Android NDK最新的FFmpeg和libx264变得非常简单的一个存储库。不同于大多数其他的NDK FFmpeg构建包,它通过配置构建库,只需一个非常小的Android.mk文件即可将其包装进入一个共享库。目前,该库项目已不再更新,但在GitHub上还有着非常多的FFmpeg库,除了前面的FFmpeg,接下来我们还会继续介绍到其他FFmpeg库。
 
(9) ArcMenu
https://github.com/daCapricorn/ArcMenu
ArcMenu是一个类似于iOS版Path 2.0菜单的Android自定义视图项目,和我们前面介绍的Satellite Menu项目类似。
 
对于这个项目,其发起人daCapricorn表示,iOS版Path 2.0上的用户体验非常奇妙,但其Android版本却差太多。因此,他就尝试着在Android上做出像iOS版本那样的效果,而事实也的确如此。
 
 
(10)DataDroid
https://github.com/foxykeep/DataDroid
DataDroid是Android平台上的一个开发库,用于简化Android应用当中的数据管理,基于Android的RESTful封装发展而来。
 
详情请参考:datadroidlib
http://www.datadroidlib.com/
 
(11)android-adt-templates
https://github.com/jgilfelt/android-adt-templates
android-adt-templates是集成了Android开发过程中使用到的许多常用的模板,用来帮助开发者快速构建一些普通的Activity和UI模型。
 
当然,要想使用这些模板,还必须是Eclipse和ADT 21及其以上版本,此外还需注意的一点就是,ADT模板不管理官方支持库以外的外部依赖关系。
 
(12)android-ffmpeg
https://github.com/guardianproject/android-ffmpeg
FFmpeg有许多不同的库,也总是会让人容易混淆,因此该项目发起人n8fr8对android-ffmpeg项目进行了全新的改变,该项目中包含着一个清晰、容易改变、静态的Android FFmpeg Creator。
 
 
(13)StaggeredGridView
https://github.com/maurycyw/StaggeredGridView
该项目是基于Google Android StaggeredGridView进行修改的一个库项目,允许开发者创建一个类似于Pinterest的交错排列的GridView。开发者只需在自己的项目中将其作为一个库项目添加到workspace中即可直接使用。
 
 
(14)robospice
https://github.com/octo-online/robospice
RoboSpice是Repo的开源Android库,能够让编写异步网络请求变得非常简单。它专门用于网络请求,通过使用Spring Android或者Google Http Client等扩展模块可支持REST请求。
 
如果想要了解更多,不妨点击链接查看RoboSpice大图,让你30秒即可完全了解RoboSpice。如果想要立即使用,则可以直接进入WiKiRoboSpice-samples页面。
https://github.com/octo-online/RoboSpice-samples
 
(15)EventBus
https://github.com/greenrobot/EventBus
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。
 
EventBus是GreenRobot出品的Android系统的一个Event Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
延伸阅读:EventBus和Otto使用介绍
http://blog.chengyunfeng.com/?tag=event-bus
 
 
(16)
 commandergenius
commandergenius是SDL库的端口,在project/jni/application目录下还包含有几个个人游戏的源代码或补丁。
 
 
(17)android-rss
https://github.com/ahorn/android-rss
Android RSS是Android平台上RSS 2.0阅读软件的一个轻量级Android库。
 
详情请参考:Code.Google
 
 
(18)OpenCV-Android
https://github.com/billmccord/OpenCV-Android
OpenCV-Android是一个将OpenCV移到Android手机平台的开源项目,该项目使用OpenCV最新的一个分支并利用一个改良过的Android NDK进行构建。
 
如果想要使用OpenCV-Android,必须先下载并安装Android SDK 1.6(或其更高版本)和NDK r5,除此之外,还必须具备:
  • Android手机(可能需要与其他手机相连);
  • QuickTime Java库(如果想要使用QTWebcamBroadcaster就必须具备)。
 
 
(19)RESTProvider
https://github.com/novoda/RESTProvider
RESTProvider旨在让访问REST服务(或任何主要的HTTP调用的网络数据格式)更容易,并将其缓存到本地的一个SQLite数据库中,允许脱机使用。可自动解析RESTful API,并将其响应到Android的一个Provider中。
 
 
(20)ImageFilterForAndroid
https://github.com/daizhenjun/ImageFilterForAndroid
在开源ImageFilterForAndroid中拥有许多丰富的图片效果,是由来自国内的代震军发起的一个开源项目。除了Android平台,还有Windows Phone和iOS移动平台,三个平台源码同步。
ImageFilter库图片效果对比:
 
详情请参考:代震军BLOG
http://www.cnblogs.com/daizhj/
 
 
(21)Android-Image-Cache
https://github.com/mitmel/Android-Image-Cache
Android-Image-Cache是一个能够自动判断从内存还是网络获取图片、缓存可以自动回收、自动判断如何有效地生成并检索各种尺寸缩略图的图像download-and-cacher。
 
主要特点如下:

  • 只需提供一个适配器即可从光标读取本地、网络URL;
  • 基于一个已下载的图像自动生成并缓存多种尺寸图像;
  • 同时提供磁盘缓存和内存缓存;
  • 自动磁盘缓存管理;不需进行设置,但如果需要的话,参数可进行调整;
  • 根据现有设置进行运作;
  • 光标适配器支持一个ImageView中多个图像字段;当是null或为空时自动跳过;
  • 当加载光标时,光标适配器会有一个自动进度提示条。
 
(22)FFmpeg-Android
https://github.com/yixia/FFmpeg-Android
为Android neon、armv7、vfp、armv6及用于Android的VPlayer构建FFmpeg。
 
 
(23)roman10-android-tutorial
https://github.com/roman10/roman10-android-tutorial
roman10-android-tutorial包含了android tutorial的所有源代码。
 
 
(24) tape
https://github.com/square/tape
Tape是Square推出的Android和Java的一组队列关系类。
详情请参考:Square.GitHub
http://square.github.io/tape/
 
(25)AndroidSideMenu
https://github.com/dmitry-zaitsev/AndroidSideMenu
AndroidSideMenu能够让你轻而易举地创建侧滑菜单。需要注意的是,该项目自身并不提供任何创建菜单的工具,因此,开发者可以自由创建内部菜单。

 
 
 
(26)Android-AppMsg
https://github.com/johnkil/Android-AppMsg
Android-AppMsg是基于Toast消息提示和Cyril Mottier的“The making of Prixing #4: in-layout notifications”而来的一个布局内通知实现。
 
开发者可以直接登陆Google Play下载其示例应用
https://play.google.com/store/apps/details?id=com.devspark.appmsg.sample
 
 
(27)proxydroid
ProxyDroid是Android上的一个全局代理应用,遵循GPLv3协议,可以帮助你设置Android设备上的代理。proxydroid项目包含了ProxyDroid所有开放源代码。
 
 
(28)bypass
https://github.com/Uncodin/bypass
Bypass可以跳过HTML,直接在Android和iOS上使用Markdown并进行渲染。Markdown是一种轻量级的标记语言,可以实现文本到HTML的转换。

 

 

(29) OnionKit

https://github.com/guardianproject/OnionKit

OnionKit是一个可以通过提供多种路径来提高移动应用网络安全的Android库项目。
 
该库具体提供:
  • StrongTrustManager:TLS/SSL证书校验的一个强大实现,任何认证中心都可以进行定制;
  • Proxied Connection Support:通过Apache HTTPClient库的特定配置来支持HTTP和HTTPS流量的HTTP和SOCKS代理连接;
  • OrbotHelper:一个支持Orbot:Tor for Android应用集成的工具类。
 
 
(30)android-ffmpeg
https://github.com/mconf/android-ffmpeg
如果想要实现Android FFmpeg编译,必须下载安装Android NDK,在开始编译之前,还必须更新FFmpeg库。

 

 

(31)AndroidUsbCamera

Android Usb Camera是一款可以在Linux电脑上将Android手机直接当摄像头使用的客户端软件。先在手机上安装USB驱动,再安装该客户端软件,然后再在手机上安装usbwebcam.apk程序,打开USB调试模式并运行usbwebcam,通过USB线将电脑和手机相连接即可在PC上直接使用Android手机充当摄像头。
 
 
(32) Droidex
https://github.com/tonypujals/droidex
Droidex可以将开发者附加的Android设备的屏幕内容复制到你的开发设备屏幕上。通常,如果你使用DroidEx来进行演示可谓是事半功倍,因为你可以直接将一台Android设备与笔记本或投影仪相连,而客户也可以通过这些设备来查看Android设备上的内容。
  
此外,Droidex还可以用来演示那些不方便通过模拟器演示的内容,比如GPS或加速器。


 

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

 

 

(34)ScreenCap

https://github.com/julianshen/ScreenCap

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

 

 


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

 

 
 
 
 
 
 
 
原创粉丝点击