您的位置:首页 > 移动开发 > Android开发

GitHub上史上最全的Android开源项目分类汇总

2015-08-14 09:37 1061 查看
http://itindex.net/detail/51896-github-android-%E5%BC%80%E6%BA%90今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计、个性化控件、工具库、优秀的Android开源项目、开发测试工具、优秀个人和团体等。可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消化吸收并加以利用,可以为自己的APP增色不少。文章最后还列出了部分国外著名Android开发者的信息,包括GitHub地址和博客地址。总之,作为一个Android开发者,看了这篇文章一定会受益匪浅。以下是正文:

Android开源项目分类汇总

如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:(入群理由必须填写群简介问题答案) 214742675(五群) 377723625(一群已满) 383537512(二群已满) 63224677(三群已满) 148844489(四群已满)不要重复加群欢迎大家推荐好的Android开源项目,可直接Commit,欢迎
Star
Fork
:)关于我,欢迎关注微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com QQ:717763774更多:Android 开源库获取途径整理对你有帮助的话,顺手去知乎点个赞吧:优秀的 Android 开源项目、特效推荐

目前包括:

Android开源项目第一篇——个性化控件(View)篇包括ListViewActionBarMenuViewPagerGalleryGridViewImageViewProgressBarTextViewScrollViewTimeViewTipViewFlipViewColorPickViewGraphView、UIStyle、其他Android开源项目第二篇——工具库篇包括依赖注入图片缓存网络相关数据库ORM工具包Android公共库高版本向低版本兼容库多媒体事件总线传感器安全插件化文件其他Android开源项目第三篇——优秀项目篇比较有意思的完整的Android项目Android开源项目第四篇——开发及测试工具篇包括开发效率工具开发自测相关测试工具开发及编译环境其他Android开源项目第五篇——优秀个人和团体篇乐于分享并且有一些很不错的开源项目的个人组织,包括JakeWharton、ChrisBanes、Koushik Dutta等大牛

第一部分个性化控件(View)

主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style等等。

一、ListView

android-pulltorefresh一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。项目地址:https://github.com/chrisbanes/Android-PullToRefreshDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=trueAPP示例:新浪微博各个页面android-pulltorefresh-listview下拉刷新ListView项目地址:https://github.com/johannilsson/android-pulltorefreshDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=truePS:这个被很多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefreshDropDownListView下拉刷新及滑动到底部加载更多ListView项目地址:https://github.com/Trinea/AndroidCommonDemo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo文档介绍:http://www.trinea.cn/android/dropdown-to-refresh-and-bottom-load-more-listview/DragSortListView拖动排序的ListView,同时支持ListView滑动item删除,各个Item高度不一、单选、复选、CursorAdapter做为适配器、拖动背景变化等项目地址:https://github.com/bauerca/drag-sort-listviewDemo地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslvAPP示例:Wordpress AndroidSwipeListView支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间项目地址:https://github.com/47deg/android-swipelistviewDemo地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistviewAPP示例:微信Android-SwipeToDismiss滑动Item消失ListView项目地址:https://github.com/romannurik/Android-SwipeToDismiss支持3.0以下版本见:https://github.com/JakeWharton/SwipeToDismissNOADemo地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_codePinnedHeaderExpandableListView首先它是一个ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩项目地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListViewAPP示例:百度手机卫士垃圾清理界面效果图:StickyListHeadersGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView,支持快速滑动,支持Android2.3及以上项目地址:https://github.com/emilsjolander/StickyListHeadersAPP示例:Android 4.0联系人效果图:pinned-section-listviewGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView项目地址:https://github.com/beworker/pinned-section-listview效果图:PinnedHeaderListViewGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView项目地址:https://github.com/JimiSmith/PinnedHeaderListViewQuickReturnListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现项目地址:https://github.com/lawloretienne/QuickReturnDemo地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturnQuickReturnHeaderListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现项目地址:https://github.com/ManuelPeinado/QuickReturnHeaderDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=trueAPP示例:google plusIndexableListViewListView右侧会显示item首字母快捷索引,点击可快速滑动到某个item项目地址:https://github.com/woozzu/IndexableListViewDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=trueAPP示例:微信通讯录、小米联系人CustomFastScrollViewListView快速滑动,同时屏幕中间PopupWindows显示滑动到的item内容或首字母项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo效果图:Android-ScrollBarPanelListView滑动时固定的Panel指示显示在scrollbar旁边项目地址:https://github.com/rno/Android-ScrollBarPanel效果展示:https://github.com/rno/Android-ScrollBarPanel/raw/master/demo_capture.pngSlideExpandableListView用户点击listView item滑出固定区域,其他item的区域收缩项目地址:https://github.com/tjerkw/Android-SlideExpandableListViewDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=trueJazzyListViewListView及GridView item以特殊动画效果进入屏幕,效果包括grow、cards、curl、wave、flip、fly等等项目地址:https://github.com/twotoasters/JazzyListViewDemo地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample效果展示:http://lab.hakim.se/scroll-effects/ListViewAnimations带Item显示动画的ListView,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等项目地址:https://github.com/nhaarman/ListViewAnimationsDemo地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimationsAPP示例:Google plus、Google Now卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0DevsmartLib-Android横向ListView项目地址:https://github.com/dinocore1/DevsmartLib-AndroidDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=trueTwoWayView横向ListView的效果,继承自AdapterView项目地址:https://github.com/lucasr/twoway-viewHorizontalVariableListView支持Item宽度不一致的ListView项目地址:https://github.com/sephiroth74/HorizontalVariableListViewLinearListView用LinearLayout实现的ListView,可解决多个ListView并存等问题。目前自己也有需要,等亲自尝试过后会再具体介绍项目地址:https://github.com/frankiesardo/LinearListViewMultiChoiceAdapter支持多选的ListView Adapter项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapterDemo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demoEnhancedListView支持横向滑动删除列表项以及撤销删除的ListView,该项目的前身是SwipeToDismissUndoList项目地址:https://github.com/timroes/EnhancedListViewDemo地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemoListBuddies自动滚动的双列ListView ,两个ListView滚动速度不一致,有视差效果项目地址:https://github.com/jpardogo/ListBuddiesDemo地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies效果展示:SwipeMenuListView针对ListView item的侧滑菜单项目地址:https://github.com/baoyongzhang/SwipeMenuListView效果展示:APP示例:手机QQV5.0PagingListView分页加载的ListView。当滑动到ListView底部最后一个元素时,显示一个进度行,然后加载下一页数据,并显示。项目地址:https://github.com/nicolasjafelle/PagingListViewPullZoomView支持下拉时HeaderView缩放的ListView、ScrollView项目地址:https://github.com/Frank-Zhu/PullZoomView效果展示:PullToZoomInListView滑动ListView时使其HeaderView跟随滑动缩放项目地址:https://github.com/matrixxun/PullToZoomInListView效果展示:CalendarListview实现每个月一行日历效果的ListView项目地址:https://github.com/traex/CalendarListview效果展示:sticky-headers-recyclerviewGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ListView,采用support-v7中的RecyclerView实现项目地址:https://github.com/timehop/sticky-headers-recyclerviewPullSeparateListView到达顶部或底部继续拉动时,实现Item间的相互分离,两种模式:(1) 全部分离的模式,即屏幕内所有Item都会分离 (2)部分分离模式,以点击位置为分界点,部分item分离项目地址:https://github.com/chiemy/PullSeparateListView效果展示: ExpandableLayoutHeader 和 Content Item 都可以展开的 ExpandableListview项目地址:https://github.com/traex/ExpandableLayoutPagedHeadListView支持paginated header以及material page indicator的ListView.项目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView效果展示:

二、ActionBar

ActionBarSherlock为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题项目地址:https://github.com/JakeWharton/ActionBarSherlockDemo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demosAPP示例:太多了。。现在连google都在用ActionBar-PullToRefresh下拉刷新,ActionBar出现加载中提示项目地址:https://github.com/chrisbanes/ActionBar-PullToRefreshDemo地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stockAPP示例:Gmail,Google plus,知乎等FadingActionBarListView向下滚动逐渐显现的ActionBar项目地址:https://github.com/ManuelPeinado/FadingActionBarDemo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demoAPP示例:google music,知乎NotBoringActionBargoogle music下拉收缩的ActionBar项目地址:https://github.com/flavienlaurent/NotBoringActionBarDemo地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/APP示例:Google音乐RefreshActionItem带进度显示和刷新按钮的ActionBar项目地址:https://github.com/ManuelPeinado/RefreshActionItemDemo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demoAPP示例:The New York Times,DevAppsDirect.GlassActionBar类似玻璃的有一定透明度的ActionBar项目地址:https://github.com/ManuelPeinado/GlassActionBarDemo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemoAPP示例:google music

三、Menu

MenuDrawer滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。项目地址:https://github.com/SimonVT/android-menudrawerDemo地址:http://simonvt.github.io/android-menudrawer/APP示例:Gmail、Google Music等大部分google appSlidingMenu滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。项目地址:https://github.com/jfeinstein10/SlidingMenuDemo地址:https://play.google.com/store/apps/details?id=com.slidingmenu.exampleAPP示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 BarracksMenuDrawer和SlidingMenu比较:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层ArcMenu支持类似Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单项目地址:https://github.com/daCapricorn/ArcMenuAPP示例:Path效果图:https://dl.dropboxusercontent.com/u/11369687/preview1.pnghttps://dl.dropboxusercontent.com/u/11369687/raymenu.pngandroid-satellite-menu类似Path的左下角动画旋转菜单项目地址:https://github.com/siyamed/android-satellite-menuDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=trueAPP示例:Pathradial-menu-widget圆形菜单,支持二级菜单项目地址:https://code.google.com/p/radial-menu-widget/效果图:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpgAndroid Wheel Menu圆形旋转选取菜单项目地址:https://github.com/anupcowkur/Android-Wheel-Menu效果图:FoldingNavigationDrawer滑动并以折叠方式打开菜单项目地址:https://github.com/tibi1712/FoldingNavigationDrawer-AndroidDemo地址:https://play.google.com/store/apps/details?id=com.ptr.folding.sample效果图:AndroidResideMenu仿 Dribbble 的边栏菜单项目地址:https://github.com/SpecialCyCi/AndroidResideMenu效果图:CircularFloatingActionMenu一个可定制的圆形的浮动菜单控件,类似于Path的圆形菜单。这个控件的可定制性更强,可以很容易的定制菜单出现消失时的动画,起始角度和半径。项目地址:https://github.com/oguzbilgener/CircularFloatingActionMenuDemo地址:https://github.com/oguzbilgener/CircularFloatingActionMenu/tree/master/samples效果图:NavigationDrawerSINavigation Drawer的一个简单实现,滑动并以折叠方式打开菜单项目地址:https://github.com/mmBs/NavigationDrawerSIAPP示例:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersiDemo地址:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi效果图:DragLayout使用support.v4包下的ViewDragHelper实现QQ5.0侧滑项目地址:https://github.com/BlueMor/DragLayout效果图:LDrawerMaterial Design 形式的展开折叠Icon项目地址:https://github.com/ikimuhendis/LDrawer效果图:Floating Action Button悬浮的圆形菜单栏,支持组建滚动时自动隐藏及其他设置项目地址:https://github.com/shamanland/floating-action-button效果图:

四、ViewPager、Gallery

Android-ViewPagerIndicator配合ViewPager使用的Indicator,支持各种位置和样式项目地址:https://github.com/JakeWharton/Android-ViewPagerIndicatorDemo地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sampleAPP示例:太多了。。JazzyViewPager支持Fragment切换动画的ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等项目地址:https://github.com/jfeinstein10/JazzyViewPagerDemo地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true效果类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已JellyViewPager特殊切换动画的ViewPager项目地址:https://github.com/chiemy/JellyViewPager效果图:Android-DirectionalViewPager支持横向和纵向(垂直)的ViewPager项目地址:https://github.com/JakeWharton/Android-DirectionalViewPagerDemo地址:https://market.android.com/details?id=com.directionalviewpager.sampleandroid-pulltorefresh支持下拉刷新的ViewPager项目地址:https://github.com/chrisbanes/Android-PullToRefreshDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=trueAPP示例:新浪微博各个页面FancyCoverFlow支持Item切换动画效果的类似Gallery View项目地址:https://github.com/davidschreiber/FancyCoverFlowDemo地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples效果图:AndroidTouchGallery支持双击或双指缩放的Gallery(用ViewPager实现),相比下面的PhotoView,在被放大后依然能滑到下一个item,并且支持直接从url和文件中获取图片,项目地址:https://github.com/Dreddik/AndroidTouchGalleryDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=trueAPP示例:类似微信中查看聊天记录图片时可双击放大,并且放大情况下能正常左右滑动到前后图片Android Auto Scroll ViewPagerAndroid自动滚动 轮播循环的ViewPager项目地址:https://github.com/Trinea/android-auto-scroll-view-pagerDemo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo文档介绍:http://www.trinea.cn/android/auto-scroll-view-pager/Salvage view带View缓存的Viewpager PagerAdapter,很方便使用项目地址:https://github.com/JakeWharton/salvageAndroid PagerSlidingTabStrip配合ViewPager使用的Indicator,支持ViewPager Scroll时Indicator联动项目地址:https://github.com/astuetz/PagerSlidingTabStripDemo地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sampleViewPager3DViewPager3D效果项目地址:https://github.com/inovex/ViewPager3DAnimaTabsview仿网易云音乐标签切换的动画,带透明小三角项目地址:https://github.com/wuyexiong/transparent-over-animtabsview在线演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.htmlLoopingViewPager无限循环的ViewPager项目地址:https://github.com/imbryk/LoopingViewPagerandroid_page_curl翻书卷曲效果项目地址:https://github.com/harism/android_page_curl在线演示:https://www.youtube.com/watch?v=iwu7P5PCpswAPP示例:iReaderViewPagerIndicator简化并实现android的TabHost效果,顶部滑动tab,引导页,支持自定义tab样式,自定义滑动块样式和位置,自定义切换tab的过渡动画,子界面的预加载和界面缓存,设置界面是否可滑动项目地址:https://github.com/LuckyJayce/ViewPagerIndicator

五、GridView

StaggeredGridView允许非对齐行的GridView,类似Pinterest的瀑布流,并且跟ListView一样自带View缓存,继承自ViewGroup项目地址:https://github.com/maurycyw/StaggeredGridViewDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=trueAPP示例:Pinterest等AndroidStaggeredGrid允许非对齐行的GridView,类似Pinterest的瀑布流,继承自AbsListView项目地址:https://github.com/etsy/AndroidStaggeredGridAPP示例:Pinterest等PinterestLikeAdapterView允许非对齐行的GridView,类似Pinterest的瀑布流,允许下拉刷新项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterViewAPP示例:Pinterest等DraggableGridViewItem可拖动交换位置的GridView,实际是自己继承ViewGroup实现,类似桌面的单屏效果,可屏幕自动上下滚动进行Item移动交换,多屏效果见下面PagedDragDropGrid项目地址:https://github.com/thquinn/DraggableGridViewDemo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=trueStickyGridHeadersGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的GridView项目地址:https://github.com/TonicArtos/StickyGridHeaders效果图:PagedDragDropGridItem可拖动交换位置、拖动删除的自定义控件,实际是自己继承ViewGroup实现,类似桌面的多屏效果,可拖动到屏幕边缘,屏幕自动左右滚动进行Item移动交换,可拖动进行删除,单屏效果见上面DraggableGridView项目地址:https://github.com/mrKlar/PagedDragDropGrid在线演示:http://youtu.be/FYTSRfthSuQAndroid-DraggableGridViewPagerItem可拖动交换位置的GridView,实际是自己继承ViewGroup实现,类似桌面的多屏效果,可屏幕自动左右滚动进行Item移动交换,单屏效果见上面DraggableGridView项目地址:https://github.com/zzhouj/Android-DraggableGridViewPagerDemo地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=trueTwoWayGridView可横向滚动的GridView项目地址:https://github.com/jess-anders/two-way-gridviewPagingGridView分页加载的GridView。当滑动到GridView底部最后一个行时,显示一个进度行,然后加载下一页数据,并显示。项目地址:https://github.com/nicolasjafelle/PagingGridViewAsymmetricGridView一个支持跨行和跨列可变Item大小的GridView项目地址:https://github.com/felipecsl/AsymmetricGridViewDemo地址:https://play.google.com/store/apps/details?id=com.felipecsl.asymmetricgridview.app效果图:GridView with Header and Footer和
ListView
一样带头部和底部的
GridView
,用法和
ListView
一样项目地址:https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter效果图:

六、ImageView

PhotoView支持双击或双指缩放的ImageView,在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同时支持单个ImageView项目地址:https://github.com/chrisbanes/PhotoViewDemo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sampleAPP示例:photupandroid-gif-drawable支持gif显示的view,用jni实现的,编译生成so库后直接xml定义view即可,而且本身不依赖于其他开源项目所以相对下面的ImageViewEx简单的多项目地址:https://github.com/koral--/android-gif-drawableImageViewEx支持Gif显示的ImageView项目地址:https://github.com/frapontillo/ImageViewExDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true依赖很多,编译过程很繁琐!|_|!RoundedImageView带圆角的ImageView项目地址:https://github.com/vinc3m1/RoundedImageView效果图:ColorArt根据图片的均色设置背景色显示文字和图片,类似itune11中效果项目地址:https://github.com/MichaelEvans/ColorArtDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=trueCircleImageView圆形的ImageView项目地址:https://github.com/hdodenhof/CircleImageView效果图:ImageViewZoom支持放大和平移的ImageView项目地址:https://github.com/sephiroth74/ImageViewZoomAPP示例:https://play.google.com/store/apps/details?id=com.aviary.android.featherKenBurnsView实现Ken Burns effect效果,达到身临其境效果的ImageView项目地址:https://github.com/flavioarfaria/KenBurnsViewCustomShapeImageView各种形状的ImageView, 相比上面的圆形ImageView,多了更多形状项目地址:https://github.com/MostafaGazar/CustomShapeImageView效果图:Shape Image View可以自定义各种形状的ImageView, 并且支持边框项目地址:https://github.com/siyamed/android-shape-imageview效果图:

七、ProgressBar

SmoothProgressBar水平进度条项目地址:https://github.com/castorflex/SmoothProgressBarDemo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sampleProgressWheel支持进度显示的圆形ProgressBar项目地址:https://github.com/Todd-Davies/ProgressWheelDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=trueandroid-square-progressbar在图片周围显示进度项目地址:https://github.com/mrwonderman/android-square-progressbarDemo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_exampleAPP示例:square效果图:HoloCircularProgressBarAndroid4.1 时钟App样式项目地址:https://github.com/passsy/android-HoloCircularProgressBarAPP示例:Android4.1时钟App效果图:ProgressButton通过图钉的不同状态显示进度项目地址:https://github.com/f2prateek/progressbutton文档介绍:http://f2prateek.com/progressbutton/效果图:GoogleProgressBar类似google 多个圆形卡片翻转的progressBar项目地址:https://github.com/jpardogo/GoogleProgressBar效果图:TH-ProgressButton带圆形进度显示的按钮项目地址;https://github.com/torryharris/TH-ProgressButton效果图: NumberProgressBar带数字进度的进度条项目地址:https://github.com/daimajia/NumberProgressBar效果图:CircularProgressDrawable带圆形进度显示的进度条项目地址:https://github.com/Sefford/CircularProgressDrawable效果图:circular-progress-button带进度显示的Button项目地址:https://github.com/dmytrodanylyk/circular-progress-button效果图:

八、TextView

包括TextView及所有继承自TextView控件,如EditText、Button、RadioButtonandroid-flowtextview文字自动环绕其他View的Layout项目地址:https://code.google.com/p/android-flowtextview/效果图:http://i949.photobucket.com/albums/ad332/vostroman1500/1.pngAndroid Form EditText验证输入合法性的编辑框,支持输入、英文、ip、url等多种正则验证项目地址:https://github.com/vekexasia/android-edittext-validatorDemo地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexampleEmojicon支持emojis的TextView和EditText项目地址:https://github.com/rockerhieu/emojicon文档地址:http://rockerhieu.com/emojicon/android-circlebuttonAndroid圆形按钮,实际实现是继承自ImageView项目地址:https://github.com/markushi/android-circlebuttonDemo地址:https://github.com/markushi/android-circlebutton/blob/master/example/example.apkSegmented Radio Buttons for AndroidiOS’s segmented controls的实现项目地址:https://github.com/vinc3m1/android-segmentedradiobuttonDemo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true效果图:Chips EditText Library支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现项目地址:https://github.com/kpbird/chips-edittext-libraryDemo地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/binAutoFitTextView可固定边界内容字体大小自适应的TextView项目地址:https://github.com/grantland/android-autofittextviewShimmer for Android文字发淡光的TextView项目地址:https://github.com/RomainPiel/Shimmer-androidTitanic可以显示水位上升下降(不知道该怎么描述 囧)的TextView项目地址:https://github.com/RomainPiel/Titanic效果图:android-iconify提供带Icon的TextView,Menu,Button等项目地址:https://github.com/JoanZapata/android-iconifyCalligraphy让我们在android开发中使用自定义字体变得更加简单项目地址 :https://github.com/chrisjenx/Calligraphy效果图:CreditsRoll类似星球大战字幕效果的TextView项目地址:https://github.com/frakbot/CreditsRollandroid-process-buton带加载或提交进度的Button项目地址:https://github.com/dmytrodanylyk/android-process-butonFButton扁平化的Button项目地址:https://github.com/hoang8f/android-flat-buttonDemo地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demoFloatingActionButton一个类似Android版Google+浮动功能按钮的控件,可以响应ListView的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。项目地址:https://github.com/makovkastar/FloatingActionButtonDemo地址:https://github.com/makovkastar/FloatingActionButton/tree/master/效果图:Android SaripaarAndroid表单验证项目地址:https://github.com/ragunathjawahar/android-saripaar/JumpingBeans文字像 Mexican beans 一样跳动项目地址:https://github.com/frakbot/JumpingBeansDemo地址:http://play.google.com/store/apps/details?id=net.frakbot.jumpingbeans.demo效果图:FancyButtons一个不用图片就可以帮助我们创建出漂亮按钮的库。项目地址:https://github.com/medyo/fancybuttonsDemo地址:https://github.com/medyo/fancybuttons/tree/master/samples效果图: Android-RobotoTextView 一个实现了所有Roboto字体的TextView,包括新出的Roboto Slab字体。项目地址:https://github.com/johnkil/Android-RobotoTextViewDemo地址:http://play.google.com/store/apps/details?id=com.devspark.robototextviewDemo项目:https://github.com/johnkil/Android-RobotoTextView/tree/master/robototextview-sample效果图:Android-WizardPager一个表单向导库项目地址:https://github.com/romannurik/android-wizardpagerDemo项目:https://github.com/str4d/android-wizardpager/tree/textfield效果图:RippleView一个实现了 Android L上才引入的点击按钮后出现水波纹效果的按钮项目地址:https://github.com/siriscac/RippleViewDemo项目:https://github.com/siriscac/RippleView/tree/master/RippleViewExample效果图:Android Floating Label Widgets包含一系列控件,这些控件特点是:有默认值,当值不为空时默认值浮动到上面变为提示项目地址:https://github.com/marvinlabs/android-floatinglabel-widgetsDemo地址:https://play.google.com/store/apps/details?id=com.marvinlabs.widget.floatinglabel.demo在线演示:http://www.youtube.com/watch?v=hpZD9gJcRg0&feature=youtu.beMaterialEditTextEditText 的 Material Design 实现。包含 Google Material Design Spec中的UI效果和一些新增特性。项目地址:https://github.com/rengwuxian/MaterialEditTextMultiActionTextView可以分别给TextView中的某几个字设置点击事件的TextView。项目地址:https://github.com/ajaysahani/MultiActionTextView效果图:

九、ScrollView

Discrollview支持滚动时Item淡入淡出,平移,缩放效果的ScrollView项目地址:https://github.com/flavienlaurent/discrollviewDemo地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apkPullScrollView仿照新浪微博Android客户端个人中心的ScrollView,下拉背景伸缩回弹效果。项目地址:https://github.com/MarkMjw/PullScrollView效果图:ParallaxScrollView支持视差滚动的ScrollView ,背景图片的滚动速度小于ScrollView中子控件的滚动速度项目地址:https://github.com/chrisjenx/ParallaxScrollViewDemo地址:http://cloud.github.com/downloads/chrisjenx/ParallaxScrollView/ParallaxScrollViewDemo-v1.0.5.apkAKParallax-Android支持视差滚动的ScrollView项目地址:https://github.com/ideaismobile/AKParallax-AndroidDemo地址:https://play.google.com/store/apps/details?id=com.appkraft.parallax_sample

十、TimeView

包括TimePicker、DatePicker、CalendarView、Clock等时间相关控件android-times-squareAndroid日历时间部件,支持选取单个日期,多个日期,及日期区间段和对话框形式显示项目地址:https://github.com/square/android-times-squareDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=trueandroid-calendar-card日历项目地址:https://github.com/kenumir/android-calendar-cardDemo地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample效果图:AndroidWheelAndroid Wheel支持城市、多种日期时间、密码、图片项目地址:https://code.google.com/p/android-wheel/效果图:GoogleDateTimePickers时间选择部件项目地址:https://github.com/Mirkoddd/GoogleDateTimePickers文档地址:https://play.google.com/store/apps/details?id=com.mirko.sample&hl=itDateTimePicker日期选择部件(Google Agenda的样式风格)项目地址:https://github.com/flavienlaurent/datetimepickerDemo地址:https://raw.github.com/biboune/datetimepicker/master/datetimepicker-sample.apk效果图:android-betterpickers提供日期、数字、时间(数字方式和钟表方式)、重复周期(闹钟的周期重复)、HMS(时、分、秒)的选择,支持以DialogFragment的弹窗选择项目地址:https://github.com/derekbrameyer/android-betterpickersDemo地址:https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample 效果图:Android Week View日期控件,支持周,天视图,支持自定义样式项目地址:https://github.com/alamkanak/Android-Week-View效果图:

十一、TipView

包括Toast、角标、UndoBar等提示性控件Crouton丰富样式的Toast,允许alert、comfirm、info样式及点击消失样式,允许设置Toast显示时间,允许自定义View。 本文32. SuperToasts为其扩展版项目地址:https://github.com/keyboardsurfer/CroutonDemo地址:http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.croutonsupertooltips带动画效果的Tips显示项目地址:https://github.com/nhaarman/supertooltipsDemo地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltipsAndroid ViewBadger为其他View添加角标等项目地址:https://github.com/jgilfelt/android-viewbadgerDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true效果图:SuperToasts更丰富样式的toast,支持Button、Progress、Horizontal Progress样式、支持进入动画、支持撤销及其动画设置项目地址:https://github.com/JohnPersano/SuperToastsDemo地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo效果图:UndoBar屏幕底部显示取消或是确认的PopupWindows项目地址:https://github.com/soarcn/UndoBar效果图:UndoBar屏幕底部显示取消或是确认某操作项目地址:https://github.com/jenzz/Android-UndoBar效果图:Android-ActionItemBadge可以在ActionBar的MenuItem上显示一个小角标项目地址:https://github.com/mikepenz/Android-ActionItemBadge效果图:

十二、FlipView

android-flip类似Flipboard翻转动画的实现项目地址:https://github.com/openaphid/android-flipDemo地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=trueAPP示例:flipboardFlipImageView支持x、y、z及动画选择的翻转动画的实现项目地址:https://github.com/castorflex/FlipImageViewDemo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageviewFoldableLayoutFlip翻转效果的ListView,目前还不支持ListView缓存项目地址:https://github.com/alexvasilkov/FoldableLayoutDemo地址:http://play.google.com/store/apps/details?id=com.alexvasilkov.foldablelayout.sample

十三、ColorPickView

ColorPickerView颜色选择器,支持PopupWindows或新的Activity中打开项目地址:https://code.google.com/p/color-picker-view/效果图:HoloColorPicker颜色选择器项目地址:https://github.com/LarsWerkman/HoloColorPickerDemo地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/editColorPickerPreference颜色选择器项目地址:https://github.com/attenzione/android-ColorPickerPreference效果图:ColorPicker颜色选择器(Google Agenda中的样式风格)项目地址:https://github.com/flavienlaurent/colorpickerDemo地址:https://raw.github.com/biboune/colorpicker/master/colorpicker-sample.apk 效果图:

十四、GraphView

MPAndroidChart强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放;支持 Android 2.2 以上,支持横纵轴缩放,多指缩放,展现动画、高亮、保存到 sdcard、从文件读取图表项目地址:https://github.com/PhilJay/MPAndroidChartDemo地址:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexampleDemo项目:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample在线演示:https://www.youtube.com/watch?v=ufaK_Hd6BpI效果图:achartengine强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合项目地址:https://code.google.com/p/achartengine/官方网站:http://www.achartengine.org/效果图:http://www.achartengine.org/dimages/sales_line_and_area_chart.pnghttp://www.achartengine.org/dimages/temperature_range_chart.pnghttp://www.achartengine.org/dimages/combined_chart.pnghttp://www.achartengine.org/dimages/budget_chart.pngAPP示例:Wordpress Android,Google AnalyticsGraphView绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示项目地址:https://github.com/jjoe64/GraphViewDemo项目:https://github.com/jjoe64/GraphView-DemosAPP示例:Wordpress Android,Google AnalyticsHoloGraphLibrary绘制现状图、柱状图、饼状图项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/HomeXCL-ChartsXCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同时,给使用者提供足够多的定制化能力。因此使用简便,同时具有相当灵活的定制能力。目前支持3D/非3D柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆积图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(GaugeChart)、雷达图(Radar Chart)、圆形图(Circle Chart)等图表。其它特性还包括支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。项目地址:https://github.com/xcltapestry/XCL-ChartsDemo地址:https://github.com/xcltapestry/XCL-Charts/blob/master/XCL-Charts-demo/bin/XCL-Charts-demo.apk?raw=trueEazeGraphAndroid 图表库,支持柱状图、分层柱状图、饼状图、线性图项目地址:https://github.com/blackfizz/EazeGraphDemo地址:https://play.google.com/store/apps/details?id=org.eazegraph.appWilliamChart绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持 Android 2.2及以上的系统。项目地址:https://github.com/diogobernardino/WilliamChartDemo项目:https://github.com/diogobernardino/WilliamChart/tree/master/sampleDemo地址:https://play.google.com/store/apps/details?id=com.db.williamchartdemo效果图:HelloCharts for Android支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持 Android 2.2 以上项目地址:https://github.com/lecho/hellocharts-androidDemo地址:https://play.google.com/store/apps/details?id=lecho.lib.hellocharts.samples在线演示:https://www.youtube.com/watch?v=xbSBjyjH2SY

十五、UIStyle

不同样式的系统UI风格,如IOS、Bootstrap风格UITableViewios风格控件,包括Button、ListView、TableView项目地址:https://github.com/thiagolocatelli/android-uitableviewDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=trueATableViewios风格控件项目地址:https://github.com/dmacosta/ATableViewDemo地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demoCards-UI卡片式View,支持单个卡片,item为卡片的ListView项目地址:https://github.com/afollestad/Cards-UIDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=truecardslib卡片式View,支持单个卡片,item为卡片的ListView和GridView项目地址:https://github.com/gabrielemariotti/cardslibDemo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demoAndroid-BootstrapBootstrap 风格的按钮项目地址:https://github.com/Bearded-Hen/Android-Bootstrap效果图:Material Design Android LibraryAndroid L 中 Material Design 风格的组件适配到 Android 2.2+项目地址:https://github.com/navasmdc/MaterialDesignLibraryAndroid FlatUIAndroid 扁平化风格的组件,支持一些自定义样式项目地址:https://github.com/eluleci/FlatUI效果图:

十六、其他

SwipeBackLayout左右或向上滑动返回的Activity项目地址:https://github.com/Issacw0ng/SwipeBackLayoutDemo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demoAPP示例:知乎android-styled-dialogs可自定义样式的dialog,默认与Holo主题样式一致,在Android2.2以上同一样式项目地址:https://github.com/inmite/android-styled-dialogsDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=trueAndroid Sliding Up Panel可拖动的View,能在当前Activity上扶起一个可拖动的Panel项目地址:https://github.com/umano/AndroidSlidingUpPanelDemo地址:https://play.google.com/store/apps/details?id=com.sothree.umanoAPP示例:Google Music精简播放栏AndroidWheelAndroid Wheel支持城市、多种日期时间、密码、图片项目地址:https://code.google.com/p/android-wheel/效果图:TableFixHeaders第一列固定的Table项目地址:https://github.com/InQBarna/TableFixHeadersDemo地址:http://bit.ly/13buAIqInscription可用于展示应用change和new feature信息项目地址:https://github.com/MartinvanZ/InscriptionActivityTransitionActivity切换动画,包括渐变、flip、某个位置进入等等项目地址:https://github.com/ophilbert/ActivityTransition使用介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true效果图:类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已EasyAndroidAnimations针对View的各种动画项目地址:https://github.com/2359media/EasyAndroidAnimationsGlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+项目地址:https://github.com/rock3r/GlowPadBackportDemo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample效果图:GlowPadViewAndroid4锁屏界面解锁项目地址:https://github.com/nadavfima/GlowPadView效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.pngandroid-lockpatternAndroid的图案密码解锁项目地址:https://code.google.com/p/android-lockpattern/Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUseAPP示例:Android开机的图案密码解锁,支付宝的密码解锁RangeBar类似于SeekBar,不同的是可以选择一个范围内的值而不是单个值项目地址:https://github.com/edmodo/range-barDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true效果图: ChromeView利用Chromium实现的WebView,解决各个Android版本WebView不同的问题,同时利用最新Chrome代码项目地址:https://github.com/pwnall/chromeviewandroid-phased-seek-bar支持预先定义状态的SeekBar项目地址:https://github.com/ademar111190/android-phased-seek-bar效果图: Android Slider Preference Library可添加到设置中的基于对话框的RankBar小部件项目地址:https://github.com/jayschwa/AndroidSliderPreferenceShowcaseView library用于高亮显示应用程序的特定部分,从而突出突出重点项目地址:https://github.com/amlcurran/ShowcaseViewandroid-segmented-controlAndroid上的Segmented Controls,相当于RadioButton组项目地址:https://github.com/hoang8f/android-segmented-controlSwipeable Cards类似Tinder的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢项目地址:https://github.com/kikoso/Swipeable-CardsDemo地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demoEdgeEffectOverride改变ScrollView, ListView, ExpandableListView, GridView, ViewPager等滚动控件滚动到边缘的颜色效果项目地址:https://github.com/AndroidAlliance/EdgeEffectOverrideandroid-pinned-header-listviews使ExpandListView的Group滑动到顶端时会固定不动直到另外一个Group到达顶端项目地址:https://github.com/rtyley/android-pinned-header-listviewsAndroidSwipeLayout滑动Layout,支持单个View,ListView,GridView项目地址:https://github.com/daimajia/AndroidSwipeLayoutDemo地址:Download Demo效果图: DynamicCardLayout在Android中实现的类似Windows8的瓷片布局项目地址:https://github.com/dodola/DynamicCardLayout效果图: Emoticons-Keyboard带表情情符号的自定义键盘项目地址:https://github.com/chiragjain/Emoticons-Keyboard效果图: Android Typeface Helper可以帮你轻松实现自定义字体的库项目地址:https://github.com/norbsoft/android-typeface-helper效果图: Android-Anim-Playground几个动画效果,其中第二个基于android-svg的绘制效果非常好项目地址:https://github.com/Tibolte/Android-Anim-Playground效果图: NiftyDialogEffects支持自定义飞入动画样式的 Dialog项目地址:https://github.com/sd6352051/NiftyDialogEffects效果图: 在线演示:http://tympanus.net/Development/ModalWindowEffects/PostOffice创建 Holo 及 Material Design 样式的 Dialog项目地址:https://github.com/r0adkll/PostOffice效果图: Swipecards类似Tinder的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢,根据 Kikoso's Swipeable-Cards 改造而来项目地址:https://github.com/Diolor/SwipecardsSeekArc圆形的 SeekBar项目地址:https://github.com/TriggerTrap/SeekArc效果图: BlurDialogFragment显示 DialogFragment 时背景模糊效果项目地址:https://github.com/tvbarthel/BlurDialogFragmentDemo地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.lib.blurdialogfragment.sample

第二部分工具库

主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。

一、依赖注入DI

通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作AndroidAnnotations(Code Diet)android快速开发框架项目地址:https://github.com/excilys/androidannotations文档介绍:https://github.com/excilys/androidannotations/wiki官方网站:http://androidannotations.org/特点:(1) 依赖注入:包括view,extras,系统服务,资源等等(2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程(3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类(4) REST客户端:定义客户端接口,自动生成REST请求的实现(5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类(6) 不影响应用性能:仅50kb,在编译时完成,不会对运行时有性能影响。PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响roboguice帮你处理了很多代码异常,利用annotation使得更少的代码完成项目项目地址:https://github.com/roboguice/roboguice文档介绍:https://github.com/roboguice/roboguice/wikibutterknife利用annotation帮你快速完成View的初始化,减少代码项目地址:https://github.com/JakeWharton/butterknife文档介绍:http://jakewharton.github.io/butterknife/Dagger依赖注入,适用于Android和Java项目地址:https://github.com/square/dagger文档介绍:http://square.github.io/dagger/

二、图片缓存

Android-Universal-Image-Loader图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。项目地址:https://github.com/nostra13/Android-Universal-Image-LoaderDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.htmlpicassosquare开源的图片缓存项目地址:https://github.com/square/picasso文档介绍:http://square.github.io/picasso/特点:(1)可以自动检测adapter的重用并取消之前的下载(2)图片变换(3)可以加载本地资源(4)可以设置占位资源(5)支持debug模式ImageCache图片缓存,包含内存和Sdcard缓存项目地址:https://github.com/Trinea/AndroidCommonDemo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo文档介绍:http://www.trinea.cn/android/android-imagecache/特点:(1)支持预取新图片,支持等待队列(2)包含二级缓存,可自定义文件名保存规则(3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法(4)可方便的保存及初始化恢复数据(5)支持不同类型网络处理(6)可根据系统配置初始化缓存等Cube ImageLoader阿里巴巴一淘使用的图片加载,综合了Android-Universal-Image-Loader 和 square 等组件优点,简单易用,良好的中文文档支持项目地址:https://github.com/etao-open-source/cube-sdkDemo地址:https://github.com/liaohuqiu/cube-sdk/raw/master/cube-sdk-sample.apk文档介绍:http://cube-sdk.liaohuqiu.net/效果图:

三、网络相关

Asynchronous Http Client for AndroidAndroid异步Http请求项目地址:https://github.com/loopj/android-async-http文档介绍:http://loopj.com/android-async-http/特点:(1) 在匿名回调中处理请求结果(2) 在UI线程外进行http请求(3) 文件断点上传(4) 智能重试(5) 默认gzip压缩(6) 支持解析成Json格式(7) 可将Cookies持久化到SharedPreferencesandroid-query异步加载,更少代码完成Android加载项目地址:https://github.com/androidquery/androidqueryhttps://code.google.com/p/android-query/文档介绍:https://code.google.com/p/android-query/#Why_AQuery?Demo地址:https://play.google.com/store/apps/details?id=com.androidquery特点:https://code.google.com/p/android-query/#Why_AQuery?Async Http ClientJava异步Http请求项目地址:https://github.com/AsyncHttpClient/async-http-client文档介绍:http://sonatype.github.io/async-http-client/Ion支持图片、json、http post等异步请求项目地址:https://github.com/koush/ion文档介绍:https://github.com/koush/ion#more-examplesHttpCacheHttp缓存项目地址:https://github.com/Trinea/AndroidCommonDemo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo文档介绍:http://www.trinea.cn/android/android-http-cache特点是:(1) 根据cache-control、expires缓存http请求(2) 支持同步、异步Http请求(3) 在匿名回调中处理请求结果(4) 在UI线程外进行http请求(5) 默认gzip压缩Http Request项目地址:https://github.com/kevinsawicki/http-request文档介绍:https://github.com/kevinsawicki/http-request#examplesokhttpsquare开源的http工具类项目地址:https://github.com/square/okhttp文档介绍:http://square.github.io/okhttp/特点:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短加载时间。(2) 如果SPDY不可用,利用连接池减少请求延迟(3) Gzip压缩(4) Response缓存减少不必要的请求RetrofitRESTFUL API设计项目地址:https://github.com/square/retrofit文档介绍:http://square.github.io/retrofit/RoboSpiceAndroid异步网络请求工具,支持缓存、REST等等项目地址:https://github.com/stephanenicolas/robospiceDemo地址:https://github.com/stephanenicolas/RoboDemo/downloads

四、数据库orm工具包

orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作greenDAOAndroid Sqlite orm的db工具类项目地址:https://github.com/greenrobot/greenDAO文档介绍:http://greendao-orm.com/documentation/官方网站:http://greendao-orm.com/特点:(1) 性能佳(2) 简单易用的API(3) 内存小好小(4) 库大小小ActiveAndroidAndroid Sqlite orm的db工具类项目地址:https://github.com/pardom/ActiveAndroid文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pagesSprinklesAndroid Sqlite orm的db工具类项目地址:https://github.com/emilsjolander/sprinkles文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/特点:比较显著的特点就是配合https://github.com/square/retrofit 能保存从服务器获取的数据Realm移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好项目地址:https://github.com/realm/realm-java文档介绍:http://realm.io/docs/java/0.72.0/ormlite-android项目地址:https://github.com/j256/ormlite-android文档介绍:http://ormlite.com/sqlite_java_android_orm.shtmlSchematic根据SQLite生成ContentProvider项目地址:https://github.com/SimonVT/schematic

五、Android公共库

GuavaGoogle的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVa代码更加优雅,更加简洁项目地址:https://code.google.com/p/guava-libraries/文档介绍:https://code.google.com/p/guava-libraries/wiki/GuavaExplainedVolleyGoogle提供的网络通信库,使得网络请求更简单、更快速项目地址:https://android.googlesource.com/platform/frameworks/volleyGithub地址:https://github.com/mcxiaoke/android-volley文档地址:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdfAndroidCommonAndroid公共库项目地址:https://github.com/Trinea/AndroidCommonDemo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo文档介绍:http://www.trinea.cn/android/android-common-lib/包括:(1)缓存(图片缓存、预取缓存、网络缓存)(2) 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)(3) Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)shipfaster整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速开发项目地址:https://github.com/pyricau/shipfasterCleanAndroidCode整合了Dagger Otto AndroidAnnotations,方便快速开发项目地址:https://github.com/pyricau/CleanAndroidCodexUtils基于Afinal,包含DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于快速开发项目地址:https://github.com/wyouflf/xUtilsAfinalAfinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据项目地址:https://github.com/yangfuhai/afinal官方网站:http://www.afinal.orgUltimateAndroidUltimateAndroid是一个快速开发Android应用的框架,框架目前主要包含的功能有View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘LRU等功能.同时提供了类似于TripleDes、Webview快速设置、Md5处理、String处理,Https处理等常用工具类,还有超过100多种UI控件效果。项目地址:https://github.com/cymcsg/UltimateAndroid官方网站:http://blog.marshalchen.com/UltimateAndroid/

六、Android高版本向低版本兼容

ActionBarSherlock为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题项目地址:https://github.com/JakeWharton/ActionBarSherlockDemo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demosAPP示例:太多了。。现在连google都在用Nine Old Androids将Android 3.0(Honeycomb)所有动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0项目地址:https://github.com/JakeWharton/NineOldAndroidsDemo地址:https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample文档介绍:http://nineoldandroids.com/HoloEverywhere将Android 3.0的Holo主题兼容到Android2.1++项目地址:https://github.com/Prototik/HoloEverywhereDemo地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk文档介绍:http://android-developers.blogspot.com/2012/01/holo-everywhere.htmlSherlockNavigationDrawer将Android NavigationDrawer和ActionbarSherlock结合,解决4.0以下NavigationDrawer的适配问题项目地址:https://github.com/tobykurien/SherlockNavigationDrawer文档地址:http://developer.android.com/training/implementing-navigation/nav-drawer.htmlNotifications4EveryWhere将Android 4.1的Notification兼容到Android2.2++项目地址:https://github.com/youxiachai/Notifications4EveryWhereAndroid Switch Widget Backport将Android Switch和SwitchPreference的兼容到Android2.1++项目地址:https://github.com/BoD/android-switch-backportDemo地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample文档介绍:https://github.com/BoD/android-switch-backport#using-the-switchandroid-datepicker将Android 4.0的datepicker兼容到Android2.2++项目地址:https://github.com/SimonVT/android-datepickerGlowPadBackportAndroid 4.2的GlowPadView向后适配到API4以上项目地址:https://github.com/frakbot/GlowPadBackportTransitions EverywhereAndroid 4.4 的 Transitions API 兼容到 Android 2.2 以上项目地址:https://github.com/andkulikov/transitions-everywhere

七、多媒体相关

