跳到主要内容
Java 大前端 java
GitHub 上 Android 开源项目分类汇总 Android 开源项目分类汇总涵盖个性化控件、工具库、完整项目及开发测试工具。包括 ListView、ViewPager、图片缓存、网络请求、数据库 ORM 等常用组件。整理自 GitHub 知名开发者如 JakeWharton、Square 等贡献的项目,适用于 Android 应用开发与 UI 定制参考。
RedisGeek 发布于 2025/2/23 更新于 2026/6/8 21 浏览Android 开源项目分类汇总
目前包括:
包括 UI 控件、工具库、完整项目、开发测试工具等。
第一部分 个性化控件 (View)
主要介绍那些不错个性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。
一、ListView
android-pulltorefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉动刷新。并且它实现的下拉刷新 ListView 在 item 不足一屏情况下也不会显示刷新提示,体验更好。
android-Ultra-Pull-to-Refresh
下拉刷新,第一个项目已经停止维护了,并且使用起来相对复杂,定制性也差。这个是替代和改良方案。这个继承于 ViewGroup 可以包含任何 View。功能甚至比 SwipeRefreshLayout 强大。使用起来非常简单。良好的设计,如果你想定制自己的 UI 样式,非常简单,就像给 ListView 加一个 Header View 那么简单。支持 API LEVEL >= 8。
DropDownListView
下拉刷新及滑动到底部加载更多 ListView。
DragSortListView
拖动排序的 ListView,同时支持 ListView 滑动 item 删除,各个 Item 高度不一、单选、复选、CursorAdapter 做为适配器、拖动背景变化等。
SwipeListView
支持定义 ListView 左右滑动事件,支持左右滑动位移,支持定义动画时间。
Android-SwipeToDismiss
滑动 Item 消失 ListView,支持 3.0 以下版本。
PinnedHeaderExpandableListView
首先它是一个 ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩。
StickyListHeaders
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView,支持快速滑动,支持 Android2.3 及以上。
pinned-section-listview
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView。
PinnedHeaderListView
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView。
QuickReturn
ListView/ScrollView 的 header 或 footer,当向下滚动时消失,向上滚动时出现。
QuickReturnHeader
ListView/ScrollView 的 header 或 footer,当向下滚动时消失,向上滚动时出现。
IndexableListView
ListView 右侧会显示 item 首字母快捷索引,点击可快速滑动到某个 item。
CustomFastScrollView
ListView 快速滑动,同时屏幕中间 PopupWindows 显示滑动到的 item 内容或首字母。
Android-ScrollBarPanel
ListView 滑动时固定的 Panel 指示显示在 scrollbar 旁边。
SlideExpandableListView
用户点击 listView item 滑出固定区域,其他 item 的区域收缩。
JazzyListView
ListView 及 GridView item 以特殊动画效果进入屏幕,效果包括 grow、cards、curl、wave、flip、fly 等等。
ListViewAnimations
带 Item 显示动画的 ListView,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等。
DevsmartLib-Android
横向 ListView。
TwoWayView
横向 ListView 的效果,继承自 AdapterView。
HorizontalVariableListView
支持 Item 宽度不一致的 ListView。
LinearListView
用 LinearLayout 实现的 ListView,可解决多个 ListView 并存等问题。
MultiChoiceAdapter
支持多选的 ListView Adapter。
EnhancedListView
支持横向滑动删除列表项以及撤销删除的 ListView,该项目的前身是 SwipeMenuListView。
ListBuddies
自动滚动的双列 ListView,两个 ListView 滚动速度不一致,有视差效果。
SwipeMenuListView
针对 ListView item 的侧滑菜单。
PagingListView
分页加载的 ListView。当滑动到 ListView 底部最后一个元素时,显示一个进度行,然后加载下一页数据,并显示。
PullZoomView
支持下拉时 HeaderView 缩放的 ListView、ScrollView。
PullToZoomInListView
滑动 ListView 时使其 HeaderView 跟随滑动缩放。
CalendarListview
实现每个月一行日历效果的 ListView。
sticky-headers-recyclerview
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ListView,采用 support-v7 中的 RecyclerView 实现。
PullSeparateListView
到达顶部或底部继续拉动时,实现 Item 间的相互分离,两种模式:(1) 全部分离的模式,即屏幕内所有 Item 都会分离 (2) 部分分离模式,以点击位置为分界点,部分 item 分离。
ExpandableLayout
Header 和 Content Item 都可以展开的 ExpandableListview。
PagedHeadListView
支持 paginated header 以及 material page indicator 的 ListView.
CustomSwipeListView
支持左滑弹出自定义菜单,右滑删除且允许撤销,同时可以自定义滑动动画时间和滑动触发事件的时机等。
Pull-to-Refresh.Rentals-Android
提供一个简单可以自定义的下拉刷新实现。
ScrollerCalendar
实现每行显示一年的 12 个月份的 RecyclerView 年历。
二、ActionBar ActionBarSherlock
为 Android 所有版本提供统一的 ActionBar,解决 4.0 以下 ActionBar 的适配问题。
ActionBar-PullToRefresh
下拉刷新,ActionBar 出现加载中提示。
FadingActionBar
ListView 向下滚动逐渐显现的 ActionBar。
NotBoringActionBar
google music 下拉收缩的 ActionBar。
RefreshActionItem
带进度显示和刷新按钮的 ActionBar。
GlassActionBar
类似玻璃的有一定透明度的 ActionBar。
MenuDrawer
滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前 View 处于上下层,支持 Windows 边缘、ListView 边缘、ViewPager 变化划出菜单等。
SlidingMenu
滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单 zoom、scale、slide up 三种动画样式出现。与 MenuDrawer 相比而言,SlidingMenu 支持菜单动画样式出现,MenuDrawer 支持菜单 view 处于内容的上下层。
ArcMenu
支持类似 Path 的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单。
android-satellite-menu
类似 Path 的左下角动画旋转菜单。
radial-menu-widget
圆形菜单,支持二级菜单。
Android Wheel Menu
圆形旋转选取菜单。
FoldingNavigationDrawer
滑动并以折叠方式打开菜单。
AndroidResideMenu
仿 Dribbble 的边栏菜单。
CircularFloatingActionMenu
一个可定制的圆形的浮动菜单控件,类似于 Path 的圆形菜单。这个控件的可定制性更强,可以很容易的定制菜单出现消失时的动画,起始角度和半径。
NavigationDrawerSI
Navigation Drawer 的一个简单实现,滑动并以折叠方式打开菜单。
DragLayout
使用 support.v4 包下的 ViewDragHelper 实现 QQ5.0 侧滑。
LDrawer
Material Design 形式的展开折叠 Icon。
Floating Action Button
悬浮的圆形菜单栏,支持组建滚动时自动隐藏及其他设置。
Side-Menu.Android
分类侧滑菜单。
Context-Menu.Android
可以方便快速集成漂亮带有动画效果的上下文菜单。
Android-ViewPagerIndicator
配合 ViewPager 使用的 Indicator,支持各种位置和样式。
JazzyViewPager
支持 Fragment 切换动画的 ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等,效果类似桌面左右切换的各种效果,不过桌面并非用 ViewPager 实现而已。
JellyViewPager
特殊切换动画的 ViewPager。
Android-DirectionalViewPager
支持横向和纵向 (垂直) 的 ViewPager。
android-pulltorefresh
支持下拉刷新的 ViewPager。
FancyCoverFlow
支持 Item 切换动画效果的类似 Gallery View。
AndroidTouchGallery
支持双击或双指缩放的 Gallery(用 ViewPager 实现),相比下面的 PhotoView,在被放大后依然能滑到下一个 item,并且支持直接从 url 和文件中获取图片。
Android Auto Scroll ViewPager
Android 自动滚动 轮播循环的 ViewPager。
Salvage view
带 View 缓存的 Viewpager PagerAdapter,很方便使用。
Android PagerSlidingTabStrip
配合 ViewPager 使用的 Indicator,支持 ViewPager Scroll 时 Indicator 联动。
ViewPager3D
ViewPager3D 效果。
AnimaTabsview
仿网易云音乐标签切换的动画,带透明小三角。
LoopingViewPager
无限循环的 ViewPager。
android_page_curl
翻书卷曲效果。
ViewPagerIndicator
简化并实现 android 的 TabHost 效果,顶部滑动 tab,引导页,支持自定义 tab 样式,自定义滑动块样式和位置,自定义切换 tab 的过渡动画,子界面的预加载和界面缓存,设置界面是否可滑动。
ScreenSlideIndicator
轻量级的圆形 Indicadtor,位置可以自由调整,不会对 ViewPager 产生任何影响。
五、GridView StaggeredGridView
允许非对齐行的 GridView,类似 Pinterest 的瀑布流,并且跟 ListView 一样自带 View 缓存,继承自 ViewGroup。
AndroidStaggeredGrid
允许非对齐行的 GridView,类似 Pinterest 的瀑布流,继承自 AbsListView。
PinterestLikeAdapterView
允许非对齐行的 GridView,类似 Pinterest 的瀑布流,允许下拉刷新。
DraggableGridView
Item 可拖动交换位置的 GridView,实际是自己继承 ViewGroup 实现,类似桌面的单屏效果,可屏幕自动上下滚动进行 Item 移动交换,多屏效果见下面 PagedDragDropGrid。
StickyGridHeaders
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 GridView。
PagedDragDropGrid
Item 可拖动交换位置、拖动删除的自定义控件,实际是自己继承 ViewGroup 实现,类似桌面的多屏效果,可拖动到屏幕边缘,屏幕自动左右滚动进行 Item 移动交换,可拖动进行删除,单屏效果见上面 DraggableGridView。
Android-DraggableGridViewPager
Item 可拖动交换位置的 GridView,实际是自己继承 ViewGroup 实现,类似桌面的多屏效果,可屏幕自动左右滚动进行 Item 移动交换,单屏效果见上面 DraggableGridView。
TwoWayGridView
可横向滚动的 GridView。
PagingGridView
分页加载的 GridView。当滑动到 GridView 底部最后一个行时,显示一个进度行,然后加载下一页数据,并显示。
AsymmetricGridView
一个支持跨行和跨列可变 Item 大小的 GridView。
GridView with Header and Footer
和 ListView 一样带头部和底部的 GridView,用法和 ListView 一样。
六、ImageView PhotoView
支持双击或双指缩放的 ImageView,在 ViewPager 等 Scrolling view 中正常使用,相比上面的 AndroidTouchGallery,不仅支持 ViewPager,同时支持单个 ImageView。
android-gif-drawable
支持 gif 显示的 view,用 jni 实现的,编译生成 so 库后直接 xml 定义 view 即可,而且本身不依赖于其他开源项目所以相对下面的 ImageViewEx 简单的多。
ImageViewEx
支持 Gif 显示的 ImageView,依赖很多,编译过程很繁琐。
RoundedImageView
带圆角的 ImageView。
SelectableRoundedImageView
ImageView 允许四个角的每一个有不同的半径值。也允许椭圆形、圆形的形状或者边。
ColorArt
根据图片的均色设置背景色显示文字和图片,类似 itune11 中效果。
CircleImageView
圆形的 ImageView。
ImageViewZoom
支持放大和平移的 ImageView。
KenBurnsView
实现 Ken Burns effect 效果,达到身临其境效果的 ImageView。
CustomShapeImageView
各种形状的 ImageView,相比上面的圆形 ImageView,多了更多形状。
Shape Image View
可以自定义各种形状的 ImageView,并且支持边框。
TextDrawable
一个用于生成带有文本或者字母的图片的轻量级库。扩展自 Drawable,因此可用于现有/自定义/网络等 ImageView 类,并且包含一个流接口用于创建 drawables 以及一个定制的 ColorGenerator。
七、ProgressBar ProgressWheel
支持进度显示的圆形 ProgressBar。
android-square-progressbar
在图片周围显示进度。
HoloCircularProgressBar
Android4.1 时钟 App 样式。
ProgressButton
通过图钉的不同状态显示进度。
GoogleProgressBar
类似 google 多个圆形卡片翻转的 progressBar。
TH-ProgressButton
带圆形进度显示的按钮。
NumberProgressBar
带数字进度的进度条。
CircularProgressDrawable
带圆形进度显示的进度条。
Android-RoundCornerProgressBar
Android 圆角 ProgressBar,可自定义圆角颜色和半径,包括带 Icon 和不带 Icon 两种类型。
circular-progress-button
带进度显示的 Button。
WaveView
一个波纹效果的 View,可用来做 ProgressBar。
八、TextView 包括 TextView 及所有继承自 TextView 控件,如 EditText、Button、RadioButton。
android-flowtextview
文字自动环绕其他 View 的 Layout。
Android Form EditText
验证输入合法性的编辑框,支持输入、英文、ip、url 等多种正则验证。
Emojicon
支持 emojis 的 TextView 和 EditText。
android-circlebutton
Android 圆形按钮,实际实现是继承自 ImageView。
Segmented Radio Buttons for Android
iOS's segmented controls 的实现。
Chips EditText Library
支持国家名字联想从而选择显示该国国旗的 EditText,实际就是通过 SpannableStringBuilder 实现。
AutoFitTextView
可固定边界内容字体大小自适应的 TextView。
Shimmer for Android
文字发淡光的 TextView。
Titanic
可以显示水位上升下降的 TextView。
android-iconify
提供带 Icon 的 TextView,Menu,Button 等。
Calligraphy
让我们在 android 开发中使用自定义字体变得更加简单。
CreditsRoll
类似星球大战字幕效果的 TextView。
android-process-buton
带加载或提交进度的 Button。
FloatingActionButton
一个类似 Android 版 Google+ 浮动功能按钮的控件,可以响应 ListView 的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。
Android Saripaar
Android 表单验证。
JumpingBeans
文字像 Mexican beans 一样跳动。
FancyButtons
一个不用图片就可以帮助我们创建出漂亮按钮的库。
Android-RobotoTextView
一个实现了所有 Roboto 字体的 TextView,包括新出的 Roboto Slab 字体。
Android-WizardPager
一个表单向导库。
RippleView
一个实现了 Android L 上才引入的点击按钮后出现水波纹效果的按钮。
RippleEffect
一个实现 Material Design Ripple 效果的库,支持 Android API 9+ 以上版本。
Android Floating Label Widgets
包含一系列控件,这些控件特点是:有默认值,当值不为空时默认值浮动到上面变为提示。
MaterialEditText
EditText 的 Material Design 实现。包含中的 UI 效果和一些新增特性。
MultiActionTextView
可以分别给 TextView 中的某几个字设置点击事件的 TextView。
ToggleButton
状态切换的 Button,类似 iOS,用 View 实现。
SlideSwitch
状态切换的开关,可以设置为类似 IOS 的圆形,也可以设置为矩形,用 View 实现。
ExpandableTextView
可展开和收缩内容的 TextView。
九、ScrollView Discrollview
支持滚动时 Item 淡入淡出,平移,缩放效果的 ScrollView。
PullScrollView
仿照新浪微博 Android 客户端个人中心的 ScrollView,下拉背景伸缩回弹效果。
ParallaxScrollView
支持视差滚动的 ScrollView,背景图片的滚动速度小于 ScrollView 中子控件的滚动速度。
AKParallax-Android
支持视差滚动的 ScrollView。
Android-ObservableScrollView
监听滚动视图滚动事件的库,帮助与 Toolbar 的交互动效处理与 Material Design 的实现。
OverScrollView
有弹性的 ScrollView,实现了当手指滑动到 ScrollView 的顶部、底部时,可以继续的向上、向下拉伸。当释放手指的时候,向上、下回弹。
十、TimeView 包括 TimePicker、DatePicker、CalendarView、Clock 等时间相关控件。
android-times-square
Android 日历时间部件,支持选取单个日期,多个日期,及日期区间段和对话框形式显示。
android-calendar-card
日历。
AndroidWheel
Android Wheel 支持城市、多种日期时间、密码、图片。
GoogleDateTimePickers
时间选择部件。
DateTimePicker
日期选择部件 (Google Agenda 的样式风格)。
android-betterpickers
提供日期、数字、时间(数字方式和钟表方式)、重复周期(闹钟的周期重复)、HMS(时、分、秒)的选择,支持以 DialogFragment 的弹窗选择。
Android Week View
日期控件,支持周,天视图,支持自定义样式。
十一、TipView 包括 Toast、角标、UndoBar 等提示性控件。
Crouton
丰富样式的 Toast,允许 alert、comfirm、info 样式及点击消失样式,允许设置 Toast 显示时间,允许自定义 View。本文 32. SuperToasts 为其扩展版。
supertooltips
带动画效果的 Tips 显示。
Android ViewBadger
为其他 View 添加角标等。
SuperToasts
更丰富样式的 toast,支持 Button、Progress、Horizontal Progress 样式、支持进入动画、支持撤销及其动画设置。
UndoBar
屏幕底部显示取消或是确认的 PopupWindows。
Android-ActionItemBadge
可以在 ActionBar 的 MenuItem 上显示一个小角标。
SnackBar
Material Design 风格的 Toast,类似 Google inbox 中的提示。
HeadsUp
在 2.3 上使用 android 5.0 的 HeadsUp 效果。
十二、FlipView android-flip
类似 Flipboard 翻转动画的实现。
FlipImageView
支持 x、y、z 及动画选择的翻转动画的实现。
FoldableLayout
Flip 翻转效果的 ListView,目前还不支持 ListView 缓存。
十三、ColorPickView ColorPickerView
颜色选择器,支持 PopupWindows 或新的 Activity 中打开。
ColorPickerPreference
颜色选择器。
ColorPicker
颜色选择器(Google Agenda 中的样式风格)。
十四、GraphView MPAndroidChart
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放;支持 Android 2.2 以上,支持横纵轴缩放,多指缩放,展现动画、高亮、保存到 sdcard、从文件读取图表。
achartengine
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合。
GraphView
绘制图表和曲线图的 View,可用于 Android 上的曲形图、柱状图、波浪图展示。
HoloGraphLibrary
绘制现状图、柱状图、饼状图。
XCL-Charts
XCL-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) 等图表。其它特性还包括支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。
EazeGraph
Android 图表库,支持柱状图、分层柱状图、饼状图、线性图。
WilliamChart
绘制图表的库,支持 LineChartView、BarChartView 和 StackBarChartView 三中图表类型,并且支持 Android 2.2 及以上的系统。
HelloCharts for Android
支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持 Android 2.2 以上。
十五、UI Style 不同样式的系统 UI 风格,如 IOS、Bootstrap 风格。
UITableView
ios 风格控件,包括 Button、ListView、TableView。
Cards-UI
卡片式 View,支持单个卡片,item 为卡片的 ListView。
cardslib
卡片式 View,支持单个卡片,item 为卡片的 ListView 和 GridView。
Android-Bootstrap
Bootstrap 风格的按钮。
Material Design Android Library
Android L 中 Material Design 风格的组件适配到 Android 2.2+。
Android FlatUI
Android 扁平化风格的组件,支持一些自定义样式。
十六、其他 SwipeBackLayout
左右或向上滑动返回的 Activity。
android-styled-dialogs
可自定义样式的 dialog,默认与 Holo 主题样式一致,在 Android2.2 以上同一样式。
Android Sliding Up Panel
可拖动的 View,能在当前 Activity 上扶起一个可拖动的 Panel。
AndroidWheel
Android Wheel 支持城市、多种日期时间、密码、图片。
TableFixHeaders
第一列固定的 Table。
Inscription
可用于展示应用 change 和 new feature 信息。
ActivityTransition
Activity 切换动画,包括渐变、flip、某个位置进入等等。
EasyAndroidAnimations
针对 View 的各种动画。
GlowPadBackport
将 Android4.2 的锁屏界面解锁扩展到 Android1.6 及 1.6+。
GlowPadView
Android4 锁屏界面解锁。
android-lockpattern
Android 的图案密码解锁。
PatternLock
另一个 Android 图案解锁库。
RangeBar
类似于 SeekBar,不同的是可以选择一个范围内的值而不是单个值。
ChromeView
利用 Chromium 实现的 WebView,解决各个 Android 版本 WebView 不同的问题,同时利用最新 Chrome 代码。
android-phased-seek-bar
支持预先定义状态的 SeekBar。
Android Slider Preference Library
可添加到设置中的基于对话框的 RankBar 小部件。
ShowcaseView library
用于高亮显示应用程序的特定部分,从而突出突出重点。
android-segmented-control
Android 上的 Segmented Controls,相当于 RadioButton 组。
Swipeable Cards
类似 Tinder 的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢。
EdgeEffectOverride
改变 ScrollView, ListView, ExpandableListView, GridView, ViewPager 等滚动控件滚动到边缘的颜色效果。
android-pinned-header-listviews
使 ExpandListView 的 Group 滑动到顶端时会固定不动直到另外一个 Group 到达顶端。
AndroidSwipeLayout
滑动 Layout,支持单个 View,ListView,GridView。
DynamicCardLayout
在 Android 中实现的类似 Windows8 的瓷片布局。
Emoticons-Keyboard
带表情情符号的自定义键盘。
Android Typeface Helper
可以帮你轻松实现自定义字体的库。
Android-Anim-Playground
几个动画效果,其中第二个基于 android-svg 的绘制效果非常好。
NiftyDialogEffects
支持自定义飞入动画样式的 Dialog。
PostOffice
创建 Holo 及 Material Design 样式的 Dialog。
Swipecards
类似 Tinder 的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢,根据 Kikoso's Swipeable-Cards 改造而来。
BlurDialogFragment
显示 DialogFragment 时背景模糊效果。
range-seek-bar
随机值选取的 SeekBar。
MaterialRangeBar
可以选择一个范围内的值而不是单个值的 SeekBar,RangeBar 的 Material Design 风格适配。
MaterialList
Material Design 风格的 CardView。
road-trip
设置 path 的各种动画效果,以及如何实现复杂路径动画,类似于 ios 中的指纹注册界面的指纹动画效果。
dialogplus
一个简单的 Android 对话框,支持不同的弹出模式。
FlowLayout
一个简单的流式布局,用法类似 LinearLayout,但是能够让子元素根据宽度自动换行。
第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库 ORM 建模、Android 公共库、Android 高版本向低版本兼容、多媒体相关及其他。
一、依赖注入 DI 通过依赖注入减少 View、服务、资源简化初始化,事件绑定等重复繁琐工作。
AndroidAnnotations(Code Diet)
android 快速开发框架。
特点:(1) 依赖注入:包括 view,extras,系统服务,资源等等 (2) 简单的线程模型,通过 annotation 表示方法运行在 ui 线程还是后台线程 (3) 事件绑定:通过 annotation 表示 view 的响应事件,不用在写内部类 (4) REST 客户端:定义客户端接口,自动生成 REST 请求的实现 (5) 没有你想象的复杂:AndroidAnnotations 只是在在编译时生成相应子类 (6) 不影响应用性能:仅 50kb,在编译时完成,不会对运行时有性能影响。
PS:与 roboguice 的比较:roboguice 通过运行时读取 annotations 进行反射,所以可能影响应用性能,而 AndroidAnnotations 在编译时生成子类,所以对性能没有影响。
roboguice
帮你处理了很多代码异常,利用 annotation 使得更少的代码完成项目。
butterknife
利用 annotation 帮你快速完成 View 的初始化,减少代码。
Dagger
依赖注入,适用于 Android 和 Java。
二、图片缓存 Android-Universal-Image-Loader
图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
picasso
square 开源的图片缓存。
特点:(1) 可以自动检测 adapter 的重用并取消之前的下载 (2) 图片变换 (3) 可以加载本地资源 (4) 可以设置占位资源 (5) 支持 debug 模式。
ImageCache
图片缓存,包含内存和 Sdcard 缓存。
特点:(1) 支持预取新图片,支持等待队列 (2) 包含二级缓存,可自定义文件名保存规则 (3) 可选择多种缓存算法 (FIFO、LIFO、LRU、MRU、LFU、MFU 等 13 种) 或自定义缓存算法 (4) 可方便的保存及初始化恢复数据 (5) 支持不同类型网络处理 (6) 可根据系统配置初始化缓存等。
Cube ImageLoader
阿里巴巴一淘使用的图片加载,综合了 Android-Universal-Image-Loader 和 square 等组件优点,简单易用,良好的中文文档支持。
fresco
一款强大的图片缓存工具,由 Facebook 开发。
特点:(1) 两个内存缓存加上磁盘缓存构成了三级缓存 (2) 支持流式,可以类似网页上模糊渐进式显示图片 (3) 对多帧动画图片支持更好,如 Gif、WebP (4) 更多样的显示,如圆角、进度条、点击重试、自定义对焦点 (5) 更多样的加载,如支持 EXIF、全面支持 WebP (6) 支持 Android 2.3+。
三、网络相关 Asynchronous Http Client for Android
Android 异步 Http 请求。
特点:(1) 在匿名回调中处理请求结果 (2) 在 UI 线程外进行 http 请求 (3) 文件断点上传 (4) 智能重试 (5) 默认 gzip 压缩 (6) 支持解析成 Json 格式 (7) 可将 Cookies 持久化到 SharedPreferences。
android-query
异步加载,更少代码完成 Android 加载。
Async Http Client
Java 异步 Http 请求。
Ion
支持图片、json、http post 等异步请求。
HttpCache
Http 缓存。
特点是:(1) 根据 cache-control、expires 缓存 http 请求 (2) 支持同步、异步 Http 请求 (3) 在匿名回调中处理请求结果 (4) 在 UI 线程外进行 http 请求 (5) 默认 gzip 压缩。
okhttp
square 开源的 http 工具类。
特点:(1) 支持 SPDY() 协议。SPDY 协议是 Google 开发的基于传输控制协议的应用层协议,通过压缩,多路复用 (一个 TCP 链接传送网页和图片等资源) 和优先级来缩短加载时间。(2) 如果 SPDY 不可用,利用连接池减少请求延迟 (3) Gzip 压缩 (4) Response 缓存减少不必要的请求。
RoboSpice
Android 异步网络请求工具,支持缓存、REST 等等。
四、数据库 orm 工具包 orm 的 db 工具类,简化建表、查询、更新、插入、事务、索引的操作。
greenDAO
Android Sqlite orm 的 db 工具类。
特点:(1) 性能佳 (2) 简单易用的 API (3) 内存小好小 (4) 库大小小。
ActiveAndroid
Android Sqlite orm 的 db 工具类。
Sprinkles
Android Sqlite orm 的 db 工具类,比较显著的特点就是配合 能保存从服务器获取的数据。
Realm
移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好。
Schematic
根据 SQLite 生成 ContentProvider。
DBFlow
Android SQLite ORM 工具库。综合了 Active Android, Schematic, Ollie,Sprinkles 等库的优点;通过注解实现,性能好;能生成 ContentProvider。
五、Android 公共库 Guava
Google 的基于 java1.6 的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O 等等。这些高质量的 API 可以使你的 JAVa 代码更加优雅,更加简洁。
Volley
Google 提供的网络通信库,使得网络请求更简单、更快速。
AndroidCommon
Android 公共库。
包括:(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 数据。
UltimateAndroid
UltimateAndroid 是一个快速开发 Android 应用的框架,框架目前主要包含的功能有 View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘 LRU 等功能。同时提供了类似于 TripleDes、Webview 快速设置、Md5 处理、String 处理,Https 处理等常用工具类,还有超过 100 多种 UI 控件效果。
SAF
SAF(Simple Android Framework) 是一个简单的 android 框架,它为开发 Android app 提供了基础性组件。
包括:(1)Event Bus(事件总线) (2) Rest Client(http 的框架) (3) Image Cache(图片缓存) (4) Dependency Injection(依赖注入) (5) Sqlite ORM(sqlite 的 orm) (6) Router(Activity、Fragment 的 Router) (7) Utils(各种常用的工具类)。
Barber
Custom View 神器。通过简单的注解帮助你大大减少 Custom View 中的代码量。由于和 ButterKnife 一样使用了 Annotation Proccessor,所以对程序性能没有影响。
device-year-class
A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end".(facebook 开发的检测手机主流配置工具)。
六、Android 高版本向低版本兼容 ActionBarSherlock
为 Android 所有版本提供统一的 ActionBar,解决 4.0 以下 ActionBar 的适配问题。
Nine Old Androids
将 Android 3.0(Honeycomb) 所有动画 API(ObjectAnimator ValueAnimator 等) 兼容到 Android1.0。
HoloEverywhere
将 Android 3.0 的 Holo 主题兼容到 Android2.1++。
SherlockNavigationDrawer
将 Android NavigationDrawer 和 ActionbarSherlock 结合,解决 4.0 以下 NavigationDrawer 的适配问题。
Notifications4EveryWhere
将 Android 4.1 的 Notification 兼容到 Android2.2++。
Android Switch Widget Backport
将 Android Switch 和 SwitchPreference 的兼容到 Android2.1++。
android-datepicker
将 Android 4.0 的 datepicker 兼容到 Android2.2++。
GlowPadBackport
Android 4.2 的 GlowPadView 向后适配到 API4 以上。
Transitions Everywhere
Android 4.4 的 Transitions API 兼容到 Android 2.2 以上。
七、多媒体相关 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(翻转) 等各种特效。
Android StackBlur
图片模糊效果工具类。
Bitmap Smart Clipping using OpenCV
图片智能裁剪保留重要部分显示。
利用淘宝的 库完成。
一淘玩客正在使用的图片裁剪,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域。
特点:(1). 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉 (2).自动其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域。
Cropper
图片局部剪切工具,可触摸控制选择区域或旋转。
android-crop
图片裁剪 Activity。
TileView
可分块显示大图,支持 2D 拖动、双击、双指放大、双指捏合。
BlurEffectForAndroidDesign
图片模糊效果。
android-eye
PC 端网页查看同一局域网内的手机摄像头内容,可以用来监控哦。
libpng for Android
PNG 图片的 jni 库,支持几乎 png 的所有特性。
android-gpuimage
基于 GPU 的图片滤镜。
AndroidFaceCropper
图片脸部自动识别,将识别后的局部图片返回。
Android Video Crop
利用 TextureView 播放和剪切视频,类似 ImageView.setScaleType。
svg-android
Android Svg 矢量图形支持。
Android Visualizer
从 Android MediaPlayer 获得音频,然后像 iTunes 及 WinAmp 一样展示音轨。
ExoPlayer
包括仪表板和 SmoothStreaming 自适应回放,缓存持久化和自定义渲染器,方便自定义和扩展,并且可以通过应用商店更新。
DanmakuFlameMaster
android 上开源弹幕解析绘制引擎项目。
八、事件总线 (订阅者模式) 通过发布/订阅事件解耦事件发送和接受,从而简化应用程序组件 (Activities, Fragments 及后台线程) 之间的通信。
EventBus
greenrobot 的开源项目。
特点:(1) 支持在不同类型的线程中处理订阅,包括发布所在线程,UI 线程、单一后台线程、异步线程 (2) 支持事件优先级定义,支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播很像啊 (3) 不是基于 annotations (4) 性能更优 (5) 体积小 (6) 支持单例创建或创建多个对象 (7) 支持根据事件类型订阅。
Otto
Square 的开源项目,基于 Guava 的 Android 优化。
九、传感器 Great Android Sensing Toolkit
Android 感应器工具包,包含示例及使用过程中可能需要的算法。
SensorManager
Android 传感器管理。
leapcast
ChromeCast 模拟器的 App。
Arduino-Communicator
与 Arduino 通信的 App。
android-pedometer
Android 计步器。
OwnTracks for Android
自己的轨迹记录。
Shake Detector library for Android
Android 手机震动摇晃检测库,提供供 UI 线程调用的回调接口。
Android heart rate monitor
Android 心跳检测。
Bluetooth LE Library for Android
蓝牙源信息,包括宝库 Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息。
farebot
通过 NFC 从公交卡中读取数据的一个应用。
十、安全 Android-PasscodeLock
应用锁,每次启动或从任何 Activity 启动应用都需要输入四位数字的密码方可进入。
GlowPadBackport
将 Android4.2 的锁屏界面解锁扩展到 Android1.6 及 1.6+。
GlowPadView
Android 4 锁屏界面解锁。
android-lockpattern
Android 的图案密码解锁。
Android-InsecureBank
关于 Android 不安全性的示例。
十一、插件化 dynamic-load-apk
Android 动态加载 Apk,热部署,利用 ClassLoader 以及 Activity 代理的方式解决。
Android Dynamic Loader
点评的实现方式,和上面不同的是:他不是用代理 Activity 的方式实现而是用 Fragment 以及 Schema 的方式实现。
xCombine
Android App 插件式插件开发,插件必须先安装,更推荐看上面两个开源项目。
Android Plugin Framework
Android 插件式开发,开放的源码目前不完整。
multidex
安装多 dex 的 classloader。
ANR-WatchDog
Android ANR 监听,通过监听自己的 UI Thread 是否被执行确定是否发生了 ANR,并可以设置相关事件。
十二、文件 对不同文档类型的处理,包括 PDF、Word、EPub、Html、Zip 等。
purePDF
允许从任何运行的 SWF 文件读取和创建 PDF 文档。
android-pdfview
快速解析 pdf 的 view,默认支持手势缩放和相关动画。
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。
Countly
Android 移动端数据采集分析系统。
aFileChooser
文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。
androidpn
基于 xmpp 协议的消息推送解决方案,包括服务器端和 android 端。
Bolts
Android 的异步编程模式。
与 AsyncTask 比较:(1) 使用的是无大小限制的线程池 (2) 任务可组合可级联,防止了代码耦合。
CastCompanionLibrary-android
使 Android 程序中更快的接入 Google Cast。
CastVideos-android
从 Android 设备分享 Video 通过 Google Cast。
Uninstall_Statics
Android 应用自身被卸载监听及打开浏览器等反馈功能实现。
Memento
保证在系统配置改变时,Activity 中的某些数据可以简单安全的保持不变。
FreeFlow
布局引擎,更简单的创建自定义布局,并且当数据和布局改变时更美观的过渡动画。
Android Gesture Detectors Framework
Android 手势框架,支持双指旋转、移动、平移、缩放等。
Mapbox Android SDK
Android Map 的替代版。
Activity animation
Activity 跳转动画,支持各个方向波浪的效果。
KryoNet
通过 NIO 提供客户端和服务器端 TCP/UDP 网络传输的 Java 库。
Rebound
一个模仿弹簧反弹的 Java 库,可用于创建动画。
Android Social Networks
社交网络接入统一管理器,可方便的从 Twitter, LinkedIn, Facebook, Google Plus 登陆、获得个人信息、发送消息、发送专篇、添加或删除好友。
SmartAppUpdates
Android App 增量升级,包含前后端方案、Demo、以及 so 库,可用于商店或大体积 App 差分升级。
Magnet
创建类似 Facebook 聊天桌面悬浮窗的效果。
Parceler
通过注解及工具类自动完成实体类 Parcelable 及值传递。
AcDisplay
将 Android 的通知都集中到锁屏显示。
QrCodeScan
ZXing 和 ZBar 结合的二维码扫描项目,提高了扫描效率。
Android-ScreenShot
实现 android 系统截屏功能。
card.io SDK for Android
信用卡扫描 Android SDK。
ASNE
Twitter, Facebook, Google Plus, LinkedIn, Instagram, Vkontakte, Odnoklassniki 的集成库,包括他们的大多数功能。
Android Signature Pad
Android 自定义的签名 View,可自定义笔颜色和大小。
Teleport
Android Wear 数据同步和消息传送库。
DebugLog
可以帮你创建更简单和更容易理解的调试日志,能够友好的显示调试信息所在类和函数。
Logger
简单、美观而且十分强大的 Android 日志工具。
第三部分 优秀项目 主要介绍那些 Android 还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好。
(1) ZXing
二维码扫描工具。
PS:现在市面上很多应用的二维码扫描功能都是从这个修改而来。
(2) photup
编辑机批量上传照片到 facebook 上。
PS:代码分包合理,很棒。不过这个项目依赖的开源项目比较多,比较难编译。
(3) github-android
Github 的 Android 客户端项目。
(4) Notes
MIUI 便签。
PS:项目分包比较合理,相比较 miui 的文件管理器 代码规范较好得多。
(5) weicuiyuan
四次元 - 新浪微博客户端。
(6) gnucash-android
一个记账理财软件。
(7) AntennaPod
支持 rss 订阅、音乐订阅。
(8) ChaseWhisplyProject
打鬼游戏。
(9) Tweet Lanes
功能完整的 Twitter 客户端。
(10) Financius
简单易用的记账程序。
(11) todo.txt-android
todo.txt 的官方 Android 应用。
(12) simpletask
基于 todo.txt 官方应用的另一个客户端。
(13) Muzei Live Wallpaper
定时更换桌面精美壁纸。
(14) Scanbook
扫描搜索查询图书信息。
(15) iosched The Google I/O 2014 Android App
第四部分 开发工具及测试工具 主要介绍和 Android 开发工具和测试工具相关的开源项目。
一、开发效率工具 Parceler
通过注解及工具类自动完成实体类 Parcelable 及值传递。
Json2Java
根据 JSon 数据自动生成对应的 Java 实体类,还支持 Parcel、Gson Annotations 对应代码自动生成。期待后续的提取父类以及多 url 构建整个工程的功能。
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 等。
jsonschema2pojo
根据 Json 内容生成 java 对象,支持 jackjson 和 gson。
9-Patch-Resizer
自动生成 png 及点 9 图片的不同分辨率版本。
AndroidLocalizationer
可用于将项目中的 string 资源自动翻译为其他语言的 Android Studio/IntelliJ IDEA 插件。
二、开发自测相关 Quality Tools for Android
Android 测试及自测工具集合和示例。
android-test-kit
Google 的 Android 测试工具。
包括 GoogleInstrumentationTestRunner(增强版的 InstrumentationTestRunner) 和 Espresso(用于快速写出可靠测试用例的 API)。
robolectric
测试用例编写框架。
特点:(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 进行封装的测试框架.
Augmented Traffic Control
模拟网络状况,包括带宽、时延抖动、丢包率、错包率、包重排率。
stetho
强大的 Android Debug 工具。支持网络请求监控以及数据库查看,可以和 Chrome DevTools 结合或者命令行模式。
四、开发及编译环境 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 集成控件:。
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 插件。
ChromeADB
Chrome 的 Adb 插件,当登录后,能看到所有连接的设备并操作,可以看应用、进程、内存及磁盘使用情况等。
五、其他 ViewServer
允许 app 运行在任何手机上都可以用 HierarchyViewer 查看。
GridWichterle for Android
在整个系统上显示一个 grid,用来帮助查看应用布局及使得布局更美观,可设置 grid 网格大小和颜色,android 推荐 48dp 和 8dp,可见 Android Design Guidelines – Metrics and Grids,比起 hierarchyviewer 相差甚远,不过偶尔可用来作为布局查看工具。
Catlog
手机端 log 查看工具,支持不同颜色显示、关键字过滤、级别过滤、进程 id 过滤、录制功能等。
PID Cat
根据 package 查看 logcat 日志。
ACRA
应用崩溃信息日志上报到 GoogleDoc 工具,网页版展现结果三方开源地址。
Crashlytics
提供丰富的应用崩溃信息日志收集。
轻量级,丰富,可自定义应用崩溃信息收集器,附有邮件通知。
集成插件:。
Android Resource Navigator
chrome 插件,可以方便的查看 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。
android-resource-remover
根据 lint 的提示删除项目中无用的资源,减少包的大小。
Telescope
通过手势截图以特定主题发送到特定邮箱地址报告 Bug。
Complete Android Fragment & Activity Lifecycle
完整的 Android Fragment/Activity 生命周期图。
Bugsnag Notifier for Android
通过 Thread.UncaughtExceptionHandler 捕获应用未处理的异常崩溃 Bug 并用 Notification 展示同时上传到后台服务器。
Material Design Icons
Google Material Design 规范中的 Icon。
scrollscreenshot
Android 滚动屏幕自动截图 jar 包,支持纵向、横向滚动截屏拼接。
droidicon
1600+ 的海量 Icon,包括 750+ 的 Material Design icons。
第五部分 主要介绍那些乐于分享并且有一些很不错的开源项目的个人和组织。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 地址:。
主页:。
個人攝影作品:。
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。
主页:。
三、博客 相关免费在线工具 Keycode 信息 查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
Escape 与 Native 编解码 JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
JavaScript / HTML 格式化 使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
JavaScript 压缩与混淆 Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online