GitHub上最受欢迎的Android开源项目(二)
项目篇:
Apollo音乐播放器:就一个播放器,但是实现的很好
oschina客户端:oschina网站的客户端哦,wp版,iOS版都有开源
xabber实时聊天工具(基于xmpp协议):不评价了,反正算是同类中比较好的了
组件篇:
Android-Flip:可以实现类似FlipBoard那种华丽丽的翻页
Drag-Sort-Listview:可以拖动item重新排序的listview,效果非常赞
HoloEveryWhere:咳咳,有些同学非常喜欢Android的holo风格,这个项目绝对让你happy
Universal-ImageLoader:这个经典的异步图片加载,不多说了
JazzyViewPager:这玩意可以让ViewPager翻起来更酷,谁用谁知道~~
SlidingMenu:这个是抽屉界面(就是facebook那种)的各种实现版本中,最好的,木有之一!
StickyListHeaders:iPhone上经常有这个,就是listview的……不知道怎么解释,自己下载看看吧
Android-PullToRefresh:下拉刷新,挺常用的一个组件
StaggeredGridView:这是一个瀑布流布局的实现,还不是很完善,但作为学习的案例还是不错的
android-async-http:android的异步请求组件,我个人习惯使用asynctask,不过这个实现水平还是不错,也推荐给大家参考
ActionBarSherlock:大家熟知的ActionBar在2.x上的兼容性方案;类似的兼容性组件还有许多,有时间为大家一一列出;
facebook-android-sdk:不止是一个SDK那么简单哦,比某浪和某人的SDK强几个数量级;
NineOldAndroids:想在2.xSDK上使用Android 3.0新增的动画API,那就是它了;没用过的同学一定要试试哦,非常方便~
android-swipelistview:让listview的item可以向右滑动,新版Gmail和Pocket里面有用到哦~
DataDroid:Android的RESTful封装,没听过RESTful还说你有代码洁癖,追求完美
EventBus:和上面的DataDroid同样属于美化底层代码的,这个lib简化了不同组件之间的事件传递
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实现类似书本翻页效果的示例程序。(点击链接查看视频演示)