cocos2d-x跨平台的2d游戏框架,支持Android、IOS、Linux、Windows等众多平台项目地址:https://github.com/cocos2d/cocos2d-x文档介绍:http://www.cocos2d-x.org/wiki官方网站:http://www.cocos2d-x.org/Vitamio是一款Android与iOS平台上的全能多媒体开发框架项目地址:https://github.com/yixia/VitamioBundle网站介绍:http://www.vitamio.org/docs/特点:(1) 全面支持硬件解码与GPU渲染(2) 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频(3) 在Android与iOS上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播。PhotoProcessing利用ndk处理图片库,支持Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate(旋转)、Flip(翻转)等各种特效项目地址:https://github.com/lightbox/PhotoProcessingDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=trueAndroid StackBlur图片模糊效果工具类项目地址:https://github.com/kikoso/android-stackblurDemo地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true文档介绍:https://github.com/kikoso/android-stackblur#usageBitmap Smart Clipping using OpenCV图片智能裁剪保留重要部分显示项目地址:https://github.com/beartung/tclip-android利用淘宝的 http://code.taobao.org/p/tclip/ 库完成一淘玩客正在使用的图片裁剪,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域特点:(1). 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉(2).自动其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域Cropper图片局部剪切工具,可触摸控制选择区域或旋转项目地址:https://github.com/edmodo/cropper使用介绍:https://github.com/edmodo/cropper/wiki效果图:android-crop图片裁剪Activity项目地址:https://github.com/jdamcd/android-crop效果图:TileView可分块显示大图,支持2D拖动、双击、双指放大、双指捏合项目地址:https://github.com/moagrius/TileViewDemo地址:http://moagrius.github.io/TileView/TileViewDemo.apkBlurEffectForAndroidDesign图片模糊效果项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesignandroid-eyePC端网页查看同一局域网内的手机摄像头内容,可以用来监控哦项目地址:https://github.com/Teaonly/android-eyeDemo地址:https://play.google.com/store/apps/details?id=teaonly.droideyelibpng for AndroidPNG图片的jni库,支持几乎png的所有特性项目地址:https://github.com/julienr/libpng-android文档地址:http://www.libpng.org/pub/png/libpng.htmlandroid-gpuimage基于GPU的图片滤镜项目地址:https://github.com/CyberAgent/android-gpuimageAndroidFaceCropper图片脸部自动识别,将识别后的局部图片返回项目地址:https://github.com/lafosca/AndroidFaceCropperAndroid Video Crop利用TextureView播放和剪切视频,类似ImageView.setScaleType项目地址:https://github.com/dmytrodanylyk/android-video-cropDemo地址:https://github.com/lafosca/AndroidFaceCropper/releases/download/1.0/FaceCropper-sample-debug-unaligned.apksvg-androidAndroid Svg矢量图形支持项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-androidAndroid Visualizer从Android MediaPlayer获得音频,然后像iTunes及WinAmp一样展示音轨项目地址:https://github.com/felixpalmer/android-visualizerExoPlayer包括仪表板和SmoothStreaming自适应回放,缓存持久化和自定义渲染器,方便自定义和扩展,并且可以通过应用商店更新项目地址:https://github.com/google/ExoPlayerDanmakuFlameMasterandroid上开源弹幕解析绘制引擎项目项目地址:https://github.com/ctiao/DanmakuFlameMaster

八、事件总线(订阅者模式)

通过发布/订阅事件解耦事件发送和接受,从而简化应用程序组件(Activities, Fragments及后台线程)之间的通信EventBusgreenrobot的开源项目项目地址:https://github.com/greenrobot/EventBus文档介绍:https://github.com/greenrobot/EventBus#general-usage-and-api特点:(1) 支持在不同类型的线程中处理订阅,包括发布所在线程,UI线程、单一后台线程、异步线程(2) 支持事件优先级定义,支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播很像啊(3) 不是基于annotations(4) 性能更优(5) 体积小(6) 支持单例创建或创建多个对象(7) 支持根据事件类型订阅OttoSquare的开源项目,基于Guava的Android优化项目地址:https://github.com/square/otto文档介绍:http://square.github.io/otto/EventBus与Otto的功能及性能对比文档EventBus与Otto性能对比Demo Apk

九、传感器

Great Android Sensing ToolkitAndroid感应器工具包,包含示例及使用过程中可能需要的算法项目地址:https://github.com/gast-lib/gast-libDemo地址:https://play.google.com/store/apps/details?id=root.gast.playground文档介绍:https://github.com/gast-lib/gast-lib#documentationSensorManagerAndroid传感器管理项目地址:https://github.com/nlathia/SensorManager文档介绍:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/editGPSLogger记录GPS信息项目地址:https://github.com/mendhak/gpsloggerDemo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger文档介绍:http://code.mendhak.com/gpslogger/Pedometer计步器,使用硬件计步感应器项目地址:https://github.com/j4velin/PedometerleapcastChromeCast模拟器的App项目地址:https://github.com/dz0ny/leapcastArduino-Communicator与Arduino通信的App项目地址:https://github.com/jeppsson/Arduino-Communicatorandroid-pedometerAndroid计步器项目地址:https://github.com/bagilevi/android-pedometerDemo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apkOwnTracks for Android自己的轨迹记录项目地址:https://github.com/owntracks/androidShake Detector library for AndroidAndroid手机震动摇晃检测库,提供供UI线程调用的回调接口项目地址:https://github.com/tbouron/ShakeDetectorDemo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.exampleAndroid heart rate monitorAndroid心跳检测项目地址:https://github.com/phishman3579/android-heart-rate-monitorBluetooth LE Library for Android蓝牙源信息,包括宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息项目地址:https://github.com/alt236/Bluetooth-LE-Library---AndroidDemo地址:https://play.google.com/store/apps/details?id=uk.co.alt236.btlescanfarebot通过NFC 从公交卡中读取数据的一个应用项目地址:https://github.com/codebutler/farebot

十、安全

SQLCipherSqlite加密工具项目地址:https://github.com/sqlcipher/sqlcipher帮助文档:http://sqlcipher.net/sqlcipher-for-android/Conceal快速高效的进行文件加密解密项目地址:https://github.com/facebook/conceal文档介绍:https://github.com/facebook/conceal#usageAndroid-PasscodeLock应用锁,每次启动或从任何Activity启动应用都需要输入四位数字的密码方可进入项目地址:https://github.com/wordpress-mobile/Android-PasscodeLockDemo地址:https://play.google.com/store/apps/details?id=org.wordpress.androidAPP示例:Wordpress Android,支付宝,挖财GlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+项目地址:https://github.com/rock3r/GlowPadBackportDemo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample效果图:GlowPadViewAndroid 4锁屏界面解锁项目地址:https://github.com/nadavfima/GlowPadView效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.pngandroid-lockpatternAndroid的图案密码解锁项目地址:https://code.google.com/p/android-lockpattern/Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUseAndroid-InsecureBank关于 Android 不安全性的示例项目地址:https://github.com/dineshshetty/Android-InsecureBankv2

十一、插件化

更多见:Android 插件化作用、概念以及不错的资料(包括开源项目)和解决方案dynamic-load-apkAndroid 动态加载Apk,热部署,利用 ClassLoader 以及 Activity 代理的方式解决项目地址:https://github.com/singwhatiwanna/dynamic-load-apk文档介绍:/article/1386833.htmlAndroid Dynamic Loader点评的实现方式,和上面不同的是:他不是用代理 Activity 的方式实现而是用 Fragment 以及 Schema 的方式实现项目地址:https://github.com/mmin18/AndroidDynamicLoaderDemo地址:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apkxCombineAndroid App插件式插件开发,插件必须先安装,更推荐看上面两个开源项目项目地址:https://github.com/wyouflf/xCombine文档介绍:http://my.oschina.net/u/1171837/blog/155377Android Plugin FrameworkAndroid插件式开发,开放的源码目前不完整项目地址:https://github.com/umeng/apfmultidex安装多 dex 的 classloader项目地址:https://github.com/casidiablo/multidexANR-WatchDogAndroid ANR 监听,通过监听自己的 UI Thread 是否被执行确定是否发生了 ANR,并可以设置相关事件项目地址:https://github.com/SalomonBrys/ANR-WatchDog

十二、文件

对不同文档类型的处理,包括PDF、Word、EPub、Html、Zip等purePDF允许从任何运行的SWF文件读取和创建PDF文档项目地址:https://github.com/sephiroth74/purePDFandroid-pdfview快速解析pdf的view,默认支持手势缩放和相关动画项目地址:https://github.com/JoanZapata/android-pdfviewOffice 365 SDK for Android Preview可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail项目地址:https://github.com/OfficeDev/Office-365-SDK-for-AndroidOpenSpritz-AndroidEPub阅读器项目地址:https://github.com/OnlyInAmerica/OpenSpritz-Androidjsoup一个解析html的java库,可方便的提取和操作数据项目地址:https://github.com/jhy/jsoup官方网站:http://jsoup.org/作用:(1) 从一个url、文件或string获得html并解析(2) 利用dom遍历或css选择器查找、提取数据(3) 操作html元素(4) 根据白名单去除用于提交的非法数据防止xss攻击(5) 输出整齐的htmlZIPjava压缩和解压库项目地址:https://github.com/zeroturnaround/zt-zip文档介绍:https://github.com/zeroturnaround/zt-zip#examples作用:(1) 解压和压缩,并支持文件夹内递归操作(2) 支持包含和排除某些元素(3) 支持重命名元素(4) 支持遍历zip包内容(5) 比较两个zip包等功能

十三、其他

