说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

直接拿来用!最火的Android开源项目(二)

HTML文档下载 WORD文档下载 PDF文档下载
GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用这些开源项目吗?今天我们将介绍另外20个在GitHub上备受欢迎的Android开源项目,你准备好了吗?

在《直接拿来用!最火的Android开源项目(一)》中,我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常用的是哪些开源项目?使用起来是否能让你得心应手?今天,我们将介绍另外20个Android开源项目,在这些项目中,你又用到了哪些呢?

21. drag-sort-listview

DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。重写了TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。

 

DSLV主要特性:

  • 完美的拖拽支持;
  • 在拖动时提供更平滑的滚动列表滚动;
  • 支持每个ListItem高度的多样性
  • 公开startDrag()和stopDrag()方法;
  • 有公开的接口可以自定义拖动的View。

DragSortListView适用于带有任何优先级的列表:收藏夹、播放列表及清单等,算得上是目前Android开源实现拖动排序操作最完美的方案。

22. c-geo-opensource

c:geo是Android设备上一个简单而又强大的非官方地理寻宝客户端。与其他类似应用不同的是,c:geo不需要Web浏览器,也不需要文件输出。你可以在毫无准备的情况下,毫无后顾之忧地带上你的智能手机去进行地理寻宝。当然,你也不需要付钱,因为它是免费的。


c-geo-opensource包含了c:geo所有开源代码。

详情请参考:c:geo

23. NineOldAndroids

自Android 3.0以上的版本,SDK新增了一个android.animation包,里面的类都是跟动画效果实现相关的,通过Honeycomb API,能够实现非常复杂的动画效果。但如果开发者想在3.0以下的版本中也能使用到这套API,那么Nine Old Androids就会是你最好的选择,该API和Honeycomb API完全一样,只是改变了你使用com.nineoldandroids.XXX的入口。


该项目包含两个工程,一个是Library,即为动画效果的实现库,另一个则是Sample,是对如何使用该API的演示。开发者可以直接登陆Google Play下载安装Nine Old Androids Sample,查看演示。

详情请参考:Nine Old Androids

24. ppsspp

PPSSPP是由GC/Wii模拟器Dolphin联合创始人之一Henrik Rydgård开发的一款免费的跨平台开源模拟器,支持Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流计算机与移动操作系统,可直接工作在x86、x64、ARM等CPU平台上,以GNU GPLv2许可协议发布,主要使用C++编写以提高效率和可移植性。


只要支持OpenGL ES 2.0,PPSSPP就可以在相当低规格的硬件设备上运行,包括基于ARM的手机及平板电脑。

详情请参考:PPSSPP

25. androidquery

Android-Query(AQuery)是一个轻量级的开发包,用于实现Android上的异步任务和操作UI元素,可让Android应用开发更简单、更容易,也更有趣。

26. droid-fu

Droid-Fu是一个开源的通用Android应用库,其主要目的是为了让Android开发更容易,包含有许多工具类,还有非常易用的Android组件。

Droid-Fu提供支持的领域包括:

  • Android应用的生命周期帮助
  • 支持处理Intents和diagnostics类
  • 后台任务支持
  • HTTP消息处理
  • 对象、HTTP响应及远程图像高速缓存
  • 定制各种Adapter及View


Droid-Fu最大的优势在于它的应用生命周期帮助类,如果你正在开发一款Android应用,而它的主要任务是运行后台任务,比如从Web上抓取数据,那么,你一定会使用到Droid-Fu,不过,目前该项目在GitHub上已经停止更新维护。

详情请参考:droid-fu

27. TextSecure

TextSecure是Whisper Systems团队开发的一个Android上的加密信息客户端,旨在增强用户和企业通信的安全性,其源代码于2011年被Twitter发布在GitHub开源数据库中。


该软件允许用户将在Android设备上所有发送和接收的短信内容进行加密,还可以将加密信息发送给另一个TextSecure用户。

28. XobotOS

XobotOS是Xamarin的一个研究项目,用于将Android 4.0从Java/Dalvik移植到C#,并对移植后的性能及内存占用情况进行检测。


29. ignition

在编写Android应用时,通过提供即用组件和包含许多样板文件的实用类,ignition可以让你的Android应用快速起步。ignition涵盖的区域包括:

  • Widget、Adapter、Dialog等UI组件;
  • 允许编写简单却强大的网络代码的HTTP Wrapper库;
  • 加载远程Web图像并进行缓存的类;
  • 简单但有效的缓存框架(将对所有对象树做出响应的HTTP缓存到内存或硬盘中);
  • Intents、diagnostics等几个能让API级别更容易向后兼容的帮助类;
  • 更友好、更强大的AsyncTask实现。


ignition包括三个子项目:

  • ignition-core——是一个可以直接编译到App中的Android库项目。
  • ignition-support——一个标准的Java库项目,被部署为一个普通的JAR,包含了大部分实用工具类。开发者可以独立使用该工程的核心模块。
  • ignition-location——一个可以直接编译到应用程序中的Android AspectJ库项目。能够让定位应用在不需要Activity位置更新处理的情况下获取到最新的位置信息。

详情请参考:ignition Sample applications

30. android_page_curl

android_page_curl是一个在Android上使用OpenGL ES实现类似书本翻页效果的示例程序。(点击链接查看视频演示


31. asmack

说到aSmack,自然要先提提Smack。Smack API是一个完整的实现了XMPP协议的开源API库,而aSmack则是Smack在Android上的构建版本,于2013年2月初迁移到GitHub上,该资源库并不包含太多的代码,只是一个构建环境。开发者可以利用该API进行基于XMPP协议的即时消息应用程序开发。

详情请参考:asmack

32. AndroidBillingLibrary

In-app Billing是一项Google Play服务,能够让你在应用内进行数字内容销售,可销售的数字内容范围非常广,包括媒体文件、照片等下载内容,还包括游戏级别、药剂、增值服务和功能等虚拟内容。Android Billing Library可以实现In-app Billing的所有规范,并提供更高级的类来进行使用。


Google于2012年底正式发布了v3版Android In-app Billing,但截至目前,GitHub上的Android Billing Library还只能支持到v2版,据悉Google将于2013年初对它进行更新。

详情请参考:Google Play In-app Billing

33. Crouton

Crouton是Android上的一个可以让开发者对环境中的Toast进行替换的类,以一个应用程序窗口的方式显示,而其显示位置则由开发者自己决定。


开发者可以直接登陆Google Play下载安装Crouton Demo,查看应用演示。

34. cwac-endless

CommonsWare Android Components(CWAC)是一个开源的Android组件库,用来解决Android开发中各个方面的常见问题,每个 CWAC组件打包成一个独立的jar文件,其中就包含cwac-endless。


cwac-endless提供一个EndlessAdapter,这是一个自动分页的List,当用户浏览到List最后一行时自动请求新的数据。

详情请参考:Commons Ware

35. DiskLruCache

在Android应用开发中,为了提高UI的流畅性、响应速度,提供更高的用户体验,开发者常常会绞尽脑汁地思考如何实现高效加载图片,而DiskLruCache实现正是开发者常用的图片缓存技术之一。Disk LRU Cache,顾名思义,硬件缓存,就是一个在文件系统中使用有限空间进行高速缓存。每个缓存项都有一个字符串键和一个固定大小的值。


点击链接下载该库项目。

36. Android-SlideExpandableListView

如果你对Android提供的Android ExpandableListView并不满意,一心想要实现诸如Spotify应用那般的效果,那么SlideExpandableListView绝对是你最好的选择。该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。


37. gauges-android

Gaug.es for Android是由gaug.es推出的一款在Android设备上对网站流量数据进行实时统计的应用。gauges-android包含了该应用的源代码,开发者可以直接登陆Google Play下载安装该应用。


38. acra

ACRA是一个能够让Android应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库,旨在当应用发生崩溃或出现错误行为时,开发者可以获取到相关数据。


39. roboguice

RoboGuice是Android平台上基于Google Guice开发的一个库,可以大大简化Android应用开发的代码及一些繁琐重复的代码。给Android带来了简单、易用的依赖注入,如果你使用过Spring或Guice的话,你就会知道这种编程方式是多么的便捷。


40. otto

Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通。


详情请参考:Otto

(文/唐小引 责编/张宁)

系列阅读:直接拿来用!最火的Android开源项目(一)

IE10里的捕捉模式和响应式设计 在“亚马逊商店”出售自己:产品经理这么找工作 【CTO俱乐部第92期】大规模存储与电商架构演化实战分享 刘黎明:PaaS是非主流业务,要与IaaS融合 个人手机游戏开发者之死 为什么苹果的应用审核是个笑话? 程序员性格怪癖是才华横溢的表现,还是危险分子的征兆? JavaScript Source Map详解 8条学习编程的可靠建议 一周消息树:亲爱的GitHub,我们怎么访问不了你? [回顾] 2012年几大编程语言就业趋势分析 研发周报:微软无视W3C 拒绝遵循WebRTC标准 移动周报:夫妻档闯江湖 事业爱情双丰收 当服务器遇见锤子:第六届AWS全球创业大赛落幕 C# DataTable 和List之间相互转换的方法 iPad如何在三年内改变世界 划时代的成果:新DNA存储技术 轻而易举装下世界 谷歌产品设计:Larry Page的魅力革命 开源移动统计工具Countly更新 支持Unity 3D DailyCost传奇设计师访谈,彰显HTML5移动应用优势 如何成为一名架构师? Apache Hadoop集群的安全性架构 Wood Camera开发者访谈:我们如何冲到榜首的 代码审查:程序员内炼之道 Twitter Q1推广告API 收入剑指10亿 Dell:在OpenStack成熟后才会推出服务 一个开源工作者对开源与赚钱的一些想法 宏碁:Windows8仍不成功 Chrome表现令人意外 雅虎发布Q4财报 净利润同比下滑8% 游戏机禁售令起风波,索尼任天堂股价大涨 国外开发者吐槽Facebook Android设计一例 测试2000的TCP/IP是否通,用什么命令 求助开发课程表提示 (*****向斑竹你提个小见意,大家最好都来看看,这个想法好不好!****) 为什么我做的增加功能有两个必须要按两次“添加”按钮才能新增一条记录啊? 很急,请教高手,如何把一个ip格式的字符串转换成ip类型,不是用getbyname(),而是像int和string转换一样的概念 请问如何让基于对话框的工具条一开始就浮在上面 来者有分,关于ado的 毛子青论文<<动态规划的优化>>,一个最长子序列的算法,请高手看过来(给出c实现代码的送20分!) 在鼠标单击时间中,可以使用什么函数取得鼠标点击处的坐标值 怎样在单击左键时弹出PopupMenu? 连续20多天加班,近来明显感到体力透支,做个调查!!!(有分) ASP调用VB编写的ActiveX DLL的问题 请教一sql语句 在Unix下用cc(实际上是cc_bundled文件)编译c程序时,报错“const" will become a keyword,或者告诉我“Function prototypes are an ANSI feature" 为何加入winsock2.h后会出现很多问题? 热烈庆祝:Kingron重出江湖!!!菜鸟们有福喽……散分 you shen me qu bie ? please tell me , xie xie ! [■■■Delphi猛料■■■]V1.3发布~~~~~~~更新到2001.12.12 提问:如何在ToolBar上加控件? 我在OLE里调用了word2000文档,为什么只显示第一页,我查了半天资料都没有解决,请帮我 哪里有多媒体软件制作论文啊? 继续请教各位前辈:能否将非新增加的字段定义成计算字段?谢谢! 软件创意、需求大汇集:列创意,拿专家分,120分值大赠送(以后可继续追加) 局渔网 巨简单问题~~~ 进来有分,回答多分,不够再加!!! 关于关闭和启动数据库的问题,很急的!! java VS c#^-^ ?? 请进 寻求QuickReport3以上版本 for Delphi3 的源代码或者安装包? 請問哪大俠用過 ibm 的 bridge2java啊,我把Excel的所有類都導出來了,但它的QuickExcel.java文件還是運行不了, 求救!新装了一块硬盘,为何找不到呀? SetWindowLong函数在delphi里可用,为什么在c++builder 中不能用??? 用弹出式菜单命令弹出一个dialog,可以响应键盘,可是不响应鼠标? 请教,Inserts类是拿来干什么用的? !!!急急急!!!怎样在WIN2000下把NTFS转换成FAT32啊。数据不丢失。 回复太短!或太长!!! visio2002的数据库建模,能不能生成SQL脚本? 急急啊,有關servlet的問題,源碼如下: 添加数据的问题 坐标问题 unix下的nfs Merry Christmas! 给分!祝大家一路发! 每个文件(目录)有3种权限 写DLL? 我定义了三个CSS样式表 高分求教:谁用pb7作过三层结构的东东,我现在要做啦,指点一下吗 Somebody Help Me!! 我安装软件包里的一个DIREX8.1的升级程序后常会出现一个对话框,要我到微软网站升级一个程序 最近在构思一个大型的论坛系统,也想听听大伙的意见,发言就给分!!! 有什么好用数据库建模工具? 帮我看看这段代码错在哪里 Graph数据窗口的问题!!!急急急!!! 为什么马达加斯加岛的东部形成了热带雨林气候而西部形成了热带草原气候 大自流盆地的水为什么盐度高呢? 在已经产生AgCl沉淀的溶液中,能使沉淀溶解的方法是:加入浓氨水.为什么加入浓氨水能溶解沉淀,化学方程式是什么样? 马达加斯加岛的东侧为热带雨林气候,形成此类气候类型的原因是什么?是不是和迎风坡有关系?什么是迎风坡?感激不尽~ 生活中,浪费水现象是十分严重的,请你列举一些. 取Cu和Cu2O的混合样品12克,加入到足量的稀HNO3中用排水集气法收集产生的气体,标准状况下其体积为2.24升,则样品中Cu2O的质量为多少? 回归线附近的马达加斯加岛东部不是热带草原气候而是热带雨林气候? 请举出两个实例,说明物质的溶解性与溶剂有关 排水法收集气体的步骤是什么,说仔细点 澳大利亚东北部热带雨林气候的形成因素有哪些?也就是形成这种气候是由哪些因素促成的. 为什么澳大利亚西部地下水盐分较多?能满足牲畜的生理调节?是不是还和盆地有关? 化学中用排水法收集气体用量筒的原理及方法步骤,如何通过量筒读出气体体积, 澳大利亚东北部一小块热带雨林气候形成原因RT. 地下水盐度与什么有关,岛国地下水盐度就高吗? 分页在大陆东岸的气候类型西岸,还有内部的 将一块石蜡,分别放入足量的水和酒精中,当石蜡静止时,它排开水的体积与排开酒精的体积之比为 (ρ石蜡=0.9×103kg/m3,ρ酒精=0.8×103kg/m3) 澳大利亚热带雨林气候与热带沙漠气候的成因 不同物质在同一溶剂中的溶解度不同,举例还有啊同一种物质在不同的溶剂中的溶解能力不同不要只给几个字母的答案= =||| 地处太平洋与印度洋、亚洲与大洋洲之间的“十字路口”是指? 不规则的海绵的体积怎么求?(认真的)不规则的海绵体积怎么求?用沙吧,误差大怎么测呢?个人认为用橡皮泥.请不用水测,水的误差还大些!固化海绵?你那测的是体积?益出水的体积就是海面的体 溶解性指的是溶剂还是溶液的性质? 为什么澳大利亚人口集中在太平洋沿岸地区? 测量一块不规则塑料块的体积利用水和量筒测量一个不规则的塑料块体积,要求能尽量减少误差. 结合生活中的实例,举例说明影响气体溶解度的各种因素.如题 (1)以亚洲太平洋沿岸地区为例,比较自地纬至高纬各气候类型的气候特征的主要差异(2)以亚欧大陆中高纬度地区为例,比较大路西岸,大陆内部,大陆东岸各气候类型的气候特征的主要差异. 生活中有哪些浪费水的现象?怎样制止 乒乓球的体积?乒乓球的体积 处于亚洲与大洋洲之间,连接太平洋与印度洋的海上通道是 如何测白砂糖的体积?辩泉注钝 澳大利亚为什么地下水丰富 一个实心物体放在水中静止时处于漂浮状态,有4/1的体积露出水面,求该物体的密度? 浪费水的例子有哪些 澳大利亚西部的地下水为什么盐分较多? 甲 乙两个实心物体漂浮在水面上,体积之比为2比1,浸在水中部分的体积之比为1比2,那么它们的密度比是多少. 家庭中有哪些浪费水的事例例如:洗脸或刷牙时一直让水流 生活中应用氧气与隔绝氧气的例子!个举两个!谢谢 质量相等但密度不同的A、B两个小球,方放入水中后都处于漂浮状态,其露出水面部分的体积是总体积的三分之一和一半,则两球A.受的浮力比FA:FB=2:3B.受的浮力比FA:FB=1:1C.密度比ρA:ρB=3:4D. 生活中浪费资源的事例比如:使用一次性筷子 浪费水资源之类的 要求距离5个以上 当然越多越好 为什么温度影响氧气在水中溶解的多少 将密度均匀、重为10N的物体放入水中,静止后物体漂浮在水面,若将露出水面的部分切去后,剩下部分重为8N则物体密度为A、1g/cm3 B、0.8g/cm3 C、0.2g/cm3 D、1.2g/cm3 浪费水的例子 生活中隔绝氧气的例子 热带雨林气候的成因!a终年气温高,气流下沉强烈 b终年气温高,气流上升旺盛 如何测量泡沫的体积不可以是排水法 在生活中隔绝氧气的例子 氧气不易溶与水,那水中的生物怎么生存呢(不是生物问题) 海绵的体积海绵,δ=20,加工尺寸510*505,数量1,体积怎么算啊?万分感激 澳大利亚大自流盆地的原理 如果氧气在水中溶解很大时我们可以在水中活吗瞎想的 60°s附近海域海水的盐度比60°N附近海域海水的盐度要高,原因是什么? 澳大利亚大自流盆地形成的原因? 请问:物质溶解在水中,体积是否会发生改变如果是NaCl溶于水呢 测乒乓球的体积器材;量杯.水.细线. 向A溶液中加入B溶液,先有沉淀生成后又溶解.AB分别是? 一块糖在水中溶解后,水和糖的总体积有什么变化?为什么? 为何澳大利亚大自流盆地的自流井盐度较高? 沉淀溶解溶液将BaCO3(Ksp=2.6x10-9)和 CaCO3(Ksp=4.9x10-9)置于水中,形成含有CaCO3(s)和 BaCO3(s)的饱和溶液,此溶液中c(Ba2+)和c(Ca2+)分别是()0x10-5 和 5.7x10-5 水中溶解物质时 温度或体积为啥有变化 澳大利亚大自流盆地中的井水,不宜灌溉农田的主要原因是 A、 水量过少,仅能提供牲畜饮水 B、水位低,提水灌溉成本过高 C、井水盐度较高,会引起土地盐渍化 D、井水含沙量过大 都有什么是加溶液先加沉淀再溶解
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn