zoukankan      html  css  js  c++  java
  • 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善

    链接地址:http://www.tuicool.com/articles/jyA3MrU

    Android开源库

    自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 。

    在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 不定期的更新 这篇文章。

    Android下的优秀开发库数不胜数,在本文中,我列举的多是开发流程中最常用的一些。如果你还想了解更多的Android开源库,可以关注我的博客,每一个库都是我认真查看或者编译运行的,希望对你产生帮助。

    原文: http://blog.csdn.net/caoyouxing/article/details/42418591

    一、兼容类库

    1. ActionBarSherlock  : Action Bar是Android 3.0后才开始支持的,ActionBarSherlock是让Action Bar功能支持2.X后的所有平台,而且他会自动的判断是调用原生Action Bar还是使用扩展ActionBar。在我的小熊词典里有用到这个库,而且很多非常知名的App也在使用这个库。 GitHub   Official   ActionBar科普  最新消息(2013年7月):Android官方发布的的Support  Library Revision 18  开始支持 ActionBar 的兼容。所以可以不用再使用ActionBarSherlock了。
    2. Android-ViewPagerIndicator  : 这是与ViewPager兼容的一个分页指示器库。分页指示器(Friends 和 Suggested就是分页,而下面蓝色的小条就是指示器,ViewPagerIndicator支持多种样式的指示器。): GitHub 
    3. NineOldAndroids   : NineOldAndroids 将  Honeycomb (Android 3.0) 的动画 API 扩展到了Android 1.0以上。这个库的作者即是 ActionBarSherlock 的作者,也是Android-ViewPagerIndicator 的作者,

      Jake Wharton ,  非常厉害的一个人,Github关注量超过 1.6K ,如果你也做Android开发或者即将开始学习Android开发,一定要去Follow他,而且留意一下他每次的star和follow信息,经常会有很惊奇的发现。

      Jake Wharton
    4. HoloEverywhere :在Android 4.0时,Google引入了新的主题风格— Holo ,多数厂商都想统一界面设计UI,因此更加具有兼容性的Holo主题库 HoloEveryWhere 便成为很多开发者的选择。在Android的官方Blog中也对 HoloEveryWhere 这个库有所推荐, 点此查看 官方博客对 HoloEveryWhere 的介绍。 HoloEveryWhere 的 Github
    5. Android-Datepicker : 兼容Android 4.0的 datepicker 至Android 2.2。  GitHub 

    二、扩展功能库

    1. SlidingMenu  : SlidingMenu 能非常容易的让开发者实现程序的抽屉效果,所谓的抽屉效果如下图所示,通常被用作呼出菜单。而且SlidingMenu能很方便的与ActionBarSherlock融合,在官方GitHub上有关于如何融合的说明。  GitHub   同时,想要达到相同功能也可以看另一个Drawer设计: Android-Undergarment 
      滑动效果演示
    2. AppMsg  : 优雅的弹出类似Toast的消息提示,支持3种状态Alert,Confirm以及Info。GitHub 
    3. Drag-Sort-ListView  : 很多人都用过在一个ListView中通过拖拽对已有的数据进行排序操作。Drag-Sort-Listview就是实现这一功能的开源库。 GitHub
    4. Android-Flip  : 轻松实现类似FlipBoard的翻页功能。  GitHub 
    5. Android-PullToRefresh  : Android下拉刷新组件。  GitHub     此外,该作者还有另外一个实用度和关注量极高的项目–另一种 Android ActionBar 的实现: GitHub   另:GitHub上另一个Android-PullToRefresh的实现。 GitHub 
    6. ActionBar-PullToRefresh:  基于ActionBar的下拉刷新组件,在下拉的时候会替换掉ActionBar,显示更新中…  GitHub   Demo下载
    7. picasso:   程序中经常面临加载网络图片的情况,成熟做法:异步下载->缓存->显示,Picasso一行代码就可这三步轻松完成。 GitHub   GitHubPage  ,GitHub上图片异步加载缓存类库很多,你也可尝试使用 Android-Universal-Image-Loader  或者  LazyList  后面将介绍到的afinal(国人项目)也具有此功能。
    8. Card-UI: Google很早之前开始在自家的App内使用卡片式布局,CardUI极其美观大方,想要在自己的App中集成卡片UI布局,那么就轻松地用这个项目吧。 GitHub 或者你也可以使用这个库来完成卡片布局。 CardLib 
    9. Android-DragArea:Android拖拽排序,拖拽移动 库。 GitHub  (Opera Android浏览器的拖拽排序就是用的这个库)
    10. Android-StaggeredGrid: Android 下类pinterest布局。 GitHub

      Android 类 Pinterest 布局

    11. FlipImageView: 通过扩展ImageView,实现了ImageView的各种翻转效果。 GitHub  体验地址
    12. SmoothProgressBar:平滑的ProgressBar,各种效果。 GitHub   体验地址

      各式各样的ProgressBar

    13. SuperToasts: 一个愤青对Toast的超强扩展,支持Toast中显示Progressbar,显示图片,显示文等等效果,快去感受下吧! Play GitHub

    14. AndroidFloatLabel:Android Textview 浮动提示,效果是类似下图的。 GitHub

      浮动提示

    15. cropper:Android截图和旋转库,轻松实现头像和一些场景下的图片操作。 GitHub

      Android Cropper

    16. StickyGridHeaders:给GridView加上Header。 GitHub

      GridHeader

    17. Background-ViewPage:支持背景图同时滑动的ViewPager。 感受地址   GitHub
    18. GoogleStyle-Datatime-Picker:做的很精致的Google风格的时间选择器。  Play  GitHub 

    三、工具类库:

    首先,就我个人开发经验,总结一下平常用到的一些最常用的功能:

    1. 下载,比如图片,文件。
    2. 将下载的文件进行解压。
    3. 请求服务器,比如说上传登陆信息,更新某些数据,又或者上传头像文件。
    4. 从文件系统中选择要操作的文件(图片,拍照,视频,拍摄视频)。
    5. 有时候也需要爬取某些网页数据。
    6. 存储一些配置信息
    7. 播放视频
    8. 再有一个特殊需求就是关乎Android程序UI设计,图标是个很麻烦的问题。每次都难以找到合适的Android 设计UI。

    随后,我将很有针对性的推荐一些功能库,来简化上面的问题。

    1. afinal :  afinal 是一个很方便的工具库。 GitHub    作者博客 (注:国人项目哟)
      • 一行代码就可以对数据库进行增删改查。 
      • 完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
      • 轻松实现Android上传文件,POST数据,下载文件(支持断点续传,随时停止下载任务 或者 开始任务)。
      • 一行代码 加载网络图片。
    2. android-async-http : Android下的异步HTTP库。 GitHub     文档   PS:作者的GitHub值得关注。
      • 发送异步http请求,并且可在回调函数中处理返回响应Response。
      • http请求在thread线程,不会阻塞UI线程。
      • 请求使用线程池(ThreadPool)实现,优化了并发的资源使用。
      • 支持Multipart 文件上传。
      • 如果Request请求失败,会自动请求。
      • 支持Json解码。
      • 支持存储Cookies到Preference中。
      • 支持gzip处理Request以及Response。
      • 整个库只有19KB。
    3. http-requests : Java http请求库,设计的很优雅的一个库,推荐。  GitHub
    4. async-http-client : Android下的异步 Http 和 WebSocket 库。   GitHub
      • 支持代理设置
      • 支持分片儿处理请求返回内容
      • 支持WebSocket
    5. zt-zip:  压缩和解压库。  GitHub
      • 压缩和解压
      • 单独操作文件压缩和解压。
      • 替换zip文件中的某个文件
    6. aFileChooser :文件选择器,用于选择需要操作的文件  GitHub
    7. image-chooser-library : 图片和视频的选择库。  GitHub   Demo
    8. jsoup:  HTML解析,并且能很好理解DOM,CSS,以及JQuery。 GitHub   官方   PS:这是java库。做网页爬虫(Crawler,Robot)必备。
    9. toml: 这是个跨语言的配置信息存取方案。 GitHub
    10. Androiton-Action-Bar-Icons: 一个针对Android 优化过的ICON图标集。  GitHub  Demo
    11. 推荐一个Android整体框架:ThinkAndroid 集成了ioc,orm,下载,缓存等模块,能让开发更加快速和高效,同时还是国人项目。 GitHub
    12. 如果你想要更快的网络传输和加载速度可以试试OKHTTP,他实现了Google开发的SPDY协议,通过复用一个Socket,缩短网络加载时间。 关于SPDY看这里   OKHTTP
    13. Android-ProgressFragment :等待数据的时候,支持显示等待符号的Fragment控件。 GitHub
    14. 关于播放视频,不要再去研究什么FFMPEG了,too slow,国人有个非常非常出色的开源项目叫Vitamio,让你播放视频简单如abc。 GitHub   官方网站
    15. AndroidCommon :Android常用的一些库和功能,如缓存,下拉列表,下载管理,静默安装等。感谢 Trinea  GitHub
    16. ion: 让Android的网络操作变得极其简单,支持异步获取和处理JSON,支持Android文件下载(同时支持下载进度条绑定),支持安全链接和代理。超级推荐! GitHub

    四、图标资源:

    五、一些手册

    六、一些视频(以下均为Google 2013 I/O大会的现场视频,视频较多持续更新中…)

    • Android Studio  的新特性官方讲解视频,我在官方技术博客上下载下来,上传到网盘,希望对大家有帮助。 下载地址
    • Android引入Gradle的官方讲解视频  下载地址 。
    • Google 2013 IO大会上抽出40多分钟时间讲解了Android Custom View的底层原理和书写方法。非常值得一看! 下载地址 。
    • IO大会上还讲解了高性能Android RenderScript的原理和使用方法,搞图形图像必备良品。 下载地址
    • 大会上还向开发者讲解了如何实现简洁、快速的网络请求。包括常用的JSON、AsyncTask,还提出了一种网络负荷较重情况下的解决方案RequestQueue(请求队列),提升自己技术必备视频。 下载地址
    • Android 蓝牙 操作最佳实践。 下载地址
    • Android ui 设计官方指南  下载地址
    • Android游戏开发 官方讲解视频  下载地址

    七、高价值链接

    • Android官方博客  提供一些跟Android相关的即时咨询。(需要梯子)
    • Android官方技术博客  主要提供一些新工具(如Android Studio),新技术(如每次更新带来新特性)的演示和讲解。(需要梯子)
    • 23code.com : 超强烈推荐,里面收集了非常多漂亮的Android开源项目。
    • StylingAndroid : 时常介绍Android的新特性。
    • AndroidViews  Android View组件收集站点。
    • 那两年炼就的Android内功修养  (这是一篇Android入门到提高的文章,内容很全面,而且由浅入深,强烈推荐,来自老罗的Android之旅)
    • Android-er  :专注Android好多年的一个老外的Blog。(需要梯子)
    • Android-Pattern :Android的一些设计模式。

    八、集成其他开发特性(懒人专用)

    • ORM:  Object-relationship mapping,如果你不知道什么是ORM设计, Google 。 目前Android上主要有三个ORM开源库。 greenDAO 、 OrmLite 、 AndrORM 。排序基本代表性能。 greenDao和Ormlite性能测试    Ormlite和Androrm性能对比 ,主要是原理实现决定的性能差异(GreenDao采用生成数据表类文件,其他的则采用了反射…)。如果对数据库性能要求很高,那么采用greenDao,如果想图方便采用OrmLite或者AndrORM。
    • ORM2: ActiveAndroid,另一个Android ORM组件,做的非常棒,推荐。 GitHub
    • sprinkles: 有一个ORM组件。  GitHub
    • android-priority-jobqueue:Android Job队列。轻松实现后台task管理,保证代码更清晰,低耦合。 GitHub
    • androidquery: 简单的Android框架,让写代码变得更简单。 Google Code

    九、专注Android的Blog

    1. http://www.trinea.cn/  关注Android性能还有一些小细节的,感谢VilenEera推荐。
    2. http://blog.csdn.net/jj120522  解决很多关于Android生产环节的开发细节,感谢star的推荐。
    3. https://github.com/Trinea/android-open-project  由Trinea收集的很多关于Android第三方特征库的Repo。
    4. http://linkyan.com/  就职于花瓣,专注于Android。

    十、从这些项目中学习组件的用法

    1. Android-GitHub: GitHub官方Android客户端(感谢 Liu Chong 推荐),用到了以下几个项目:

    原文: http://blog.csdn.net/caoyouxing/article/details/42418591

    十一、项目推荐使用的第三方开源库

    1. 使用上拉更多,下拉刷新:https://github.com/JosephPeng/XListView-Android 
    这个是github上面更为火爆的:https://github.com/chrisbanes/Android-PullToRefresh

    2. 侧滑的菜单: SlidingMenu.rar (自己导入support-4v包)推荐github上面一个很好的库,不过这个库有少少错误,修改过来就好了,附上github地址与修改地址。 
    github: https://github.com/jfeinstein10/SlidingMenu 
    修改地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&reltid=249556&pre_thread_id=0&pre_pos=5&ext=CB 
    其实修改的问题就是: 修改SlidingMenu library中的 SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译library导入

    3. 水平移动导航条关联ViewPage:

    http://www.eoeandroid.com/thread-175041-1-1.html

    3.1 这个是ViewPage带动画的,比较优秀:https://github.com/jfeinstein10/JazzyViewPager

    4. 数据库处理使用ormlite:http://ormlite.com/(文档全,注解的形式因此较慢) or      greenDroid:https://github.com/greenrobot/greenDAO(据评测最快,不过每次需要java编译较为麻烦)   or    ActiveAndroid:https://github.com/pardom/ActiveAndroid(没有使用过)    or    https://github.com/satyan/sugar(轻量简单, 下次项目使用)

    5. get,post的请求使用:https://github.com/loopj/android-async-http  或者  使用nio的库:https://github.com/koush/ion 
    https://github.com/koush/AndroidAsync  库支持程序退出后继续下载

    6. 图片加载,包括ListView显示图片加载使用:https://github.com/square/picasso ,推荐这个,代码中考虑的更为的周全

    https://github.com/thest1/LazyList  这个是我在项目中使用的

    7. Json数据解析,有很多种,推荐使用FastJason:http://code.alibabatech.com/wiki/display/FastJSON/Home

    8. ListView带快速搜索与键入搜索: listview右则搜索.rar

    9. 推荐一个AFinal框架,不错,集合了FinalDB、FinalActivity、FinalHttp、FinalBitmap四个功能与一身,不过在单一使用的情况下,还是使用单一功能的框架比较好

    10. 仿IPhone时间滚轮控件: iPhone时间转轮控件.rar

    11. 在android sdk3.0以下使用ActionBar  安装使用教程(亲测)http://blog.csdn.net/daguaio_o/article/details/8028695

    12. 多线程多任务队列断点下载,同时也提供开始、暂停功能,更多功能有待发掘,开源。本身jar有500k,感觉有点儿大,建议根据自己需要提取所需的代码。https://github.com/white-cat/ThinkAndroid

    13. GreenDroid 一个漂亮的android ui库,推荐使用QuickAction

    14. 手势放大缩小,双击放大缩小图片:https://github.com/jasonpolites/gesture-imageview

    15. android缓存框架:https://github.com/yangfuhai/ASimpleCache

    16. 把优酷、土豆等取出它们真是的视频播放地址:http://vparser.com/

    17. 开源中国的Maven库:http://maven.oschina.net/static/help.html

    18. 针对新浪微博,腾讯微博的认证与分享demo:https://github.com/cstdr/WeiboSDKDemo.git

    19. 一个可以替换ImageView的工具,smartImageView,来自github:http://loopj.com/android-smart-image-view/

    20. 图片放大与缩小:github的phoneView  如果需要在放大缩小上再加上旋转,请参考集合项目https://github.com/codepanda-ch/android-gestureimageview

    21. 强大的时间处理:joda     http://sourceforge.net/projects/joda-time/files/joda-time/2.3/

    22. 功能众多的工具包:apcahe lang       http://commons.apache.org/proper/commons-lang/download_lang.cgi

    23. 收集了很多的github上面的开源库列表: https://github.com/Trinea/android-open-project

    请尊重作者的劳动成果,转载注明出处,谢谢! 

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    HDU 3572 Task Schedule(拆点+最大流dinic)
    POJ 1236 Network of Schools(Tarjan缩点)
    HDU 3605 Escape(状压+最大流)
    HDU 1166 敌兵布阵(分块)
    Leetcode 223 Rectangle Area
    Leetcode 219 Contains Duplicate II STL
    Leetcode 36 Valid Sudoku
    Leetcode 88 Merge Sorted Array STL
    Leetcode 160 Intersection of Two Linked Lists 单向链表
    Leetcode 111 Minimum Depth of Binary Tree 二叉树
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/5038782.html
Copyright © 2011-2022 走看看