Salvage view带View缓存的Viewpager PagerAdapter,很方便使用项目地址:https://github.com/JakeWharton/salvageAndroid Priority Job QueueAndroid后台任务队列项目地址:https://github.com/path/android-priority-jobqueue文档介绍:https://github.com/path/android-priority-jobqueue#getting-startedCobub Razor开源的mobile行为分析系统,包括web端、android端,支持ios和window phone项目地址:https://github.com/cobub/razorDemo地址:http://demo.cobub.com/razor网站介绍:http://dev.cobub.com/CountlyAndroid移动端数据采集分析系统项目地址:https://github.com/Countly/countly-sdk-android官网地址:https://count.ly/aFileChooser文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。项目地址:https://github.com/iPaulPro/aFileChooserandroidpn基于xmpp协议的消息推送解决方案,包括服务器端和android端。项目地址:https://github.com/dannytiehui/androidpnBoltsAndroid的异步编程模式项目地址:https://github.com/BoltsFramework/Bolts-Android/与AsyncTask比较:(1) 使用的是无大小限制的线程池(2) 任务可组合可级联,防止了代码耦合CastCompanionLibrary-android使Android程序中更快的接入Google Cast项目地址:https://github.com/googlecast/CastCompanionLibrary-android文档介绍:https://developers.google.com/cast/CastVideos-android从Android设备分享Video通过Google Cast项目地址:https://github.com/googlecast/CastVideos-android文档介绍:https://developers.google.com/cast/Uninstall_StaticsAndroid应用自身被卸载监听及打开浏览器等反馈功能实现项目地址:https://github.com/sevenler/Uninstall_Statics文档介绍:http://www.cnblogs.com/zealotrouge/p/3157126.html/article/7018508.htmlMemento保证在系统配置改变时,Activity中的某些数据可以简单安全的保持不变项目地址:https://github.com/mttkay/memento文档介绍:https://github.com/mttkay/memento#usageFreeFlow布局引擎,更简单的创建自定义布局,并且当数据和布局改变时更美观的过渡动画项目地址:https://github.com/Comcast/FreeFlowDemo地址:https://github.com/Comcast/FreeFlow/releasesAndroid Gesture Detectors FrameworkAndroid手势框架,支持双指旋转、移动、平移、缩放等项目地址:https://github.com/Almeros/android-gesture-detectorsMapbox Android SDKAndroid Map的替代版项目地址:https://github.com/mapbox/mapbox-android-sdkActivity animationActivity跳转动画,支持各个方向波浪的效果项目地址:https://github.com/flavienlaurent/activityanimation在线演示:https://www.youtube.com/watch?v=-E0sc6w_JckKryoNet通过NIO提供客户端和服务器端TCP/UDP网络传输的Java库项目地址:https://github.com/EsotericSoftware/kryonetRebound一个模仿弹簧反弹的Java库,可用于创建动画项目地址:https://github.com/facebook/reboundAndroid Social Networks社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、添加或删除好友项目地址:https://github.com/antonkrasov/AndroidSocialNetworksDemo地址:https://play.google.com/store/apps/details?id=com.github.androidsocialnetworks.apidemosSmartAppUpdatesAndroid App 增量升级,包含前后端方案、Demo、以及 so 库,可用于商店或大体积 App 差分升级项目地址:https://github.com/cundong/SmartAppUpdatesMagnet创建类似 Facebook 聊天桌面悬浮窗的效果项目地址:https://github.com/premnirmal/MagnetParceler通过注解及工具类自动完成实体类 Parcelable及值传递项目地址:https://github.com/johncarl81/parcelerAcDisplay将 Android 的通知都集中到锁屏显示项目地址:https://github.com/AChep/AcDisplayDemo地址:https://play.google.com/store/apps/details?id=com.achep.acdisplayQrCodeScanZXing和ZBar结合的二维码扫描项目,提高了扫描效率项目地址:https://github.com/SkillCollege/QrCodeScan项目截图:Android-ScreenShot实现android系统截屏功能项目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService文档介绍:/article/1522417.htmlcard.io SDK for Android信用卡扫描 Android SDK项目地址:https://github.com/card-io/card.io-Android-SDKDemo项目:https://github.com/card-io/card.io-Android-SDK/tree/master/SampleAppASNETwitter, Facebook, Google Plus, LinkedIn, Instagram, Vkontakte, Odnoklassniki 的集成库,包括他们的大多数功能项目地址:https://github.com/gorbin/ASNEDemo地址:https://play.google.com/store/apps/details?id=com.gorbin.androidsocialnetworksextended.asneAndroid Signature PadAndroid 自定义的签名 View,可自定义笔颜色和大小项目地址:https://github.com/gcacace/android-signaturepadDemo项目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-ExampleTeleportAndroid Wear 数据同步和消息传送库项目地址:https://github.com/Mariuxtheone/TeleportDebugLog可以帮你创建更简单和更容易理解的调试日志,能够友好的显示调试信息所在类和函数。项目地址:https://github.com/MustafaFerhan/DebugLog项目截图:

第三部分优秀项目

主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好。Linux项目地址:https://github.com/torvalds/linuxAndroid项目地址:https://android.googlesource.com/https://github.com/android以上两个项目,不解释(1) ZXing二维码扫描工具项目地址:https://github.com/zxing/zxinghttps://code.google.com/p/zxing/APK地址:https://play.google.com/store/apps/details?id=com.google.zxing.client.androidPS:现在市面上很多应用的二维码扫描功能都是从这个修改而来(2) photup编辑机批量上传照片到facebook上项目地址:https://github.com/chrisbanes/photupAPK地址:https://play.google.com/store/apps/details?id=uk.co.senab.photupPS:代码分包合理,很棒。不过这个项目依赖的开源项目比较多,比较难编译(3) github-androidGithub的Android客户端项目项目地址:https://github.com/github/androidAPK地址:https://play.google.com/store/apps/details?id=com.github.mobile(4) NotesMIUI便签项目地址:https://github.com/MiCode/NotesAPK地址:https://github.com/Trinea/TrineaDownload/blob/master/miui-note-demo.apk?raw=truePS:项目分包比较合理,相比较miui的文件管理器https://github.com/MiCode/FileExplorer 代码规范较好得多(5) weicuiyuan四次元-新浪微博客户端项目地址:https://github.com/qii/weiciyuanAPK地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan(6) gnucash-android一个记账理财软件项目地址:https://github.com/codinguser/gnucash-androidAPK地址:http://play.google.com/store/apps/details?id=org.gnucash.android(7) AntennaPod支持rss订阅、音乐订阅项目地址:https://github.com/danieloeh/AntennaPodAPK地址:https://play.google.com/store/apps/details?id=de.danoeh.antennapod(8) ChaseWhisplyProject打鬼游戏项目地址:https://github.com/tvbarthel/ChaseWhisplyProjectAPK地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply(9) Tweet Lanes功能完整的Twitter客户端项目地址:https://github.com/chrislacy/TweetLanesAPK地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android(10) Financius简单易用的记账程序项目地址:https://github.com/mvarnagiris/FinanciusAPK地址:https://play.google.com/store/apps/details?id=com.code44.finance(11) todo.txt-androidtodo.txt的官方Android应用项目地址:https://github.com/ginatrapani/todo.txt-androidAPK地址:https://play.google.com/store/apps/details?id=com.todotxt.todotxttouch(12) simpletask基于todo.txt官方应用的另一个客户端项目地址:https://github.com/mpcjanssen/simpletask-androidAPK地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo(13) Muzei Live Wallpaper定时更换桌面精美壁纸项目地址:https://github.com/romannurik/muzeiAPK地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei

第四部分开发工具及测试工具

主要介绍和Android开发工具和测试工具相关的开源项目。

一、开发效率工具

Parceler通过注解及工具类自动完成实体类 Parcelable及值传递 项目地址:https://github.com/johncarl81/parcelerJson2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel、Gson Annotations对应代码自动生成。期待后续的提取父类以及多url构建整个工程的功能项目地址:https://github.com/jonfhancock/JsonToJava在线演示:http://jsontojava.appspot.com/IntelliJ Plugin for Android Parcelable boilerplate code generationAndroid studio插件,生成Parcelable代码项目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin效果图:Android Holo Colors IntelliJ PluginAndroid studio插件,生成holo样式9 patch图片项目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin效果图:Android Drawable Factory用于生成各个分辨率的图片项目地址:https://github.com/tizionario/AndroidDrawableFactory效果图:SelectorChapek for AndroidAndroid Studio插件,可根据固定文件名格式资源自动生成drawable selectors xml文件。项目地址:https://github.com/inmite/android-selector-chapekAndroid Action Bar Style GeneratorAndroid ActionBar样式生成器,可在线选择ActionBar样式自动生成所需要的图片资源及xml文件项目地址:https://github.com/jgilfelt/android-actionbarstylegenerator在线演示:http://jgilfelt.github.io/android-actionbarstylegenerator/ButterKnifeZelezny用于快速生成ButterKnifeView注入代码的Android Studio/IDEA插件项目地址:https://github.com/inmite/android-butterknife-zeleznyRoboCoP利用Gradle task根据固定格式的json文件生成ContentProvider项目地址:https://github.com/mediarain/RoboCoPappiconsizes用于生成各个分辨率的图片项目地址:http://www.appiconsizes.com/Gradle Retrolambda PluginRetrolambda是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件,通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常运行项目地址:https://github.com/evant/gradle-retrolambdaDagger IntelliJ Plugindagger的intellij插件项目地址:https://github.com/square/dagger-intellij-pluginAndroid Gen Drawable Maven plugin在编译时根据SVG描述文件生成不同分辨率的jpg、png或点9图片项目地址:https://github.com/avianey/androidgendrawable-maven-pluginAndroid Asset Studio各种Android资源自动生成器,包括启动图标、ActionBar图标、通知栏图标、点9等项目地址:https://github.com/romannurik/AndroidAssetStudio在线演示:http://romannurik.github.io/AndroidAssetStudio/jsonschema2pojo根据Json内容生成java对象,支持jackjson和gson项目地址:https://github.com/joelittlejohn/jsonschema2pojo在线演示:http://www.jsonschema2pojo.org/9-Patch-Resizer自动生成 png 及点 9 图片的不同分辨率版本项目地址:https://github.com/redwarp/9-Patch-Resizer

二、开发自测相关

