第一部分 个性化控件(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不足一屏情况下也不会显示刷新提示,体验更好。
项目地址: Demo地址: APP演示样例:新浪微博各个页面 -
android-pulltorefresh-listview
下拉刷新ListView 项目地址: Demo地址: PS:这个被非常多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefresh -
DropDownListView
下拉刷新及滑动究竟部载入很多其它ListView 项目地址: Demo地址: 文档介绍: -
DragSortListView
拖动排序的ListView,同一时候支持ListView滑动item删除,各个Item高度不一、单选、复选、CursorAdapter做为适配器、拖动背景变化等 项目地址: Demo地址:id=com.mobeta.android.demodslv
APP演示样例:Wordpress Android -
SwipeListView
支持定义ListView左右滑动事件,支持左右滑动位移。支持定义动画时间 项目地址: Demo地址:id=com.fortysevendeg.android.swipelistview
APP演示样例:微信 -
Android-SwipeToDismiss
滑动Item消失ListView 项目地址: 支持3.0下面版本号见: Demo地址: -
PinnedHeaderExpandableListView
首先它是一个ExpandableListView,可是它的头部能够固定,其次,在它的上面另一个头部能够来回伸缩 项目地址: APP演示样例:百度手机卫士垃圾清理界面 效果图: -
StickyListHeaders
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView。支持高速滑动。支持Android2.3及以上 项目地址: APP演示样例:Android 4.0联系人 效果图: -
pinned-section-listview
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView 项目地址: 效果图: -
PinnedHeaderListView
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView 项目地址: -
QuickReturnHeader
ListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现 项目地址: Demo地址: APP演示样例:google plus -
IndexableListView
ListView右側会显示item首字母快捷索引。点击可高速滑动到某个item 项目地址: Demo地址: APP演示样例:微信通讯录、小米联系人 -
CustomFastScrollView
ListView高速滑动,同一时候屏幕中间PopupWindows显示滑动到的item内容或首字母 项目地址: 效果图: -
Android-ScrollBarPanel
ListView滑动时固定的Panel指示显示在scrollbar旁边 项目地址: 效果展示: -
SlideExpandableListView
用户点击listView item滑出固定区域,其它item的区域收缩 项目地址: Demo地址: -
JazzyListView
ListView及GridView item以特殊动画效果进入屏幕。效果包含grow、cards、curl、wave、flip、fly等等 项目地址: Demo地址:id=com.twotoasters.jazzylistview.sample
效果展示: -
ListViewAnimations
带Item显示动画的ListView。动画包含底部飞入、其它方向斜飞入、下层飞入、渐变消失、滑动删除等 项目地址: Demo地址: APP演示样例: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 项目地址: Demo地址: -
HorizontalVariableListView
支持Item宽度不一致的ListView 项目地址: -
LinearListView
用LinearLayout实现的ListView,可解决多个ListView而且等问题。眼下自己也有须要,等亲自尝试过后会再详细介绍 项目地址: -
MultiChoiceAdapter
支持多选的ListView Adapter 项目地址: Demo地址: -
EnhancedListView
支持横向滑动滑动删除列表项以及撤销删除的ListView。该项目的前身是 项目地址: Demo地址: -
ListBuddies
自己主动滚动的双列ListView ,两个ListView滚动速度不一致,有视差效果 项目地址: Demo地址: 效果展示:
二、ActionBar
-
ActionBarSherlock
为Android全部版本号提供统一的ActionBar,解决4.0下面ActionBar的适配问题 项目地址: Demo地址: APP演示样例:太多了。。如今连google都在用
-
ActionBar-PullToRefresh
下拉刷新。ActionBar出现载入中提示 项目地址: Demo地址:id=uk.co.senab.actionbarpulltorefresh.samples.stock
APP演示样例:Gmail。Google plus,知乎等 -
FadingActionBar
ListView向下滚动逐渐显现的ActionBar 项目地址: Demo地址: APP演示样例:google music。知乎 -
NotBoringActionBar
google music下拉收缩的ActionBar 项目地址: Demo地址: APP演示样例:Google音乐 -
RefreshActionItem
带进度显示和刷新button的ActionBar 项目地址: Demo地址: APP演示样例:The New York Times,DevAppsDirect. -
GlassActionBar
类似玻璃的有一定透明度的ActionBar 项目地址: Demo地址:id=com.manuelpeinado.glassactionbardemo
APP演示样例:google music
三、Menu
-
MenuDrawer
滑出式菜单,通过拖动屏幕边缘滑出菜单。支持屏幕上下左右划出。支持当前View处于上下层。支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。 项目地址: Demo地址: APP演示样例:Gmail、Google Music等大部分google app -
SlidingMenu
滑出式菜单,通过拖动屏幕边缘滑出菜单。支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。 项目地址: Demo地址: APP演示样例: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 Barracks MenuDrawer和SlidingMenu比較:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层 -
ArcMenu
支持类似Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单 项目地址: APP演示样例:Path 效果图: -
android-satellite-menu
类似Path的左下角动画旋转菜单 项目地址: Demo地址: APP演示样例:Path -
radial-menu-widget
圆形菜单。支持二级菜单 项目地址: 效果图: -
Android Wheel Menu
圆形旋转选取菜单 项目地址: 效果图: -
FoldingNavigationDrawer
滑动并以折叠方式打开菜单 项目地址: Demo地址:id=com.ptr.folding.sample
效果图: -
AndroidResideMenu
仿 Dribbble 的边栏菜单 项目地址: 效果图:
四、ViewPager 、Gallery
-
Android-ViewPagerIndicator
配合ViewPager使用的Indicator。支持各种位置和样式 项目地址: Demo地址: APP演示样例:太多了。。 -
JazzyViewPager
支持Fragment切换动画的ViewPager,动画包含转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等 项目地址: Demo地址: 效果类似桌面左右切换的各种效果,只是桌面并不是用ViewPager实现而已 -
Android-DirectionalViewPager
支持横向和纵向(垂直)的ViewPager 项目地址: Demo地址:id=com.directionalviewpager.sample
-
android-pulltorefresh
支持下拉刷新的ViewPager 项目地址: Demo地址: APP演示样例:新浪微博各个页面 -
FancyCoverFlow
支持Item切换动画效果的类似Gallery View 项目地址: Demo地址: 效果图: -
AndroidTouchGallery
支持双击或双指缩放的Gallery(用ViewPager实现),相比以下的PhotoView,在被放大后依旧能滑到下一个item,而且支持直接从url和文件里获取图片。 项目地址: Demo地址: APP演示样例:类似微信中查看聊天记录图片时可双击放大。而且放大情况下能正常左右滑动到前后图片 -
Android Auto Scroll ViewPager
Android自己主动滚动 轮播循环的ViewPager 项目地址: Demo地址:id=cn.trinea.android.demo
文档介绍: -
Salvage view
带View缓存的Viewpager PagerAdapter。非常方便使用 项目地址: -
Android PagerSlidingTabStrip
配合ViewPager使用的Indicator。支持ViewPager Scroll时Indicator联动 项目地址: Demo地址: -
ViewPager3D
ViewPager3D效果 项目地址: -
AnimaTabsview
仿网易云音乐标签切换的动画,带透明小三角 项目地址: 在线演示:
五、GridView
-
StaggeredGridView
同意非对齐行的GridView。类似Pinterest的瀑布流。而且跟ListView一样自带View缓存,继承自ViewGroup 项目地址: Demo地址:raw=true
APP演示样例:Pinterest等 -
AndroidStaggeredGrid
同意非对齐行的GridView,类似Pinterest的瀑布流,继承自AbsListView 项目地址: APP演示样例:Pinterest等 -
PinterestLikeAdapterView
同意非对齐行的GridView,类似Pinterest的瀑布流,同意下拉刷新 项目地址: APP演示样例:Pinterest等 -
DraggableGridView
Item可拖动交换位置的GridView。实际是自己继承ViewGroup实现,类似桌面的单屏效果,可屏幕自己主动上下滚动进行Item移动交换。多屏效果见以下PagedDragDropGrid 项目地址: Demo地址: -
StickyGridHeaders
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的GridView 项目地址: 效果图: -
PagedDragDropGrid
Item可拖动交换位置、拖动删除的自己定义控件,实际是自己继承ViewGroup实现。类似桌面的多屏效果。可拖动到屏幕边缘。屏幕自己主动左右滚动进行Item移动交换。可拖动进行删除,单屏效果见上面DraggableGridView 项目地址: 在线演示: -
Android-DraggableGridViewPager
Item可拖动交换位置的GridView,实际是自己继承ViewGroup实现。类似桌面的多屏效果,可屏幕自己主动左右滚动进行Item移动交换,单屏效果见上面DraggableGridView 项目地址: Demo地址:
六、ImageView
-
PhotoView
支持双击或双指缩放的ImageView。在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同一时候支持单个ImageView 项目地址: Demo地址: APP演示样例:photup -
android-gif-drawable
支持gif显示的view,用jni实现的,编译生成so库后直接xml定义view就可以,并且本身不依赖于其它开源项目所以相对以下的ImageViewEx简单的多 项目地址: -
ImageViewEx
支持Gif显示的ImageView 项目地址: Demo地址:raw=true
依赖非常多,编译过程非常繁琐!|_|! -
RoundedImageView
带圆角的ImageView 项目地址: 效果图: -
ColorArt
依据图片的均色设置背景色显示文字和图片。类似itune11中效果 项目地址: Demo地址:raw=true
-
CircleImageView
圆形的ImageView 项目地址: 效果图: -
ImageViewZoom
支持放大和平移的ImageView 项目地址: APP演示样例:id=com.aviary.android.feather
-
KenBurnsView
实现Ken Burns effect效果。达到身临其境效果的ImageView 项目地址: -
CustomShapeImageView
各种形状的ImageView, 相比上面的圆形ImageView,多了很多其它形状 项目地址: 效果图:
七、ProgressBar
-
SmoothProgressBar
水平进度条 项目地址: Demo地址: -
ProgressWheel
支持进度显示的圆形ProgressBar 项目地址: Demo地址:raw=true
-
android-square-progressbar
在图片周围显示运行进度 项目地址: Demo地址: APP演示样例:square 效果图: -
HoloCircularProgressBar
Android4.1 时钟App样式 项目地址: APP演示样例:Android4.1时钟App 效果图: -
ProgressButton
通过图钉的不同状态显示运行进度 项目地址: 文档介绍: 效果图: -
GoogleProgressBar
类似google 多个圆形卡片翻转的progressBar 项目地址: 效果图: -
TH-ProgressButton
带圆形进度显示的button 项目地址; 效果图: -
NumberProgressBar
带数字进度的进度条 项目地址: 效果图: -
CircularProgressDrawable
带圆形进度显示的进度条 项目地址: 效果图: -
circular-progress-button
带进度显示的Button 项目地址: 效果图:
八、TextView
包含TextView及全部继承自TextView控件,如EditText、Button、RadioButton
-
android-flowtextview
文字自己主动围绕其它View的Layout 项目地址: 效果图: -
Android Form EditText
验证输入合法性的编辑框,支持输入、英文、ip、url等多种正则验证 项目地址: Demo地址: -
Emojicon
支持emojis的TextView和EditText 项目地址: 文档地址: -
android-circlebutton
Android圆形button,实际实现是继承自ImageView 项目地址: Demo地址: -
Segmented Radio Buttons for Android
iOS’s segmented controls的实现 项目地址: Demo地址:raw=true
效果图: -
Chips EditText Library
支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现 项目地址: Demo地址: -
AutoFitTextView
可固定边界内容字体大小自适应的TextView 项目地址: -
Shimmer for Android
文字发淡光的TextView 项目地址: -
Titanic
能够显示水位上升下降(不知道该怎么描写叙述 囧)的TextView 项目地址: 效果图: -
android-iconify
提供带Icon的TextView,Menu,Button等 项目地址: -
Calligraphy
让我们在android开发中使用自己定义字体变得更加简单 项目地址 : 效果图: -
CreditsRoll
类似星球大战字幕效果的TextView 项目地址: -
android-process-buton
带载入或提交进度的Button 项目地址: -
FButton
扁平化的Button 项目地址: Demo地址:id=info.hoang8f.fbutton.demo
九、ScrollView
-
Discrollview
支持滚动时Item淡入淡出。平移,缩放效果的ScrollView 项目地址: Demo地址: -
PullScrollView
仿照新浪微博Androidclient个人中心的ScrollView。下拉背景伸缩回弹效果。 项目地址: 效果图: -
ParallaxScrollView
支持视差滚动的ScrollView ,背景图片的滚动速度小于ScrollView中子控件的滚动速度 项目地址: Demo地址:
十、TimeView
包含TimePicker、DatePicker、CalendarView、Clock等时间相关控件
-
android-times-square
Android日历时间部件,支持选取单个日期,多个日期,及日期区间段和对话框形式显示 项目地址: Demo地址: -
android-calendar-card
日历 项目地址: Demo地址: 效果图: -
AndroidWheel
Android Wheel支持城市、多种日期时间、password、图片 项目地址: 效果图: -
GoogleDateTimePickers
时间选择部件 项目地址: 文档地址:
十一、TipView
包含Toast、角标、UndoBar等提示性控件
-
Crouton
丰富样式的Toast,同意alert、comfirm、info样式及点击消失样式。同意设置Toast显示时间,同意自己定义View。 本文32. SuperToasts为其扩展版 项目地址: Demo地址: -
supertooltips
带动画效果的Tips显示 项目地址: Demo地址: -
Android ViewBadger
为其它View加入角标等 项目地址: Demo地址:raw=true
效果图: -
SuperToasts
更丰富样式的toast,支持Button、Progress、Horizontal Progress样式、支持进入动画、支持撤销及其动画设置 项目地址: Demo地址:id=com.supertoastsdemo
效果图: -
UndoBar
屏幕底部显示取消或是确认的PopupWindows 项目地址: 效果图: -
UndoBar
屏幕底部显示取消或是确认某操作 项目地址: 效果图:
十二、FlipView
-
android-flip
类似Flipboard翻转动画的实现 项目地址: Demo地址:raw=true
APP演示样例:flipboard -
FlipImageView
支持x、y、z及动画选择的翻转动画的实现 项目地址: Demo地址:id=fr.castorflex.android.flipimageview
-
FoldableLayout
Flip翻转效果的ListView。眼下还不支持ListView缓存 项目地址: Demo地址:
十三、ColorPickView
-
ColorPickerView
颜色选择器,支持PopupWindows或新的Activity中打开 项目地址: 效果图: -
HoloColorPicker
颜色选择器 项目地址: Demo地址: -
ColorPickerPreference
颜色选择器 项目地址: 效果图:
十四、GraphView
-
achartengine
强大的图表绘制工具。支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合 项目地址: 官方站点: 效果图: APP演示样例:Wordpress Android。Google Analytics -
GraphView
绘制图表和曲线图的View。可用于Android上的曲形图、柱状图、波浪图展示 项目地址: Demo地址: Demo项目: APP演示样例:Wordpress Android,Google Analytics -
HoloGraphLibrary
绘制现状图、柱状图、饼状图 项目地址: 文档介绍:
十五、UI Style
不相同式的系统UI风格,如IOS、Bootstrap风格
-
UITableView
ios风格控件,包含Button、ListView、TableView 项目地址: Demo地址: -
ATableView
ios风格控件 项目地址: Demo地址: -
Cards-UI
卡片式View,支持单个卡片,item为卡片的ListView 项目地址: Demo地址: -
cardslib
卡片式View。支持单个卡片。item为卡片的ListView和GridView 项目地址: Demo地址: -
Android-Bootstrap
Bootstrap 风格的button 项目地址: 效果图:
十六、其它
-
SwipeBackLayout
左右或向上滑动返回的Activity 项目地址: Demo地址: APP演示样例:知乎 -
android-styled-dialogs
可自己定义样式的dialog。默认与Holo主题样式一致,在Android2.2以上同一样式 项目地址: Demo地址:raw=true
-
Android Sliding Up Panel
可拖动的View,能在当前Activity上扶起一个可拖动的Panel 项目地址: Demo地址:id=com.sothree.umano
APP演示样例:Google Music精简播放栏 -
AndroidWheel
Android Wheel支持城市、多种日期时间、password、图片 项目地址: 效果图: -
TableFixHeaders
第一列固定的Table 项目地址: Demo地址: -
Inscription
可用于展示应用change和new feature信息 项目地址: -
ActivityTransition
Activity切换动画。包含渐变、flip、某个位置进入等等 项目地址: 使用介绍: 效果图:类似桌面左右切换的各种效果,只是桌面并不是用ViewPager实现而已 -
GlowPadBackport
将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+ 项目地址: Demo地址:id=net.sebastianopoggi.samples.ui.GlowPadSample
效果图: -
GlowPadView
Android4锁屏界面解锁 项目地址: 效果图: -
android-lockpattern
Android的图案password解锁 项目地址: Demo地址:id=group.pals.android.lib.ui.lockpattern.demo
使用介绍: APP演示样例:Android开机的图案password解锁,支付宝的password解锁 -
RangeBar
类似于SeekBar。不同的是能够选择一个范围内的值而不是单个值 项目地址: Demo地址: 效果图: -
ChromeView
利用Chromium实现的WebView,解决各个Android版本号WebView不同的问题,同一时候利用最新Chrome代码 项目地址: -
Android Slider Preference Library
可加入到设置中的基于对话框的RankBar小部件 项目地址: -
ShowcaseView library
用于高亮显示应用程序的特定部分,从而突出突出重点 项目地址: -
android-segmented-control
Android上的Segmented Controls,相当于RadioButton组 项目地址: -
Swipeable Cards
类似Tinder的卡片效果,能够载入图片并动画效果展示。向左滑动表示喜欢,向右表示不喜欢 项目地址: Demo地址:id=info.hoang8f.fbutton.demo
-
EdgeEffectOverride
改变ScrollView, ListView, ExpandableListView, GridView, ViewPager等滚动控件滚动到边缘的颜色效果 项目地址:
第二部分 工具库
主要包含那些不错的开发库。包含依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本号向低版本号兼容、多媒体相关及其它。
一、依赖注入DI
通过依赖注入降低View、服务、资源简化初始化,事件绑定等反复繁琐工作
-
AndroidAnnotations(Code Diet)
android高速开发框架 项目地址: 文档介绍: 官方站点: 特点:(1) 依赖注入:包含view,extras。系统服务。资源等等 (2) 简单的线程模型,通过annotation表示方法执行在ui线程还是后台线程 (3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类 (4) RESTclient:定义client接口。自己主动生成REST请求的实现 (5) 没有你想象的复杂:AndroidAnnotations仅仅是在在编译时生成对应子类 (6) 不影响应用性能:仅50kb。在编译时完毕。不会对执行时有性能影响。 PS:与roboguice的比較:roboguice通过执行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响 -
roboguice
帮你处理了非常多代码异常,利用annotation使得更少的代码完毕项目 项目地址: 文档介绍: -
butterknife
利用annotation帮你高速完毕View的初始化,降低代码 项目地址: 文档介绍: -
Dagger
依赖注入。适用于Android和Java 项目地址: 文档介绍:
二、图片缓存
-
Android-Universal-Image-Loader
图片缓存,眼下使用最广泛的图片缓存。支持主流图片缓存的绝大多数特性。 项目地址: Demo地址: 文档介绍: -
picasso
square开源的图片缓存 项目地址: 文档介绍: 特点:(1)能够自己主动检測adapter的重用并取消之前的下载 (2)图片变换 (3)能够载入本地资源 (4)能够设置占位资源 (5)支持debug模式 -
ImageCache
图片缓存。包括内存和Sdcard缓存 项目地址: Demo地址: 文档介绍: 特点:(1)支持预取新图片,支持等待队列 (2)包括二级缓存。可自己定义文件名称保存规则 (3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自己定义缓存算法 (4)可方便的保存及初始化恢复数据 (5)支持不同类型网络处理 (6)可依据系统配置初始化缓存等
三、网络相关
-
Asynchronous Http Client for Android
Android异步Http请求 项目地址: 文档介绍: 特点:(1) 在匿名回调中处理请求结果 (2) 在UI线程外进行http请求 (3) 文件断点上传 (4) 智能重试 (5) 默认gzip压缩 (6) 支持解析成Json格式 (7) 可将Cookies持久化到SharedPreferences -
android-query
异步载入。更少代码完毕Android载入 项目地址:或 文档介绍:? Demo地址: 特点:? -
Async Http Client
Java异步Http请求 项目地址: 文档介绍: -
Ion
支持图片、json、http post等异步请求 项目地址: 文档介绍: -
HttpCache
Http缓存 项目地址: Demo地址: 文档介绍: 特点是:(1) 依据cache-control、expires缓存http请求 (2) 支持同步、异步Http请求 (3) 在匿名回调中处理请求结果 (4) 在UI线程外进行http请求 (5) 默认gzip压缩 -
Http Request
项目地址: 文档介绍: -
okhttp
square开源的http工具类 项目地址: 文档介绍: 特点:(1) 支持SPDY()协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短载入时间。 (2) 假设SPDY不可用,利用连接池降低请求延迟 (3) Gzip压缩 (4) Response缓存降低不必要的请求 -
Retrofit
RESTFUL API设计 项目地址: 文档介绍: -
RoboSpice
Android异步网络请求工具,支持缓存、REST等等 项目地址: Demo地址:
四、数据库 orm工具包
orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作
-
greenDAO
Android Sqlite orm的db工具类 项目地址: 文档介绍: 官方站点: 特点:(1) 性能佳 (2) 简单易用的API (3) 内存小好小 (4) 库大小小 -
ActiveAndroid
Android Sqlite orm的db工具类 项目地址: 文档介绍: -
Sprinkles
Android Sqlite orm的db工具类 项目地址: 文档介绍: 特点:比較显著的特点就是配合能保存从server获取的数据 -
ormlite-android
项目地址: 文档介绍: -
Schematic
依据SQLite生成ContentProvider 项目地址:
五、Android公共库
-
Guava
Google的基于java1.6的类库集合的扩展项目。包含collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API能够使你的JAVa代码更加优雅,更加简洁 项目地址: 文档介绍: -
Volley
Google提供的网络通信库,使得网络请求更简单、更高速 项目地址: Github地址: 文档地址: -
AndroidCommon
Android公共库 项目地址: Demo地址: 文档介绍: 包含:(1)缓存(图片缓存、预取缓存、网络缓存) (2) 公共View(下拉及底部载入很多其它ListView、底部载入很多其它ScrollView、滑动一页Gallery) (3) Android经常使用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等) -
shipfaster
整合了Dagger Otto Retrofit Robolectric Picasso OkHttp。方便高速开发 项目地址: -
CleanAndroidCode
整合了Dagger Otto AndroidAnnotations,方便高速开发 项目地址: -
xUtils
基于Afinal,包括DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于高速开发 项目地址: -
Afinal
Afinal是一个android的ioc。orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity。我们能够通过注解的方式进行绑定ui和事件。通过finalBitmap,我们能够方便的载入bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就能够对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们能够以ajax形式请求http数据 项目地址: 官方站点:
六、Android 高版本号向低版本号兼容
-
ActionBarSherlock
为Android全部版本号提供统一的ActionBar,解决4.0下面ActionBar的适配问题 项目地址: Demo地址: APP演示样例:太多了。。如今连google都在用
-
Nine Old Androids
将Android 3.0(Honeycomb)全部动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0 项目地址: Demo地址: 文档介绍: -
HoloEverywhere
将Android 3.0的Holo主题兼容到Android2.1++ 项目地址: Demo地址: 文档介绍: -
SherlockNavigationDrawer
将Android NavigationDrawer和ActionbarSherlock结合。解决4.0下面NavigationDrawer的适配问题 项目地址: 文档地址: -
Notifications4EveryWhere
将Android 4.1的Notification兼容到Android2.2++ 项目地址: -
Android Switch Widget Backport
将Android Switch和SwitchPreference的兼容到Android2.1++ 项目地址: Demo地址: 文档介绍: -
android-datepicker
将Android 4.0的datepicker兼容到Android2.2++ 项目地址: -
GlowPadBackport
Android 4.2的GlowPadView向后适配到API4以上 项目地址:
七、多媒体相关
-
cocos2d-x
跨平台的2d游戏框架,支持Android、IOS、Linux、Windows等众多平台 项目地址: 文档介绍: 官方站点: -
Vitamio
是一款Android与iOS平台上的全能多媒体开发框架 项目地址: 站点介绍: 特点:(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(翻转)等各种特效 项目地址: Demo地址: -
Android StackBlur
图片模糊效果工具类 项目地址: Demo地址: 文档介绍: -
Bitmap Smart Clipping using OpenCV
图片智能裁剪保留重要部分显示 项目地址: 利用淘宝的库完毕 一淘玩客正在使用的图片裁剪。自己主动识别图片中的重要区域。而且在图片裁剪时保留重要区域 特点:(1). 能进行人脸识别。图片中有人脸。将自己主动视为人脸区域为重要区域,将不会被裁剪掉 (2).自己主动其他重要区域。假设图片中未识别出人脸,则会依据特征分布计算出重区域 -
Cropper
图片局部剪切工具,可触摸控制选择区域或旋转 项目地址: 使用介绍: 效果图: -
android-crop
图片裁剪Activity 项目地址: 效果图: -
TileView
可分块显示大图。支持2D拖动、双击、双指放大、双指捏合 项目地址: Demo地址: -
BlurEffectForAndroidDesign
图片模糊效果 项目地址: -
android-eye
PC端网页查看同一局域网内的手机摄像头内容。能够用来监控哦 项目地址: Demo地址: -
libpng for Android
PNG图片的jni库,支持差点儿png的全部特性 项目地址: 文档地址: -
android-gpuimage
基于GPU的图片滤镜 项目地址: -
AndroidFaceCropper
图片脸部自己主动识别,将识别后的局部图片返回 项目地址: -
Android Video Crop
利用TextureView播放和剪切视频,类似ImageView.setScaleType 项目地址: Demo地址: -
svg-android
Android Svg矢量图形支持 项目地址: -
Android Visualizer
从Android MediaPlayer获得音频。然后像iTunes及WinAmp一样展示音轨 项目地址: -
ExoPlayer
包含仪表板和SmoothStreaming自适应回放,缓存持久化和自己定义渲染器。方便自己定义和扩展,而且能够通过应用商店更新 项目地址:
八、事件总线(订阅者模式)
通过公布/订阅事件解耦事件发送和接受,从而简化应用程序组件(Activities, Fragments及后台线程)之间的通信
-
EventBus
greenrobot的开源项目 项目地址: 文档介绍: 特点:(1) 支持在不同类型的线程中处理订阅,包含公布所在线程。UI线程、单一后台线程、异步线程 (2) 支持事件优先级定义。支持优先级高的订阅者取消事件继续传递,支持粘性事件。是不是跟系统的有序广播、粘性广播非常像啊 (3) 不是基于annotations (4) 性能更优 (5) 体积小 (6) 支持单例创建或创建多个对象 (7) 支持依据事件类型订阅 -
Otto
Square的开源项目。基于Guava的Android优化 项目地址: 文档介绍:
九、传感器
-
Great Android Sensing Toolkit
Android感应器工具包。包括演示样例及使用过程中可能须要的算法 项目地址: Demo地址:id=root.gast.playground
文档介绍: -
SensorManager
Android传感器管理 项目地址: 文档介绍: -
GPSLogger
记录GPS信息 项目地址: Demo地址:id=com.mendhak.gpslogger
文档介绍: -
Pedometer
计步器,使用硬件计步感应器 项目地址: -
leapcast
ChromeCast模拟器的App 项目地址: -
Arduino-Communicator
与Arduino通信的App 项目地址: -
android-pedometer
Android计步器 项目地址: Demo地址: -
OwnTracks for Android
自己的轨迹记录 项目地址: -
Shake Detector library for Android
Android手机震动摇晃检測库,提供供UI线程调用的回调接口 项目地址: Demo地址: -
Android heart rate monitor
Android心跳检測 项目地址: -
Bluetooth LE Library for Android
蓝牙源信息,包含宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息 项目地址: Demo地址: -
farebot
通过NFC 从公交卡中读取数据的一个应用 项目地址:
十、安全
-
SQLCipher
Sqlite加密工具 项目地址: 帮助文档: -
Conceal
高速高效的进行文件加密解密 项目地址: 文档介绍: -
Android-PasscodeLock
应用锁,每次启动或从不论什么Activity启动应用都须要输入四位数字的password方可进入 项目地址: Demo地址: APP演示样例:Wordpress Android,支付宝,挖財 -
GlowPadBackport
将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+ 项目地址: Demo地址:id=net.sebastianopoggi.samples.ui.GlowPadSample
效果图: -
GlowPadView
Android 4锁屏界面解锁 项目地址: 效果图: -
android-lockpattern
Android的图案password解锁 项目地址: Demo地址: 使用介绍: 演示样例APP:Android开机的图案password解锁,支付宝的password解锁
十一、插件化
-
dynamic-load-apk
Android动态载入Apk,热部署。支持一定程度不安装升级
项目地址: 文档介绍: -
xCombine
Android App插件式插件开发,插件必须先安装 项目地址: 文档介绍: -
Android Plugin Framework
Android插件式开发,开放的源代码眼下不完整 项目地址:
十二、文件
对不同文档类型的处理,包含PDF、Word、EPub、Html、Zip等
-
purePDF
同意从不论什么执行的SWF文件读取和创建PDF文档 项目地址: -
Office 365 SDK for Android Preview
可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail 项目地址: -
OpenSpritz-Android
EPub阅读器 项目地址: -
jsoup
一个解析html的java库,可方便的提取和操作数据 项目地址: 官方站点: 作用:(1) 从一个url、文件或string获得html并解析 (2) 利用dom遍历或css选择器查找、提取数据 (3) 操作html元素 (4) 依据白名单去除用于提交的非法数据防止xss攻击 (5) 输出整齐的html -
ZIP
java压缩和解压库 项目地址: 文档介绍: 作用:(1) 解压和压缩。并支持目录内递归操作 (2) 支持包括和排除某些元素 (3) 支持重命名元素 (4) 支持遍历zip包内容 (5) 比較两个zip包等功能
十三、其它
-
Salvage view
带View缓存的Viewpager PagerAdapter,非常方便使用 项目地址: -
Android Priority Job Queue
Android后台任务队列 项目地址: 文档介绍: -
Cobub Razor
开源的mobile行为分析系统,包含web端、android端。支持ios和window phone 项目地址: Demo地址: 站点介绍: -
Countly
Android移动端数据採集分析系统 项目地址: 官网地址: -
aFileChooser
文件选择器,可内嵌到程序中。而无需使用系统或三方文件选择器。 项目地址: -
androidpn
基于xmpp协议的消息推送解决方式,包含server端和android端。 项目地址: -
Bolts
Android的异步编程模式 项目地址: 与AsyncTask比較:(1) 使用的是无限制大小的线程池 (2) 任务可组合可级联。防止了代码耦合 -
CastCompanionLibrary-android
使Android程序中更快的接入Google Cast 项目地址: 文档介绍: -
CastVideos-android
从Android设备分享Video通过Google Cast 项目地址: 文档介绍: -
Uninstall_Statics
Android应用自身被卸载监听及打开浏览器等反馈功能实现 项目地址: 文档介绍: -
Memento
保证在系统配置改变时。Activity中的某些数据能够简单安全的保持不变 项目地址: 文档介绍: -
FreeFlow
布局引擎。更简单的创建自己定义布局,而且当数据和布局改变时更美观的过渡动画 项目地址: Demo地址: -
Android Gesture Detectors Framework
Android手势框架,支持双指旋转、移动、平移、缩放等 项目地址: -
Mapbox Android SDK
Android Map的替代版 项目地址: -
Activity animation
Activity跳转动画,支持各个方向波浪的效果 项目地址: 在线演示: -
KryoNet
通过NIO提供client和server端TCP/UDP网络传输的Java库 项目地址: -
Rebound
一个模仿弹簧反弹的Java库,可用于创建动画 项目地址: -
Android Social Networks
社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、加入或删除好友 项目地址: Demo地址:
第三部分 优秀项目
主要介绍那些Android还不错的完整项目。眼下包括的项目主要根据是项目有意思或项目分层规范比較好。
Linux 项目地址: Android 项目地址:或 以上两个项目,不解释(1) ZXing
二维码扫描工具 项目地址:或 APK地址: PS:如今市面上非常多应用的二维码扫描功能都是从这个改动而来(2) photup
编辑机批量上传照片到facebook上 项目地址: APK地址: PS:代码分包合理,非常棒。只是这个项目依赖的开源项目比較多,比較难编译(3) github-android
Github的Androidclient项目 项目地址: APK地址:(4) Notes
MIUI便签 项目地址: APK地址:raw=true
PS:项目分包比較合理,相比較miui的文件管理器代码规范较好得多(5) weicuiyuan
四次元-新浪微博client 项目地址: APK地址:(6) gnucash-android
一个记账理財软件 项目地址: APK地址:(7) AntennaPod
支持rss订阅、音乐订阅 项目地址: APK地址:(8) ChaseWhisplyProject
打鬼游戏 项目地址: APK地址:id=fr.tvbarthel.games.chasewhisply
(9) Tweet Lanes
功能完整的Twitterclient 项目地址: APK地址:(10) Financius
简单易用的记账程序 项目地址: APK地址:(11) todo.txt-android
todo.txt的官方Android应用 项目地址: APK地址:id=com.todotxt.todotxttouch
(12) simpletask
基于todo.txt官方应用的还有一个client 项目地址: APK地址:id=nl.mpcjanssen.todotxtholo
(13) Muzei Live Wallpaper
定时更换桌面精美壁纸 项目地址: APK地址:第四部分 开发工具及測试工具
主要介绍和Android开发工具和測试工具相关的开源项目。
一、开发效率工具
-
Json2Java
依据JSon数据自己主动生成相应的Java实体类。还支持Parcel、Gson Annotations相应代码自己主动生成。期待兴许的提取父类以及多url构建整个project的功能
项目地址: 在线演示: -
IntelliJ Plugin for Android Parcelable boilerplate code generation
Android studio插件。生成Parcelable代码 项目地址: 效果图: -
Android Holo Colors IntelliJ Plugin
Android studio插件。生成holo样式9 patch图片 项目地址: 效果图: -
Android Drawable Factory
用于生成各个分辨率的图片 项目地址: 效果图: -
SelectorChapek for Android
Android Studio插件,可依据固定文件名称格式资源自己主动生成drawable selectors xml文件。 项目地址: -
Android Action Bar Style Generator
Android ActionBar样式生成器,可在线选择ActionBar样式自己主动生成所须要的图片资源及xml文件 项目地址: 在线演示: -
ButterKnifeZelezny
用于高速生成View注入代码的Android Studio/IDEA插件 项目地址: -
RoboCoP
利用Gradle task依据固定格式的json文件生成ContentProvider 项目地址: -
appiconsizes
用于生成各个分辨率的图片 项目地址: -
Gradle Retrolambda Plugin
是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件,通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常执行 项目地址: -
Dagger IntelliJ Plugin
dagger的intellij插件 项目地址: -
Android Gen Drawable Maven plugin
在编译时依据SVG描写叙述文件生成不同分辨率的jpg、png或点9图片 项目地址: -
Android Asset Studio
各种Android资源自己主动生成器,包含启动图标、ActionBar图标、通知栏图标、点9等 项目地址: 在线演示:
二、开发自測相关
-
Quality Tools for Android
Android測试及自測工具集合和演示样例 项目地址: -
android-test-kit
Google的Android測试工具 包含GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于高速写出可靠測试用例的API) 项目地址: 文档介绍: -
robolectric
測试用例编写框架 项目地址: Demo地址: 文档介绍: 特点:(1). 不须要模拟器在一般JVM就能够执行測试用例 (2). 能完毕在真机上的大部分測试包含感应器 其它的測试用例及相关模块Mock可见:,, -
Android FEST
提供一些列方便的断言,可用于提高编写Android自測代码效率 项目地址: -
BoundBox
可用于測试类各种訪问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行測试完毕的
项目地址: -
Hugo
用于打印函数信息及运行时间的工具。仅在debug模式生效 项目地址: -
scalpel
在应用以下加入一层用于界面调试。待具体补充 // TODO 项目地址: -
Android Screenshot library
Android截图工具类,用于在持续集成时截图 项目地址: -
sonar-android-lint-plugin
将android lint的错误在sonar中展现 项目地址:
三、測试工具
-
Spoon
可用于android不同机型设备自己主动化測试,能将应用apk和測试apk执行在不同机器上并生成对应測试报告。 项目地址: -
Tencent APT
APT是腾讯开源的一个Android平台高效性能測试组件,提供丰富有用的功能,适用于开发自測、定位性能瓶颈;測试人员完毕性能基准測试、竞品对照測试 项目地址: -
Emmagee
网易开源的性能測试工具。包含CPU、内存、网络流量、启动时间、电池状态等 项目地址: -
Android py-uiautomator
py-uiautomator是一个对Android uiautomator用python进行封装的測试框架. 项目地址:
四、开发及编译环境
-
Buck
facebook开源的Android编译工具。效率是ant的两倍。主要长处在于:
(1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源降低增量编译时间实现 (2) 能够在编译系统中生成编译规则而无须另外的系统生成编译规则文件 (3) 编译同一时候可生成单元測试结果 (4) 既可用于IDE编译也可用于持续集成编译 (5) facebook持续优化中 项目地址: -
Android Maven Plugin
Android Maven插件,可用于对android三方依赖进行管理。在J2EE开发中。maven是很成熟的依赖库管理工具。可统一管理依赖库。 项目地址: -
umeng-muti-channel-build-tool
渠道打包工具 项目地址: 另可參见Google的构建系统Gradle: -
Genymotion
眼下最好用最快的android模拟器 项目地址: Android studio集成控件:pr=idea
Cyril Mottier推荐: -
gradle-mvn-push
方便的将Gradle的Artifacts上传到Maven仓库 项目地址: 文档介绍: -
Android Emulator Plugin for Jenkins
Android模拟器 jenkins插件。用于Jenkins做持续集成时跑模拟器測试 项目地址: -
Android Maven Plugin
管理应用所须要的依赖库。包含的构建工具有Maven、Gradle、ant、sbt 项目地址: -
SDK Manager Plugin
下载和管理Android SDK的Gradle插件 项目地址: -
Gradle Protobuf Plugin
将.proto文件转换成Java文件的gradle插件 项目地址:
五、其它
-
ViewServer
同意app执行在不论什么手机上都能够用HierarchyViewer查看 项目地址: -
GridWichterle for Android
在整个系统上显示一个grid。用来帮助查看应用布局及使得布局更美观,可设置grid网格大小和颜色,android推荐48dp和8dp,可见 Android Design Guidelines – Metrics and Grids 项目地址: APK地址: PS:比起hierarchyviewer相差甚远。只是偶尔可用来作为布局查看工具。 -
Catlog
手机端log查看工具。支持不同颜色显示、keyword过滤、级别过滤、进程id过滤、录制功能等 项目地址: 在线演示: -
PID Cat
依据package查看logcat日志 项目地址: -
ACRA
应用崩溃信息上报到GoogleDoc工具,网页版展现结果三方开源地址 项目地址: 文档地址: -
Crashlytics
提供丰富的应用崩溃信息收集 轻量级,丰富,可自己定义应用崩溃信息收集器,附有邮件通知 项目地址: 集成插件: -
Android Resource Navigator
chrome插件,能够方便的查看github上android源代码project的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 项目地址: 在线演示: -
android-resource-remover
依据lint的提示删除项目中没用的资源。降低包的大小 项目地址: -
Telescope
通过手势截图以特定主题发送到特定邮箱地址报告Bug 项目地址: -
Complete Android Fragment & Activity Lifecycle
完整的Android Fragment/Activity生命周期图 项目地址:
第五部分
主要介绍那些乐于分享而且有一些非常不错的开源项目的个人和组织。Follow大神,深挖大神的项目和following,你会发现非常多。
一、个人
-
JakeWharton
就职于Square。绝对牛逼的大神,项目主要集中在Android版本号兼容,ViewPager及开发工具上 Github地址: 代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo。butterknife。Android-DirectionalViewPager, scalpel pidcat另外对square及其它开源项目有非常多贡献 主页: -
Chris Banes
Github地址: 代表作:ActionBar-PullToRefresh。PhotoView,Android-BitmapCache。Android-PullToRefresh 主页: -
Koushik Dutta
就职于ClockworkMod Github地址: 代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外对的开源项目有非常多贡献 主页: -
Simon Vig
Github地址: 代表作:android-menudrawer。MessageBar 主页: -
Manuel Peinado
Github地址: 代表作:FadingActionBar,GlassActionBar,RefreshActionItem。QuickReturnHeader -
Emil Sj?lander
Github地址: 代表作:StickyListHeaders。sprinkles,android-FlipView 主页: -
greenrobot
Github地址: 代表作:greenDAO。EventBus 主页: -
Jeff Gilfelt
Github地址: 代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator。android-sqlite-asset-helper 主页: -
Romain Guy
Android team成员(2013.10已离开Android team。仍在Google) Github地址: 代表作:ViewServer 主页: 個人攝影作品: -
sephiroth74
就职于Aviary.com Github地址: 代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF 主页: -
Cyril Mottier
Google开发人员专家认证,公布一些Android技巧及文章 Github地址: 代表作:GreenDroid,Polaris 主页:
二、组织
-
Square
有态度有良心的企业,非常多不错的分享 Github地址: 代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等 主页: -
Inmite s.r.o.
Github地址: 代表作:android-styled-dialogs。android-grid-wichterle,android-selector-chapek 主页:
三、博客
-
Chet Haase
Android framework UI team 成员 主页: