太长了,还是转载吧...
今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计、个性化控件、工具库、优秀的Android开源项目、开发测试工具、优秀个人和团体等。可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消化吸收并加以利用,可以为自己的APP增色不少。文章最后还列出了部分国外著名android开发者的信息,包括GitHub地址和博客地址。总之,作为一个Android开发者,看了这篇文章一定会受益匪浅。
以下是正文:
Android开源项目分类汇总
如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:(入群理由必须填写群简介问题答案) 214742675(五群) 377723625(一群已满) 383537512(二群已满) 63224677(三群已满) 148844489(四群已满) 不要重复加群
欢迎大家推荐好的Android开源项目,可直接" style="color: rgb(65, 131, 196); text-decoration: none; background-color: transparent;">Commit,欢迎Star
、Fork
:)
关于我,欢迎关注微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com QQ:717763774
更多:Android 开源库获取途径整理
对你有帮助的话,顺手去知乎点个赞吧:优秀的 Android 开源项目、特效推荐
目前包括:
Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他Android开源项目第二篇——工具库篇 包括依赖注入、图片缓存、网络相关、数据库ORM工具包、Android公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他Android开源项目第三篇——优秀项目篇 比较有意思的完整的Android项目Android开源项目第四篇——开发及测试工具篇 包括开发效率工具、开发自测相关、测试工具、开发及编译环境、其他Android开源项目第五篇——优秀个人和团体篇 乐于分享并且有一些很不错的开源项目的个人和组织,包括JakeWharton、Chris Banes、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-pulltorefresh
DropDownListView下拉刷新及滑动到底部加载更多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 Android
SwipeListView支持定义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_code
PinnedHeaderExpandableListView首先它是一个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/PinnedHeaderListView
QuickReturnListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现项目地址:https://github.com/lawloretienne/QuickReturnDemo地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturn
QuickReturnHeaderListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现项目地址:https://github.com/ManuelPeinado/QuickReturnHeaderDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=trueAPP示例:google plus
IndexableListViewListView右侧会显示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.png
SlideExpandableListView用户点击listView item滑出固定区域,其他item的区域收缩项目地址:https://github.com/tjerkw/Android-SlideExpandableListViewDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true
JazzyListViewListView及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.0
DevsmartLib-Android横向ListView项目地址:https://github.com/dinocore1/DevsmartLib-AndroidDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true
TwoWayView横向ListView的效果,继承自AdapterView项目地址:https://github.com/lucasr/twoway-view
HorizontalVariableListView支持Item宽度不一致的ListView项目地址:https://github.com/sephiroth74/HorizontalVariableListView
LinearListView用LinearLayout实现的ListView,可解决多个ListView并存等问题。目前自己也有需要,等亲自尝试过后会再具体介绍项目地址:https://github.com/frankiesardo/LinearListView
MultiChoiceAdapter支持多选的ListView Adapter项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapterDemo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo
EnhancedListView支持横向滑动删除列表项以及撤销删除的ListView,该项目的前身是SwipeToDismissUndoList项目地址:https://github.com/timroes/EnhancedListViewDemo地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemo
ListBuddies自动滚动的双列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效果展示:
PagingListView分页加载的ListView。当滑动到ListView底部最后一个元素时,显示一个进度行,然后加载下一页数据,并显示。项目地址:https://github.com/nicolasjafelle/PagingListView
PullZoomView支持下拉时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-recyclerview
PullSeparateListView到达顶部或底部继续拉动时,实现Item间的相互分离,两种模式:(1) 全部分离的模式,即屏幕内所有Item都会分离 (2)部分分离模式,以点击位置为分界点,部分item分离项目地址:https://github.com/chiemy/PullSeparateListView效果展示:
ExpandableLayoutHeader 和 Content Item 都可以展开的 ExpandableListview项目地址:https://github.com/traex/ExpandableLayout
PagedHeadListView支持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 app
SlidingMenu滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单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效果图:
android-satellite-menu类似Path的左下角动画旋转菜单项目地址:https://github.com/siyamed/android-satellite-menuDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=trueAPP示例:Path
radial-menu-widget圆形菜单,支持二级菜单项目地址:https://code.google.com/p/radial-menu-widget/效果图:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpg
Android 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.sample
android-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/salvage
Android PagerSlidingTabStrip配合ViewPager使用的Indicator,支持ViewPager Scroll时Indicator联动项目地址:https://github.com/astuetz/PagerSlidingTabStripDemo地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample
ViewPager3DViewPager3D效果项目地址:https://github.com/inovex/ViewPager3D
AnimaTabsview仿网易云音乐标签切换的动画,带透明小三角项目地址:https://github.com/wuyexiong/transparent-over-animtabsview在线演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.html
LoopingViewPager无限循环的ViewPager项目地址:https://github.com/imbryk/LoopingViewPager
android_page_curl翻书卷曲效果项目地址:https://github.com/harism/android_page_curl在线演示:https://www.youtube.com/watch?v=iwu7P5PCpswAPP示例:iReader
ViewPagerIndicator简化并实现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=true
StickyGridHeadersGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的GridView项目地址:https://github.com/TonicArtos/StickyGridHeaders效果图:
PagedDragDropGridItem可拖动交换位置、拖动删除的自定义控件,实际是自己继承ViewGroup实现,类似桌面的多屏效果,可拖动到屏幕边缘,屏幕自动左右滚动进行Item移动交换,可拖动进行删除,单屏效果见上面DraggableGridView项目地址:https://github.com/mrKlar/PagedDragDropGrid在线演示:http://youtu.be/FYTSRfthSuQ
Android-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=true
TwoWayGridView可横向滚动的GridView项目地址:https://github.com/jess-anders/two-way-gridview
PagingGridView分页加载的GridView。当滑动到GridView底部最后一个行时,显示一个进度行,然后加载下一页数据,并显示。项目地址:https://github.com/nicolasjafelle/PagingGridView
AsymmetricGridView一个支持跨行和跨列可变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示例:photup
android-gif-drawable支持gif显示的view,用jni实现的,编译生成so库后直接xml定义view即可,而且本身不依赖于其他开源项目所以相对下面的ImageViewEx简单的多项目地址:https://github.com/koral--/android-gif-drawable
ImageViewEx支持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=true
CircleImageView圆形的ImageView项目地址:https://github.com/hdodenhof/CircleImageView效果图:
ImageViewZoom支持放大和平移的ImageView项目地址:https://github.com/sephiroth74/ImageViewZoomAPP示例:https://play.google.com/store/apps/details?id=com.aviary.android.feather
KenBurnsView实现Ken Burns effect效果,达到身临其境效果的ImageView项目地址:https://github.com/flavioarfaria/KenBurnsView
CustomShapeImageView各种形状的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.sample
ProgressWheel支持进度显示的圆形ProgressBar项目地址:https://github.com/Todd-Davies/ProgressWheelDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true
android-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、RadioButton
android-flowtextview文字自动环绕其他View的Layout项目地址:https://code.google.com/p/android-flowtextview/效果图:http://i949.photobucket.com/albums/ad332/vostroman1500/1.png
Android Form EditText验证输入合法性的编辑框,支持输入、英文、ip、url等多种正则验证项目地址:https://github.com/vekexasia/android-edittext-validatorDemo地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexample
Emojicon支持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.apk
Segmented 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效](https://camo.githubusercontent.com/e0fc8a3b305192d4203ed89873adb5f89c9d636d/68747470733a2f2f7261772e6769746875622e636f6d2f76696e63336d312f616e64726f69642d7365676d656e746564726164696f627574746f6e2f6d61737465722f73637265656e732f7365676d656e746564726164696f2e706e67)
Chips EditText Library支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现项目地址:https://github.com/kpbird/chips-edittext-libraryDemo地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/bin
AutoFitTextView可固定边界内容字体大小自适应的TextView项目地址:https://github.com/grantland/android-autofittextview
Shimmer for Android文字发淡光的TextView项目地址:https://github.com/RomainPiel/Shimmer-android
Titanic可以显示水位上升下降(不知道该怎么描述 囧)的TextView项目地址:https://github.com/RomainPiel/Titanic效果图:
android-iconify提供带Icon的TextView,Menu,Button等项目地址:https://github.com/JoanZapata/android-iconify
Calligraphy让我们在android开发中使用自定义字体变得更加简单项目地址 :https://github.com/chrisjenx/Calligraphy效果图:
CreditsRoll类似星球大战字幕效果的TextView项目地址:https://github.com/frakbot/CreditsRoll
android-process-buton带加载或提交进度的Button项目地址:https://github.com/dmytrodanylyk/android-process-buton
FButton扁平化的Button项目地址:https://github.com/hoang8f/android-flat-buttonDemo地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo
FloatingActionButton一个类似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](https://github.com/frakbot/JumpingBeans/blob/master/art/jumpingdots.gif)
FancyButtons一个不用图片就可以帮助我们创建出漂亮按钮的库。项目地址:https://github.com/medyo/fancybuttonsDemo地址:https://github.com/medyo/fancybuttons/tree/master/samples效果图:[[图片上传中。。。(52)]](https://camo.githubusercontent.com/8c5800ef180f69d302237132906737bf71a52caf/68747470733a2f2f7261772e6769746875622e636f6d2f6d6564796f2f66616e6379627574746f6e732f6d61737465722f73637265656e73686f74732f66616e63792e706e6](https://raw.githubusercontent.com/medyo/fancybuttons/master/screenshots/fancy2.png)
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效果图: GitHub上史上最全的Android开源项目分类汇总
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.be
MaterialEditTextEditText 的 Material Design 实现。包含 Google Material Design Spec中的UI效果和一些新增特性。项目地址:https://github.com/rengwuxian/MaterialEditText
MultiActionTextView可以分别给TextView中的某几个字设置点击事件的TextView。项目地址:https://github.com/ajaysahani/MultiActionTextView效果图:
九、ScrollView
Discrollview支持滚动时Item淡入淡出,平移,缩放效果的ScrollView项目地址:https://github.com/flavienlaurent/discrollviewDemo地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apk
PullScrollView仿照新浪微博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.apk
AKParallax-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=true
android-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=it
DateTimePicker日期选择部件(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.crouton
supertooltips带动画效果的Tips显示项目地址:https://github.com/nhaarman/supertooltipsDemo地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips
Android 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示例:flipboard
FlipImageView支持x、y、z及动画选择的翻转动画的实现项目地址:https://github.com/castorflex/FlipImageViewDemo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview
FoldableLayoutFlip翻转效果的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/edit
ColorPickerPreference颜色选择器项目地址: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/效果图:GitHub上史上最全的Android开源项目分类汇总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 Analytics
GraphView绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示项目地址:https://github.com/jjoe64/GraphViewDemo项目:https://github.com/jjoe64/GraphView-DemosAPP示例:Wordpress Android,Google Analytics
HoloGraphLibrary绘制现状图、柱状图、饼状图项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home
XCL-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)、刻度盘(Gauge Chart)、雷达图(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=true
EazeGraphAndroid 图表库,支持柱状图、分层柱状图、饼状图、线性图项目地址:https://github.com/blackfizz/EazeGraphDemo地址:https://play.google.com/store/apps/details?id=org.eazegraph.app
WilliamChart绘制图表的库,支持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
十五、UI Style
不同样式的系统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=true
ATableViewios风格控件项目地址:https://github.com/dmacosta/ATableViewDemo地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo
Cards-UI卡片式View,支持单个卡片,item为卡片的ListView项目地址:https://github.com/afollestad/Cards-UIDemo地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true
cardslib卡片式View,支持单个卡片,item为卡片的ListView和GridView项目地址:https://github.com/gabrielemariotti/cardslibDemo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo
Android-BootstrapBootstrap 风格的按钮项目地址:https://github.com/Bearded-Hen/Android-Bootstrap效果图:
Material Design Android LibraryAndroid L 中 Material Design 风格的组件适配到 Android 2.2+项目地址:https://github.com/navasmdc/MaterialDesignLibrary
Android 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=true
Android 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/13buAIq
Inscription可用于展示应用change和new feature信息项目地址:https://github.com/MartinvanZ/Inscription
ActivityTransitionActivity切换动画,包括渐变、flip、某个位置进入等等项目地址:https://github.com/ophilbert/ActivityTransition使用介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true效果图:类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已
EasyAndroidAnimations针对View的各种动画项目地址:https://github.com/2359media/EasyAndroidAnimations
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效果图:
GlowPadViewAndroid4锁屏界面解锁项目地址:https://github.com/nadavfima/GlowPadView效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.png
android-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/chromeview
android-phased-seek-bar支持预先定义状态的SeekBar项目地址:https://github.com/ademar111190/android-phased-seek-bar效果图:
Android Slider Preference Library可添加到设置中的基于对话框的RankBar小部件项目地址:https://github.com/jayschwa/AndroidSliderPreference
ShowcaseView library用于高亮显示应用程序的特定部分,从而突出突出重点项目地址:https://github.com/amlcurran/ShowcaseView
android-segmented-controlAndroid上的Segmented Controls,相当于RadioButton组项目地址:https://github.com/hoang8f/android-segmented-control
Swipeable Cards类似Tinder的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢项目地址:https://github.com/kikoso/Swipeable-CardsDemo地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo
EdgeEffectOverride改变ScrollView, ListView, ExpandableListView, GridView, ViewPager等滚动控件滚动到边缘的颜色效果项目地址:https://github.com/AndroidAlliance/EdgeEffectOverride
android-pinned-header-listviews使ExpandListView的Group滑动到顶端时会固定不动直到另外一个Group到达顶端项目地址:https://github.com/rtyley/android-pinned-header-listviews
AndroidSwipeLayout滑动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效果图:
PostOffice创建 Holo 及 Material Design 样式的 Dialog项目地址:https://github.com/r0adkll/PostOffice效果图:
Swipecards类似Tinder的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢,根据 Kikoso's Swipeable-Cards 改造而来项目地址:https://github.com/Diolor/Swipecards
SeekArc圆形的 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/wiki
butterknife利用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.html
picassosquare开源的图片缓存项目地址: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持久化到SharedPreferences
android-query异步加载,更少代码完成Android加载项目地址:https://github.com/androidquery/androidquery 或 https://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-examples
HttpCacheHttp缓存项目地址: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#examples
okhttpsquare开源的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/_pages
SprinklesAndroid 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.shtml
Schematic根据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/GuavaExplained
VolleyGoogle提供的网络通信库,使得网络请求更简单、更快速项目地址: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.pdf
AndroidCommonAndroid公共库项目地址: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/shipfaster
CleanAndroidCode整合了Dagger Otto AndroidAnnotations,方便快速开发项目地址:https://github.com/pyricau/CleanAndroidCode
xUtils基于Afinal,包含DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于快速开发项目地址:https://github.com/wyouflf/xUtils
AfinalAfinal是一个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.org
UltimateAndroidUltimateAndroid是一个快速开发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.html
SherlockNavigationDrawer将Android NavigationDrawer和ActionbarSherlock结合,解决4.0以下NavigationDrawer的适配问题项目地址:https://github.com/tobykurien/SherlockNavigationDrawer文档地址:http://developer.android.com/training/implementing-navigation/nav-drawer.html
Notifications4EveryWhere将Android 4.1的Notification兼容到Android2.2++项目地址:https://github.com/youxiachai/Notifications4EveryWhere
Android 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-switch
android-datepicker将Android 4.0的datepicker兼容到Android2.2++项目地址:https://github.com/SimonVT/android-datepicker
GlowPadBackportAndroid 4.2的GlowPadView向后适配到API4以上项目地址:https://github.com/frakbot/GlowPadBackport
Transitions 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=true
Android 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#usage
Bitmap 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.apk
BlurEffectForAndroidDesign图片模糊效果项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign
android-eyePC端网页查看同一局域网内的手机摄像头内容,可以用来监控哦项目地址:https://github.com/Teaonly/android-eyeDemo地址:https://play.google.com/store/apps/details?id=teaonly.droideye
libpng for AndroidPNG图片的jni库,支持几乎png的所有特性项目地址:https://github.com/julienr/libpng-android文档地址:http://www.libpng.org/pub/png/libpng.html
android-gpuimage基于GPU的图片滤镜项目地址:https://github.com/CyberAgent/android-gpuimage
AndroidFaceCropper图片脸部自动识别,将识别后的局部图片返回项目地址:https://github.com/lafosca/AndroidFaceCropper
Android 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.apk
svg-androidAndroid Svg矢量图形支持项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android
Android Visualizer从Android MediaPlayer获得音频,然后像iTunes及WinAmp一样展示音轨项目地址:https://github.com/felixpalmer/android-visualizer
ExoPlayer包括仪表板和SmoothStreaming自适应回放,缓存持久化和自定义渲染器,方便自定义和扩展,并且可以通过应用商店更新项目地址:https://github.com/google/ExoPlayer
DanmakuFlameMasterandroid上开源弹幕解析绘制引擎项目项目地址: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#documentation
SensorManagerAndroid传感器管理项目地址:https://github.com/nlathia/SensorManager文档介绍:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit
GPSLogger记录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/Pedometer
leapcastChromeCast模拟器的App项目地址:https://github.com/dz0ny/leapcast
Arduino-Communicator与Arduino通信的App项目地址:https://github.com/jeppsson/Arduino-Communicator
android-pedometerAndroid计步器项目地址:https://github.com/bagilevi/android-pedometerDemo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk
OwnTracks for Android自己的轨迹记录项目地址:https://github.com/owntracks/android
Shake Detector library for AndroidAndroid手机震动摇晃检测库,提供供UI线程调用的回调接口项目地址:https://github.com/tbouron/ShakeDetectorDemo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.example
Android heart rate monitorAndroid心跳检测项目地址:https://github.com/phishman3579/android-heart-rate-monitor
Bluetooth 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.btlescan
farebot通过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#usage
Android-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.png
android-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/QuickUse
Android-InsecureBank关于 Android 不安全性的示例项目地址:https://github.com/dineshshetty/Android-InsecureBankv2
十一、插件化
更多见:Android 插件化作用、概念以及不错的资料(包括开源项目)和解决方案
dynamic-load-apkAndroid 动态加载Apk,热部署,利用 ClassLoader 以及 Activity 代理的方式解决项目地址:https://github.com/singwhatiwanna/dynamic-load-apk文档介绍:http://blog.csdn.net/singwhatiwanna/article/details/22597587
Android Dynamic Loader点评的实现方式,和上面不同的是:他不是用代理 Activity 的方式实现而是用 Fragment 以及 Schema 的方式实现项目地址:https://github.com/mmin18/AndroidDynamicLoaderDemo地址:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk
xCombineAndroid App插件式插件开发,插件必须先安装,更推荐看上面两个开源项目项目地址:https://github.com/wyouflf/xCombine文档介绍:http://my.oschina.net/u/1171837/blog/155377
Android Plugin FrameworkAndroid插件式开发,开放的源码目前不完整项目地址:https://github.com/umeng/apf
multidex安装多 dex 的 classloader项目地址:https://github.com/casidiablo/multidex
ANR-WatchDogAndroid ANR 监听,通过监听自己的 UI Thread 是否被执行确定是否发生了 ANR,并可以设置相关事件项目地址:https://github.com/SalomonBrys/ANR-WatchDog
十二、文件
对不同文档类型的处理,包括PDF、Word、EPub、Html、Zip等
purePDF允许从任何运行的SWF文件读取和创建PDF文档项目地址:https://github.com/sephiroth74/purePDF
android-pdfview快速解析pdf的view,默认支持手势缩放和相关动画项目地址:https://github.com/JoanZapata/android-pdfview
Office 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-Android
OpenSpritz-AndroidEPub阅读器项目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android
jsoup一个解析html的java库,可方便的提取和操作数据项目地址:https://github.com/jhy/jsoup官方网站:http://jsoup.org/作用:(1) 从一个url、文件或string获得html并解析(2) 利用dom遍历或css选择器查找、提取数据(3) 操作html元素(4) 根据白名单去除用于提交的非法数据防止xss攻击(5) 输出整齐的html
ZIPjava压缩和解压库项目地址: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/salvage
Android Priority Job QueueAndroid后台任务队列项目地址:https://github.com/path/android-priority-jobqueue文档介绍:https://github.com/path/android-priority-jobqueue#getting-started
Cobub 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/aFileChooser
androidpn基于xmpp协议的消息推送解决方案,包括服务器端和android端。项目地址:https://github.com/dannytiehui/androidpn
BoltsAndroid的异步编程模式项目地址: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.htmlhttp://www.cnblogs.com/zealotrouge/p/3159772.html
Memento保证在系统配置改变时,Activity中的某些数据可以简单安全的保持不变项目地址:https://github.com/mttkay/memento文档介绍:https://github.com/mttkay/memento#usage
FreeFlow布局引擎,更简单的创建自定义布局,并且当数据和布局改变时更美观的过渡动画项目地址:https://github.com/Comcast/FreeFlowDemo地址:https://github.com/Comcast/FreeFlow/releases
Android Gesture Detectors FrameworkAndroid手势框架,支持双指旋转、移动、平移、缩放等项目地址:https://github.com/Almeros/android-gesture-detectors
Mapbox Android SDKAndroid Map的替代版项目地址:https://github.com/mapbox/mapbox-android-sdk
Activity animationActivity跳转动画,支持各个方向波浪的效果项目地址:https://github.com/flavienlaurent/activityanimation在线演示:https://www.youtube.com/watch?v=-E0sc6w_Jck
KryoNet通过NIO提供客户端和服务器端TCP/UDP网络传输的Java库项目地址:https://github.com/EsotericSoftware/kryonet
Rebound一个模仿弹簧反弹的Java库,可用于创建动画项目地址:https://github.com/facebook/rebound
Android Social Networks社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、添加或删除好友项目地址:https://github.com/antonkrasov/AndroidSocialNetworksDemo地址:https://play.google.com/store/apps/details?id=com.github.androidsocialnetworks.apidemos
SmartAppUpdatesAndroid App 增量升级,包含前后端方案、Demo、以及 so 库,可用于商店或大体积 App 差分升级项目地址:https://github.com/cundong/SmartAppUpdates
Magnet创建类似 Facebook 聊天桌面悬浮窗的效果项目地址:https://github.com/premnirmal/Magnet
Parceler通过注解及工具类自动完成实体类 Parcelable及值传递项目地址:https://github.com/johncarl81/parceler
AcDisplay将 Android 的通知都集中到锁屏显示项目地址:https://github.com/AChep/AcDisplayDemo地址:https://play.google.com/store/apps/details?id=com.achep.acdisplay
QrCodeScanZXing和ZBar结合的二维码扫描项目,提高了扫描效率项目地址:https://github.com/SkillCollege/QrCodeScan项目截图:
Android-ScreenShot实现android系统截屏功能项目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService文档介绍:http://blog.csdn.net/buptgshengod/article/details/39155979
card.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/SampleApp
ASNETwitter, Facebook, Google Plus, LinkedIn, Instagram, Vkontakte, Odnoklassniki 的集成库,包括他们的大多数功能项目地址:https://github.com/gorbin/ASNEDemo地址:https://play.google.com/store/apps/details?id=com.gorbin.androidsocialnetworksextended.asne
Android Signature PadAndroid 自定义的签名 View,可自定义笔颜色和大小项目地址:https://github.com/gcacace/android-signaturepadDemo项目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-Example
TeleportAndroid Wear 数据同步和消息传送库项目地址:https://github.com/Mariuxtheone/Teleport
DebugLog可以帮你创建更简单和更容易理解的调试日志,能够友好的显示调试信息所在类和函数。项目地址: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/zxing 或 https://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/parceler
Json2Java根据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-chapek
Android 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-zelezny
RoboCoP利用Gradle task根据固定格式的json文件生成ContentProvider项目地址:https://github.com/mediarain/RoboCoP
appiconsizes用于生成各个分辨率的图片项目地址:http://www.appiconsizes.com/
Gradle Retrolambda PluginRetrolambda是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件,通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常运行项目地址:https://github.com/evant/gradle-retrolambda
Dagger IntelliJ Plugindagger的intellij插件项目地址:https://github.com/square/dagger-intellij-plugin
Android Gen Drawable Maven plugin在编译时根据SVG描述文件生成不同分辨率的jpg、png或点9图片项目地址:https://github.com/avianey/androidgendrawable-maven-plugin
Android 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-Android
android-test-kitGoogle的Android测试工具包括GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于快速写出可靠测试用例的API)项目地址:https://code.google.com/p/android-test-kit/文档介绍:https://code.google.com/p/android-test-kit/w/list
robolectric测试用例编写框架项目地址:https://github.com/robolectric/robolectricDemo地址:https://github.com/robolectric/robolectricsample文档介绍:http://robolectric.org/特点:(1). 不需要模拟器在一般JVM就可以运行测试用例(2). 能完成在真机上的大部分测试包括感应器其他的测试用例及相关模块Mock可见:android-mock, mockito, easy-mock
Android FEST提供一些列方便的断言,可用于提高编写Android自测代码效率项目地址:https://github.com/square/fest-android
BoundBox可用于测试类各种访问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行测试完成的项目地址:https://github.com/stephanenicolas/boundbox
Hugo用于打印函数信息及执行时间的工具,仅在debug模式生效项目地址:https://github.com/JakeWharton/hugo
scalpel在应用下面添加一层用于界面调试,待详细补充 // TODO项目地址:https://github.com/JakeWharton/scalpel
Android Screenshot libraryAndroid截图工具类,用于在持续集成时截图项目地址:https://github.com/rtyley/android-screenshot-lib
sonar-android-lint-plugin将android lint的错误在sonar中展现项目地址:https://github.com/SonarCommunity/sonar-android
三、测试工具
Spoon可用于android不同机型设备自动化测试,能将应用apk和测试apk运行在不同机器上并生成相应测试报告。项目地址:https://github.com/square/spoon
Tencent APTAPT是腾讯开源的一个Android平台高效性能测试组件,提供丰富实用的功能,适用于开发自测、定位性能瓶颈;测试人员完成性能基准测试、竞品对比测试项目地址:https://github.com/stormzhang/APT
Emmagee网易开源的性能测试工具,包括CPU、内存、网络流量、启动时间、电池状态等项目地址:https://github.com/NetEase/Emmagee
Android 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/buck
Android Maven PluginAndroid Maven插件,可用于对android三方依赖进行管理。在J2EE开发中,maven是非常成熟的依赖库管理工具,可统一管理依赖库。项目地址:https://github.com/jayway/maven-android-plugin
umeng-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-guide
Genymotion目前最好用最快的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#usage
Android Emulator Plugin for JenkinsAndroid模拟器 jenkins插件,用于Jenkins做持续集成时跑模拟器测试项目地址:https://github.com/jenkinsci/android-emulator-plugin
Android Maven Plugin管理应用所需要的依赖库。包括的构建工具有Maven、Gradle、ant、sbt项目地址:https://github.com/mosabua/maven-android-sdk-deployer
SDK Manager Plugin下载和管理Android SDK的Gradle插件项目地址:https://github.com/JakeWharton/sdk-manager-plugin
Gradle Protobuf Plugin将.proto文件转换成Java文件的gradle插件项目地址:https://github.com/andrewkroh/gradle-protobuf-plugin
ChromeADBChrome 的 Adb 插件,当登录后,能看到所有连接的设备并操作,可以看应用、进程、内存及磁盘使用情况等项目地址:https://github.com/importre/chromeadb
五、其他
ViewServer允许app运行在任何手机上都可以用HierarchyViewer查看项目地址:https://github.com/romainguy/ViewServer
GridWichterle 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.logcat
PID Cat根据package查看logcat日志项目地址:https://github.com/JakeWharton/pidcat
ACRA应用崩溃信息日志上报到GoogleDoc工具,网页版展现结果三方开源地址https://github.com/BenoitDuffez/crashreportsviewer项目地址:https://github.com/ACRA/acra文档地址:https://github.com/ACRA/acra/wiki/BasicSetup
Crashlytics提供丰富的应用崩溃信息日志收集轻量级,丰富,可自定义应用崩溃信息收集器,附有邮件通知项目地址:http://www.crashlytics.com/集成插件:Android Studio, Eclipse and IntelliJ
Android 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=GB
android-resource-remover根据lint的提示删除项目中无用的资源,减少包的大小项目地址:https://github.com/KeepSafe/android-resource-remover
Telescope通过手势截图以特定主题发送到特定邮箱地址报告Bug项目地址:https://github.com/mattprecious/telescope
Complete Android Fragment & Activity Lifecycle完整的Android Fragment/Activity生命周期图项目地址:https://github.com/xxv/android-lifecycle
Bugsnag Notifier for Android通过Thread.UncaughtExceptionHandler
捕获应用未处理的异常崩溃 Bug 并用 Notification 展示同时上传到后台服务器项目地址:https://github.com/bugsnag/bugsnag-android文档地址:https://github.com/bugsnag/bugsnag-android#installation--setup
Material Design IconsGoogle Material Design 规范中的 Icon项目地址:https://github.com/google/material-design-icons
scrollscreenshotAndroid 滚动屏幕自动截图 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,QuickReturnHeader
Emil 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.com
Romain 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/romainguy
sephiroth74就职于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 开发者信息