Quality Tools for AndroidAndroid测试及自测工具集合和示例项目地址:https://github.com/stephanenicolas/Quality-Tools-for-Androidandroid-test-kitGoogle的Android测试工具包括GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于快速写出可靠测试用例的API)项目地址:https://code.google.com/p/android-test-kit/文档介绍:https://code.google.com/p/android-test-kit/w/listrobolectric测试用例编写框架项目地址:https://github.com/robolectric/robolectricDemo地址:https://github.com/robolectric/robolectricsample文档介绍:http://robolectric.org/特点:(1). 不需要模拟器在一般JVM就可以运行测试用例(2). 能完成在真机上的大部分测试包括感应器其他的测试用例及相关模块Mock可见:android-mock, mockito, easy-mockAndroid FEST提供一些列方便的断言,可用于提高编写Android自测代码效率项目地址:https://github.com/square/fest-androidBoundBox可用于测试类各种访问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行测试完成的项目地址:https://github.com/stephanenicolas/boundboxHugo用于打印函数信息及执行时间的工具,仅在debug模式生效项目地址:https://github.com/JakeWharton/hugoscalpel在应用下面添加一层用于界面调试,待详细补充 // TODO项目地址:https://github.com/JakeWharton/scalpelAndroid Screenshot libraryAndroid截图工具类,用于在持续集成时截图项目地址:https://github.com/rtyley/android-screenshot-libsonar-android-lint-plugin将android lint的错误在sonar中展现项目地址:https://github.com/SonarCommunity/sonar-android

三、测试工具

Spoon可用于android不同机型设备自动化测试,能将应用apk和测试apk运行在不同机器上并生成相应测试报告。项目地址:https://github.com/square/spoonTencent APTAPT是腾讯开源的一个Android平台高效性能测试组件,提供丰富实用的功能,适用于开发自测、定位性能瓶颈;测试人员完成性能基准测试、竞品对比测试项目地址:https://github.com/stormzhang/APTEmmagee网易开源的性能测试工具,包括CPU、内存、网络流量、启动时间、电池状态等项目地址:https://github.com/NetEase/EmmageeAndroid py-uiautomatorpy-uiautomator是一个对Android uiautomator用python进行封装的测试框架.项目地址:https://github.com/xiaocong/uiautomator

四、开发及编译环境

Buckfacebook开源的Android编译工具,效率是ant的两倍。主要优点在于:(1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源减少增量编译时间实现(2) 可以在编译系统中生成编译规则而无须另外的系统生成编译规则文件(3) 编译同时可生成单元测试结果(4) 既可用于IDE编译也可用于持续集成编译(5) facebook持续优化中项目地址:https://github.com/facebook/buckAndroid Maven PluginAndroid Maven插件,可用于对android三方依赖进行管理。在J2EE开发中,maven是非常成熟的依赖库管理工具,可统一管理依赖库。项目地址:https://github.com/jayway/maven-android-pluginumeng-muti-channel-build-tool渠道打包工具项目地址:https://github.com/umeng/umeng-muti-channel-build-tool另可参见Google的构建系统Gradle:http://tools.android.com/tech-docs/new-build-system/user-guideGenymotion目前最好用最快的android模拟器项目地址:http://www.genymotion.com/Android studio集成控件: http://plugins.jetbrains.com/plugin/7269?pr=ideaCyril Mottier推荐:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/gradle-mvn-push方便的将Gradle的Artifacts上传到Maven仓库项目地址:https://github.com/chrisbanes/gradle-mvn-push文档介绍:https://github.com/chrisbanes/gradle-mvn-push#usageAndroid Emulator Plugin for JenkinsAndroid模拟器 jenkins插件,用于Jenkins做持续集成时跑模拟器测试项目地址:https://github.com/jenkinsci/android-emulator-pluginAndroid Maven Plugin管理应用所需要的依赖库。包括的构建工具有Maven、Gradle、ant、sbt项目地址:https://github.com/mosabua/maven-android-sdk-deployerSDK Manager Plugin下载和管理Android SDK的Gradle插件项目地址:https://github.com/JakeWharton/sdk-manager-pluginGradle Protobuf Plugin将.proto文件转换成Java文件的gradle插件项目地址:https://github.com/andrewkroh/gradle-protobuf-pluginChromeADBChrome 的 Adb 插件,当登录后,能看到所有连接的设备并操作,可以看应用、进程、内存及磁盘使用情况等项目地址:https://github.com/importre/chromeadb

五、其他

ViewServer允许app运行在任何手机上都可以用HierarchyViewer查看项目地址:https://github.com/romainguy/ViewServerGridWichterle for Android在整个系统上显示一个grid,用来帮助查看应用布局及使得布局更美观,可设置grid网格大小和颜色,android推荐48dp和8dp,可见 Android Design Guidelines – Metrics and Grids项目地址:https://github.com/inmite/android-grid-wichterleAPK地址:https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterlePS:比起hierarchyviewer相差甚远,不过偶尔可用来作为布局查看工具。Catlog手机端log查看工具,支持不同颜色显示、关键字过滤、级别过滤、进程id过滤、录制功能等项目地址:https://github.com/nolanlawson/Catlog在线演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcatPID Cat根据package查看logcat日志项目地址:https://github.com/JakeWharton/pidcatACRA应用崩溃信息日志上报到GoogleDoc工具,网页版展现结果三方开源地址https://github.com/BenoitDuffez/crashreportsviewer项目地址:https://github.com/ACRA/acra文档地址:https://github.com/ACRA/acra/wiki/BasicSetupCrashlytics提供丰富的应用崩溃信息日志收集轻量级,丰富,可自定义应用崩溃信息收集器,附有邮件通知项目地址:http://www.crashlytics.com/集成插件:AndroidStudio, Eclipse and IntelliJAndroid Resource Navigatorchrome插件,可以方便的查看github上android源码工程的styles.xml和themes.xml。主要功能:(1) 快速打开android styles.xml themes.xml(2) 方便在资源间跳转。styles.xml themes.xml文件中资源链接跳转,可以方便跳转到某个资源(3) 方便查找某个style和theme。chrome地址栏输入arn+tab+搜索内容回车即可(4) 自动下载不同分辨率下的drawable(5) 通过映射查找那些不是按照固定命名规则命名的style和theme项目地址:https://github.com/jgilfelt/android-resource-navigator在线演示:https://chrome.google.com/webstore/detail/android-resource-navigato/agoomkionjjbejegcejiefodgbckeebo?hl=en&gl=GBandroid-resource-remover根据lint的提示删除项目中无用的资源,减少包的大小项目地址:https://github.com/KeepSafe/android-resource-removerTelescope通过手势截图以特定主题发送到特定邮箱地址报告Bug项目地址:https://github.com/mattprecious/telescopeComplete Android Fragment & Activity Lifecycle完整的Android Fragment/Activity生命周期图项目地址:https://github.com/xxv/android-lifecycleBugsnag Notifier for Android通过
Thread.UncaughtExceptionHandler
捕获应用未处理的异常崩溃 Bug 并用 Notification 展示同时上传到后台服务器项目地址:https://github.com/bugsnag/bugsnag-android文档地址:https://github.com/bugsnag/bugsnag-android#installation--setupMaterial Design IconsGoogle Material Design 规范中的 Icon项目地址:https://github.com/google/material-design-iconsscrollscreenshotAndroid 滚动屏幕自动截图 jar 包,支持纵向、横向滚动截屏拼接项目地址:https://github.com/PGSSoft/scrollscreenshot效果图:

第五部分

主要介绍那些乐于分享并且有一些很不错的开源项目的个人和组织。Follow大神,深挖大神的项目和following,你会发现很多。

一、个人

JakeWharton就职于Square,绝对牛逼的大神,项目主要集中在Android版本兼容,ViewPager及开发工具上Github地址:https://github.com/JakeWharton代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpelpidcat另外对square及其他开源项目有很多贡献主页:http://jakewharton.com/Chris BanesGithub地址:https://github.com/chrisbanes代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh主页:http://chris.banes.me/Koushik Dutta就职于ClockworkModGithub地址:https://github.com/koush代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外对https://github.com/CyanogenMod 的开源项目有很多贡献主页:http://koush.com/Simon VigGithub地址:https://github.com/SimonVT代表作:android-menudrawer,MessageBar主页:http://simonvt.net/Manuel PeinadoGithub地址:https://github.com/ManuelPeinado代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeaderEmil Sj?landerGithub地址:https://github.com/emilsjolander代表作:StickyListHeaders,sprinkles,android-FlipView主页:http://emilsjolander.se/greenrobotGithub地址:https://github.com/greenrobot代表作:greenDAO,EventBus主页:http://greenrobot.de/Jeff GilfeltGithub地址:https://github.com/jgilfelt代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper主页:http://jeffgilfelt.comRomain GuyAndroid team成员(2013.10已离开Android team,仍在Google)Github地址:https://github.com/romainguy代表作:ViewServer主页:http://www.curious-creature.org/category/android/個人攝影作品:http://www.flickr.com/photos/romainguysephiroth74就职于Aviary.comGithub地址:https://github.com/sephiroth74代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF主页:http://www.sephiroth.it/Cyril MottierGoogle开发者专家认证,发布一些Android技巧及文章Github地址:https://github.com/cyrilmottier代表作:GreenDroid,Polaris主页:http://cyrilmottier.com/

二、组织

Square有态度有良心的企业,很多不错的分享Github地址:https://github.com/square代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等主页:http://square.github.io/Inmite s.r.o.Github地址:https://github.com/inmite代表作:android-styled-dialogs,android-grid-wichterle,android-selector-chapek主页:http://www.inmite.eu/

三、博客

部分国外著名 Android 开发者信息

License

Copyright 2014 trinea.cn

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
转自:http://blog.csdn.net/yuxiaohui78/article/details/47437767?ref=myread[/code]
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: