Android开源项目总结
Android开源项目第一篇——个性化控件(View)篇
包含ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其它
Android开源项目第二篇——工具库篇
包含依赖注入、图片缓存、网络相关、数据库ORM工具包、Android公共库、高版本号向低版本号兼容库、多媒体、事件总线、传感器、安全、其它
Android开源项目第三篇——优秀项目篇
比較有意思的完整的Android项目
Android开源项目第四篇——开发及測试工具篇
包含开发效率工具、开发自測相关、測试工具、开发及编译环境、其它
Android开源项目第五篇——优秀个人和团体篇
乐于分享而且有一些非常不错的开源项目的个人和组织。包含JakeWharton、Chris
Banes、Koushik Dutta等大牛
第一部分 个性化控件(View)
主要介绍那些不错个性化的View,包含ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其它如Dialog、Toast、EditText、TableView、Activity Animation等等。
一、ListView
android-pulltorefresh 一个强大的拉动刷新开源项目。支持各种控件下拉刷新
ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
)ScrollView、Fragment上下左右拉动刷新,比以下johannilsson那个仅仅支持ListView的强大的多。而且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示。体验更好。
项目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP演示样例:新浪微博各个页面android-pulltorefresh-listview 下拉刷新ListView
项目地址:https://github.com/johannilsson/android-pulltorefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true
PS:这个被非常多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefreshDropDownListView 下拉刷新及滑动究竟部载入很多其它ListView
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址: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-listview
Demo地址:id=com.mobeta.android.demodslv" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
APP演示样例:Wordpress AndroidSwipeListView 支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间
项目地址:https://github.com/47deg/android-swipelistview
Demo地址:id=com.fortysevendeg.android.swipelistview" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
APP演示样例:微信Android-SwipeToDismiss 滑动Item消失ListView
项目地址:https://github.com/romannurik/Android-SwipeToDismiss
支持3.0下面版本号见:https://github.com/JakeWharton/SwipeToDismissNOA
Demo地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_codeStickyListHeaders GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView,支持高速滑动,支持Android2.3及以上
项目地址:https://github.com/emilsjolander/StickyListHeaders
APP演示样例:Android 4.0联系人
效果图:pinned-section-listview GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
项目地址:https://github.com/beworker/pinned-section-listview
效果图:PinnedHeaderListView GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
项目地址:https://github.com/JimiSmith/PinnedHeaderListViewQuickReturnHeader ListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现
项目地址:https://github.com/ManuelPeinado/QuickReturnHeader
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
APP演示样例:google plusIndexableListView ListView右側会显示item首字母快捷索引,点击可高速滑动到某个item
项目地址:https://github.com/woozzu/IndexableListView
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
APP演示样例:微信通讯录、小米联系人CustomFastScrollView ListView高速滑动。同一时候屏幕中间PopupWindows显示滑动到的item内容或首字母
项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
效果图:Android-ScrollBarPanel ListView滑动时固定的Panel指示显示在scrollbar旁边
项目地址:https://github.com/rno/Android-ScrollBarPanel
效果展示:https://github.com/rno/Android-ScrollBarPanel/raw/master/demo_capture.pngSlideExpandableListView 用户点击listView item滑出固定区域,其它item的区域收缩
项目地址:https://github.com/tjerkw/Android-SlideExpandableListView
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true
JazzyListView ListView及GridView item以特殊动画效果进入屏幕。效果包含grow、cards、curl、wave、flip、fly等等
项目地址:https://github.com/twotoasters/JazzyListView
Demo地址: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/ListViewAnimations
Demo地址:id=com.haarman.listviewanimations" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?
id=com.haarman.listviewanimations
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.0DevsmartLib-Android 横向ListView
项目地址:https://github.com/dinocore1/DevsmartLib-Android
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true
HorizontalVariableListView 支持Item宽度不一致的ListView
项目地址:https://github.com/sephiroth74/HorizontalVariableListViewLinearListView 用LinearLayout实现的ListView。可解决多个ListView而且等问题。
眼下自己也有须要。等亲自尝试过后会再详细介绍
项目地址:https://github.com/frankiesardo/LinearListViewMultiChoiceAdapter 支持多选的ListView Adapter
项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter
Demo地址:id=com.manuelpeinado.multichoiceadapter.demo" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo
二、ActionBar
ActionBarSherlock 为Android全部版本号提供统一的ActionBar,解决4.0下面ActionBar的适配问题
项目地址:https://github.com/JakeWharton/ActionBarSherlock
Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
APP演示样例:太多了。。如今连google都在用
ActionBar-PullToRefresh 下拉刷新,ActionBar出现载入中提示
项目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
Demo地址:id=uk.co.senab.actionbarpulltorefresh.samples.stock" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
APP演示样例:Gmail。Google plus,知乎等FadingActionBar ListView向下滚动逐渐显现的ActionBar
项目地址:https://github.com/ManuelPeinado/FadingActionBar
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
APP演示样例:google music。知乎NotBoringActionBar google music下拉收缩的ActionBar
项目地址:https://github.com/flavienlaurent/NotBoringActionBar
Demo地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
APP演示样例:Google音乐RefreshActionItem 带进度显示和刷新button的ActionBar
项目地址:https://github.com/ManuelPeinado/RefreshActionItem
Demo地址:id=com.manuelpeinado.refreshactionitem.demo" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
APP演示样例:The New York Times,DevAppsDirect.GlassActionBar 类似玻璃的有一定透明度的ActionBar
项目地址:https://github.com/ManuelPeinado/GlassActionBar
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
APP演示样例:google music
三、Menu
MenuDrawer 滑出式菜单。通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层。支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。
项目地址:https://github.com/SimonVT/android-menudrawer
Demo地址:http://simonvt.github.io/android-menudrawer/
APP演示样例:Gmail、Google Music等大部分google appSlidingMenu 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。
项目地址:https://github.com/jfeinstein10/SlidingMenu
Demo地址:id=com.slidingmenu.example" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.slidingmenu.example
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的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单
项目地址:https://github.com/daCapricorn/ArcMenu
APP演示样例:Path
效果图:
https://dl.dropboxusercontent.com/u/11369687/preview1.png
https://dl.dropboxusercontent.com/u/11369687/raymenu.pngandroid-satellite-menu 类似Path的左下角动画旋转菜单
项目地址:https://github.com/siyamed/android-satellite-menu
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
APP演示样例:Pathradial-menu-widget 圆形菜单,支持二级菜单
项目地址:https://code.google.com/p/radial-menu-widget/
效果图:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpgAndroid Wheel Menu 圆形旋转选取菜单
项目地址:https://github.com/anupcowkur/Android-Wheel-Menu
效果图:FoldingNavigationDrawer滑动并以折叠方式打开菜单
项目地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
使用介绍:https://play.google.com/store/apps/details?id=com.ptr.folding.sample
效果图:
四、ViewPager
、Gallery
Android-ViewPagerIndicator 配合ViewPager使用的Indicator。支持各种位置和样式
项目地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
Demo地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
APP演示样例:太多了。。JazzyViewPager 支持Fragment切换动画的ViewPager,动画包含转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等
项目地址:https://github.com/jfeinstein10/JazzyViewPager
Demo地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
效果类似桌面左右切换的各种效果,只是桌面并不是用ViewPager实现而已Android-DirectionalViewPager 支持横向和纵向(垂直)的ViewPager
项目地址:https://github.com/JakeWharton/Android-DirectionalViewPager
Demo地址:id=com.directionalviewpager.sample" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://market.android.com/details?id=com.directionalviewpager.sample
android-pulltorefresh 支持下拉刷新的ViewPager
项目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP演示样例:新浪微博各个页面FancyCoverFlow支持Item切换动画效果的类似Gallery View
项目地址:https://github.com/davidschreiber/FancyCoverFlow
Demo地址:id=at.technikum.mti.fancycoverflow.samples" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
效果图:AndroidTouchGallery 支持双击或双指缩放的Gallery(用ViewPager实现)
相比以下的PhotoView。在被放大后依旧能滑到下一个item,而且支持直接从url和文件里获取图片,
项目地址:https://github.com/Dreddik/AndroidTouchGallery
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
APP演示样例:类似微信中查看聊天记录图片时可双击放大。而且放大情况下能正常左右滑动到前后图片Android Auto Scroll ViewPager Android自己主动滚动 轮播循环的ViewPager
项目地址:https://github.com/Trinea/android-auto-scroll-view-pager
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/auto-scroll-view-pager/Salvage view 带View缓存的Viewpager PagerAdapter。非常方便使用
项目地址:https://github.com/JakeWharton/salvageAndroid PagerSlidingTabStrip 配合ViewPager使用的Indicator,支持ViewPager Scroll时Indicator联动
项目地址:https://github.com/astuetz/PagerSlidingTabStrip
Demo地址:id=com.astuetz.viewpager.extensions.sample" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample
五、GridView
StaggeredGridView
同意非对齐行的GridView
类似Pinterest的瀑布流,而且跟ListView一样自带View缓存,继承自ViewGroup
项目地址:https://github.com/maurycyw/StaggeredGridView
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?
raw=true
APP演示样例:Pinterest等AndroidStaggeredGrid
同意非对齐行的GridView
类似Pinterest的瀑布流。继承自AbsListView
项目地址:https://github.com/etsy/AndroidStaggeredGrid
APP演示样例:Pinterest等PinterestLikeAdapterView
同意非对齐行的GridView
类似Pinterest的瀑布流,同意下拉刷新
项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
APP演示样例:Pinterest等DraggableGridView
Item可拖动交换位置的GridView
实际是自己继承ViewGroup实现。类似桌面的单屏效果,可屏幕自己主动上下滚动进行Item移动交换,多屏效果见以下PagedDragDropGrid
项目地址:https://github.com/thquinn/DraggableGridView
Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
StickyGridHeaders
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的GridView
项目地址:https://github.com/TonicArtos/StickyGridHeaders
效果图:PagedDragDropGrid
Item可拖动交换位置、拖动删除的自己定义控件
实际是自己继承ViewGroup实现,类似桌面的多屏效果。可拖动到屏幕边缘,屏幕自己主动左右滚动进行Item移动交换,可拖动进行删除。单屏效果见上面DraggableGridView
项目地址:https://github.com/mrKlar/PagedDragDropGrid
Demo视频:http://youtu.be/FYTSRfthSuQAndroid-DraggableGridViewPager
Item可拖动交换位置的GridView
实际是自己继承ViewGroup实现。类似桌面的多屏效果,可屏幕自己主动左右滚动进行Item移动交换,单屏效果见上面DraggableGridView
项目地址:https://github.com/zzhouj/Android-DraggableGridViewPager
Demo地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=true
六、ImageView
PhotoView
支持双击或双指缩放的ImageView
在ViewPager等Scrolling view中正常使用。相比上面的AndroidTouchGallery。不仅支持ViewPager。同一时候支持单个ImageView
项目地址:https://github.com/chrisbanes/PhotoView
Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
APP演示样例:photupandroid-gif-drawable
支持gif显示的view
项目地址:https://github.com/koral--/android-gif-drawable
用jni实现的。编译生成so库后直接xml定义view就可以,并且本身不依赖于其它开源项目所以相对以下的ImageViewEx简单的多ImageViewEx
支持Gif显示的ImageView
项目地址:https://github.com/frapontillo/ImageViewEx
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">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/ColorArt
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=trueCircleImageView
圆形的ImageView
项目地址:https://github.com/hdodenhof/CircleImageView
效果图:ImageViewZoom
支持放大和平移的ImageView
项目地址:https://github.com/sephiroth74/ImageViewZoom
APP演示样例:id=com.aviary.android.feather" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?
id=com.aviary.android.feather
KenBurnsView
实现Ken Burns effect效果,达到身临其境效果的ImageView
项目地址:https://github.com/flavioarfaria/KenBurnsView
七、ProgressBar
SmoothProgressBar 水平进度条
项目地址:https://github.com/castorflex/SmoothProgressBar
Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sampleProgressWheel 支持进度显示的圆形ProgressBar
项目地址:https://github.com/Todd-Davies/ProgressWheel
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true
android-square-progressbar 在图片周围显示运行进度
项目地址:https://github.com/mrwonderman/android-square-progressbar
Demo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
APP演示样例:square
效果图:HoloCircularProgressBar Android4.1 时钟App样式
项目地址:https://github.com/passsy/android-HoloCircularProgressBar
APP演示样例:Android4.1时钟App
效果图:ProgressButton 通过图钉的不同状态显示运行进度
项目地址:https://github.com/f2prateek/progressbutton
文档介绍:http://f2prateek.com/progressbutton/
效果图:
八、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.pngAndroid Form EditText
验证输入合法性的编辑框
支持输入、英文、ip、url等多种正则验证
项目地址:https://github.com/vekexasia/android-edittext-validator
Demo地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexampleEmojicon
支持emojis的TextView和EditText
项目地址:https://github.com/rockerhieu/emojicon
文档地址:http://rockerhieu.com/emojicon/android-circlebutton
Android圆形button。实际实现是继承自ImageView
项目地址:https://github.com/markushi/android-circlebutton
Demo地址:https://github.com/markushi/android-circlebutton/blob/master/example/example.apkSegmented Radio Buttons for Android
iOS’s segmented controls的实现
项目地址:https://github.com/vinc3m1/android-segmentedradiobutton
Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
效果图:Chips EditText Library
支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现
项目地址:https://github.com/kpbird/chips-edittext-library
Demo地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/binAutoFitTextView
可固定边界内容字体大小自适应的TextView
项目地址:https://github.com/grantland/android-autofittextviewShimmer for Android
文字发淡光的TextView
项目地址:https://github.com/RomainPiel/Shimmer-android
九、其它
achartengine 强大的图表绘制工具
支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合
项目地址:https://code.google.com/p/achartengine/
官方站点:http://www.achartengine.org/
效果图:
http://www.achartengine.org/dimages/sales_line_and_area_chart.png
http://www.achartengine.org/dimages/temperature_range_chart.png
http://www.achartengine.org/dimages/combined_chart.png
http://www.achartengine.org/dimages/budget_chart.png
APP演示样例:Wordpress Android,Google AnalyticsGraphView 绘制图表和曲线图的View
可用于Android上的曲形图、柱状图、波浪图展示
项目地址:https://github.com/jjoe64/GraphView
Demoproject:https://github.com/jjoe64/GraphView-Demos
Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP演示样例:Wordpress Android,Google Analyticsandroid-flip 类似Flipboard翻转动画的实现
项目地址:https://github.com/openaphid/android-flip
Demo地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
APP演示样例:flipboardFlipImageView 支持x、y、z及动画选择的翻转动画的实现
项目地址:https://github.com/castorflex/FlipImageView
Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageviewSwipeBackLayout 左右或向上滑动返回的Activity
项目地址:https://github.com/Issacw0ng/SwipeBackLayout
Demo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
APP演示样例:知乎Cards-UI 卡片式View。支持单个卡片,item为卡片的ListView
项目地址:https://github.com/afollestad/Cards-UI
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true
cardslib 卡片式View,支持单个卡片,item为卡片的ListView和GridView
项目地址:https://github.com/gabrielemariotti/cardslib
Demo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo
android-styled-dialogs 可自己定义样式的dialog
默认与Holo主题样式一致,在Android2.2以上同一样式
项目地址:https://github.com/inmite/android-styled-dialogs
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=trueCrouton 丰富样式的Toast
同意alert、comfirm、info样式及点击消失样式,同意设置Toast显示时间,同意自己定义View。本文32. SuperToasts为其扩展版
项目地址:https://github.com/keyboardsurfer/Crouton
Demo地址:id=de.keyboardsurfer.app.demo.crouton" target="_blank" style="color:rgb(65,131,196); text-decoration:none">http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.crouton
supertooltips 带动画效果的Tips显示
项目地址:https://github.com/nhaarman/supertooltips
Demo地址:id=com.haarman.supertooltips" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.haarman.supertooltips
Android ViewBadger为其它View加入角标等
项目地址:https://github.com/jgilfelt/android-viewbadger
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?Android Sliding Up Panel 可拖动的View,能在当前Activity上扶起一个可拖动的Panel
项目地址:https://github.com/umano/AndroidSlidingUpPanel
Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP演示样例:Google Music精简播放栏android-times-square Android日历时间部件
支持选取单个日期。多个日期,及日期区间段和对话框形式显示
项目地址:https://github.com/square/android-times-square
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=true
android-calendar-card 日历
项目地址:https://github.com/kenumir/android-calendar-card
Demo地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
效果图:ColorPickerView 颜色选择器,支持PopupWindows或新的Activity中打开
项目地址:https://code.google.com/p/color-picker-view/
效果图:HoloColorPicker 颜色选择器
项目地址:https://github.com/LarsWerkman/HoloColorPicker
Demo地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/editAndroidWheel Android Wheel支持城市、多种日期时间、password、图片
项目地址:https://github.com/sephiroth74/AndroidWheel
效果图:TableFixHeaders 第一列固定的Table
项目地址:https://github.com/InQBarna/TableFixHeaders
Demo地址:http://bit.ly/13buAIqUITableView ios风格控件
包含Button、ListView、TableView
项目地址:https://github.com/thiagolocatelli/android-uitableview
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=trueATableView ios风格控件
项目地址:https://github.com/dmacosta/ATableView
Demo地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demoUndoBar屏幕底部显示取消或是确认的PopupWindows
项目地址:https://github.com/soarcn/UndoBar
效果图:Inscription可用于展示应用change和new feature信息
项目地址:https://github.com/MartinvanZ/InscriptionActivityTransition Activity切换动画,包含渐变、flip、某个位置进入等等
项目地址:https://github.com/ophilbert/ActivityTransition
使用介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
效果图:类似桌面左右切换的各种效果,只是桌面并不是用ViewPager实现而已GlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
项目地址:https://github.com/rock3r/GlowPadBackport
Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
效果图:GlowPadView Android4锁屏界面解锁
项目地址:https://github.com/nadavfima/GlowPadView
效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.pngandroid-lockpattern Android的图案password解锁
项目地址:https://code.google.com/p/android-lockpattern/
Demo地址:id=group.pals.android.lib.ui.lockpattern.demo" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse
演示样例APP:Android开机的图案password解锁,支付宝的password解锁RangeBar 类似于SeekBar,不同的是能够选择一个范围内的值而不是单个值
项目地址:https://github.com/edmodo/range-bar
Demo地址:raw=true" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true
效果图:SuperToasts 更丰富样式的toast。支持Button、Progress、Horizontal Progress样式、支持进入动画、支持撤销及其动画设置
项目地址:https://github.com/JohnPersano/SuperToasts
Demo地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo
效果图:GoogleDateTimePickers 时间选择部件
项目地址:https://github.com/Mirkoddd/GoogleDateTimePickers
文档地址:https://play.google.com/store/apps/details?id=com.mirko.sample&hl=itUndoBar 屏幕底部显示取消或是确认某操作
项目地址:https://github.com/jenzz/Android-UndoBar
效果图:ColorPickerPreference 颜色选择器
项目地址:https://github.com/attenzione/android-ColorPickerPreference
效果图:HoloGraphLibrary 绘制现状图、柱状图、饼状图
项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/HomeChromeView 利用Chromium实现的WebView,解决各个Android版本号WebView不同的问题,同一时候利用最新Chrome代码
项目地址:https://github.com/pwnall/chromeviewDiscrollview 支持滚动时Item淡入淡出。平移,缩放效果的ScrollView
项目地址:https://github.com/flavienlaurent/discrollview
Demo地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apkAndroid Slider Preference Library
可加入到设置中的基于对话框的RankBar小部件
项目地址:https://github.com/jayschwa/AndroidSliderPreferenceShowcaseView library
用于高亮显示应用程序的特定部分,从而突出突出重点
项目地址:https://github.com/amlcurran/ShowcaseViewandroid-segmented-control
Android上的Segmented Controls,相当于RadioButton组
项目地址:https://github.com/hoang8f/android-segmented-control
第二部分
工具库
主要包含那些不错的开发库,包含依赖注入框架、图片缓存、网络相关、数据库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) RESTclient:定义client接口,自己主动生成REST请求的实现
(5) 没有你想象的复杂:AndroidAnnotations仅仅是在在编译时生成对应子类
(6) 不影响应用性能:仅50kb,在编译时完毕,不会对执行时有性能影响。PS:与roboguice的比較:roboguice通过执行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响
roboguice 帮你处理了非常多代码异常。利用annotation使得更少的代码完毕项目
项目地址:https://github.com/roboguice/roboguice
文档介绍:https://github.com/roboguice/roboguice/wikibutterknife 利用annotation帮你高速完毕View的初始化,降低代码
项目地址:https://github.com/JakeWharton/butterknife
文档介绍:http://jakewharton.github.io/butterknife/Dagger 依赖注入,适用于Android和Java
项目地址:https://github.com/square/dagger
文档介绍:http://square.github.io/dagger/
二、图片缓存
Android-Universal-Image-Loader 图片缓存
眼下使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
Demo地址: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.htmlpicasso square开源的图片缓存
项目地址:https://github.com/square/picasso
文档介绍:http://square.github.io/picasso/
特点:(1)能够自己主动检測adapter的重用并取消之前的下载
(2)图片变换
(3)能够载入本地资源
(4)能够设置占位资源
(5)支持debug模式ImageCache 图片缓存,包括内存和Sdcard缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址: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)可依据系统配置初始化缓存等
三、网络相关
Asynchronous Http Client for Android
Android异步Http请求
项目地址:https://github.com/loopj/android-async-http
文档介绍:http://loopj.com/android-async-http/
特点:(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferencesandroid-query
异步载入,更少代码完毕Android载入
项目地址:https://github.com/androidquery/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 Client
Java异步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-examplesHttpCache
Http缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址: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#examplesokhttp
square开源的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缓存降低不必要的请求Retrofit
RESTFUL API设计
项目地址:https://github.com/square/retrofit
文档介绍:http://square.github.io/retrofit/RoboSpice
Android异步网络请求工具,支持缓存、REST等等
项目地址:https://github.com/stephanenicolas/robospice
Demo地址:https://github.com/stephanenicolas/RoboDemo/downloads
四、数据库
orm工具包
orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作
greenDAO Android Sqlite orm的db工具类
项目地址:https://github.com/greenrobot/greenDAO
文档介绍:http://greendao-orm.com/documentation/
官方站点:http://greendao-orm.com/
特点:(1) 性能佳
(2) 简单易用的API
(3) 内存小好小
(4) 库大小小ActiveAndroid Android Sqlite orm的db工具类
项目地址:https://github.com/pardom/ActiveAndroid
文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pagesSprinkles Android Sqlite orm的db工具类
项目地址:https://github.com/emilsjolander/sprinkles
文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
特点:比較显著的特点就是配合https://github.com/square/retrofit能保存从server获取的数据ormlite-android
项目地址:https://github.com/j256/ormlite-android
文档介绍:http://ormlite.com/sqlite_java_android_orm.shtml
五、Android公共库
Guava Google的基于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/GuavaExplainedVolley Google提供的网络通信库。使得网络请求更简单、更高速
项目地址:https://android.googlesource.com/platform/frameworks/volley
Github地址:https://github.com/mcxiaoke/android-volley
文档地址:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdfAndroidCommon Android公共库
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-common-lib/
包含:(1)缓存(图片缓存、预取缓存、网络缓存)
(2) 公共View(下拉及底部载入很多其它ListView、底部载入很多其它ScrollView、滑动一页Gallery)
(3) Android经常使用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)shipfaster
整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便高速开发
项目地址:https://github.com/pyricau/shipfasterCleanAndroidCode
整合了Dagger Otto AndroidAnnotations,方便高速开发
项目地址:https://github.com/pyricau/CleanAndroidCode
我眼下也在做框架选型方面的工作。不出意外后面也会出个跟4、5类似的项目
六、Android
高版本号向低版本号兼容
ActionBarSherlock 为Android全部版本号提供统一的ActionBar。解决4.0下面ActionBar的适配问题
项目地址:https://github.com/JakeWharton/ActionBarSherlock
Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
APP演示样例:太多了。。如今连google都在用Nine Old Androids 将Android 3.0(Honeycomb)全部动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0
项目地址:https://github.com/JakeWharton/NineOldAndroids
Demo地址: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/HoloEverywhere
Demo地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk
文档介绍:http://android-developers.blogspot.com/2012/01/holo-everywhere.htmlSherlockNavigationDrawer 将Android NavigationDrawer和ActionbarSherlock结合,解决4.0下面NavigationDrawer的适配问题
项目地址:https://github.com/tobykurien/SherlockNavigationDrawerNotifications4EveryWhere 将Android 4.1的兼容到Android2.2++
项目地址:https://github.com/youxiachai/Notifications4EveryWhere
NavigationDrawer文档地址:http://developer.android.com/training/implementing-navigation/nav-drawer.htmlAndroid Switch Widget Backport 将Android Switch和SwitchPreference的兼容到Android2.1++
项目地址:https://github.com/BoD/android-switch-backport
Demo地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample
文档介绍:https://github.com/BoD/android-switch-backport#using-the-switchandroid-datepicker 将Android 4.0的datepicker兼容到Android2.2++
项目地址:https://github.com/SimonVT/android-datepicker
七、多媒体相关
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/PhotoProcessing
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true
Android StackBlur
图片模糊效果工具类
项目地址:https://github.com/kikoso/android-stackblur
Demo地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true
文档介绍:https://github.com/kikoso/android-stackblur#usageBitmap Smart Clipping using OpenCV
图片智能裁剪保留重要部分显示
项目地址:https://github.com/beartung/tclip-android
利用淘宝的 http://code.taobao.org/p/tclip/ 库完毕
一淘玩客正在使用的图片裁剪,自己主动识别图片中的重要区域,而且在图片裁剪时保留重要区域
特点:(1). 能进行人脸识别。图片中有人脸。将自己主动视为人脸区域为重要区域,将不会被裁剪掉
(2).自己主动其他重要区域。假设图片中未识别出人脸。则会依据特征分布计算出重区域
Cropper
图片局部剪切工具,可触摸控制选择区域或旋转
项目地址:https://github.com/edmodo/cropper
使用介绍:https://github.com/edmodo/cropper/wiki
效果图:android-crop
图片裁剪Activity
项目地址:https://github.com/jdamcd/android-crop
效果图:TileView
可分块显示大图,支持2D拖动、双击、双指放大、双指捏合
项目地址:https://github.com/moagrius/TileView
Demo地址:http://moagrius.github.io/TileView/TileViewDemo.apkBlurEffectForAndroidDesign
图片模糊效果
项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesignandroid-eye
PC端网页查看同一局域网内的手机摄像头内容。能够用来监控哦
项目地址:https://github.com/Teaonly/android-eye
Demo地址:id=teaonly.droideye" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=teaonly.droideye
libpng for Android
PNG图片的jni库,支持差点儿png的全部特性
项目地址:https://github.com/julienr/libpng-android
文档地址:http://www.libpng.org/pub/png/libpng.html
八、事件总线(订阅者模式)
通过公布/订阅事件解耦事件发送和接受。从而简化应用程序组件(Activities, Fragments及后台线程)之间的通信
EventBus greenrobot的开源项目
项目地址:https://github.com/greenrobot/EventBus
文档介绍:https://github.com/greenrobot/EventBus#general-usage-and-api
特点:(1) 支持在不同类型的线程中处理订阅。包含公布所在线程。UI线程、单一后台线程、异步线程
(2) 支持事件优先级定义。支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播非常像啊
(3) 不是基于annotations
(4) 性能更优
(5) 体积小
(6) 支持单例创建或创建多个对象
(7) 支持依据事件类型订阅Otto Square的开源项目,基于Guava的Android优化
项目地址:https://github.com/square/otto
文档介绍:http://square.github.io/otto/
EventBus与Otto的功能及性能对照文档
EventBus与Otto性能对照Demo Apk
九、传感器
Great Android Sensing Toolkit
Android感应器工具包。包括演示样例及使用过程中可能须要的算法
项目地址:https://github.com/gast-lib/gast-lib
Demo地址:https://play.google.com/store/apps/details?id=root.gast.playground
文档介绍:https://github.com/gast-lib/gast-lib#documentationSensorManager
Android传感器管理
项目地址:https://github.com/nlathia/SensorManager
文档介绍:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/editGPSLogger
记录GPS信息
项目地址:https://github.com/mendhak/gpslogger
Demo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
文档介绍:http://code.mendhak.com/gpslogger/Pedometer
计步器,使用硬件计步感应器
项目地址:https://github.com/j4velin/Pedometerleapcast
ChromeCast模拟器的App
项目地址:https://github.com/dz0ny/leapcastArduino-Communicator
与Arduino通信的App
项目地址:https://github.com/jeppsson/Arduino-Communicatorandroid-pedometer
Android计步器
项目地址:https://github.com/bagilevi/android-pedometer
Demo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apkOwnTracks for Android
自己的轨迹记录
项目地址:https://github.com/owntracks/androidShake Detector library for Android
Android手机震动摇晃检測库,提供供UI线程调用的回调接口
项目地址:https://github.com/tbouron/ShakeDetector
Demo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.exampleAndroid heart rate monitor
Android心跳检測
项目地址:https://github.com/phishman3579/android-heart-rate-monitorBluetooth LE Library for Android
蓝牙源信息,包含宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息
项目地址:https://github.com/alt236/Bluetooth-LE-Library---Android
Demo地址:id=uk.co.alt236.btlescan" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=uk.co.alt236.btlescan
十、安全
SQLCipher Sqlite加密工具
项目地址:https://github.com/sqlcipher/sqlcipher
帮助文档:http://sqlcipher.net/sqlcipher-for-android/Conceal 高速高效的进行文件加密解密
项目地址:https://github.com/facebook/conceal
文档介绍:https://github.com/facebook/conceal#usageAndroid-PasscodeLock 应用锁。每次启动或从不论什么Activity启动应用都须要输入四位数字的password方可进入
项目地址:https://github.com/wordpress-mobile/Android-PasscodeLock
Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP演示样例:Wordpress Android,支付宝,挖財GlowPadBackport 将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
项目地址:https://github.com/rock3r/GlowPadBackport
Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
效果图:GlowPadView Android 4锁屏界面解锁
项目地址:https://github.com/nadavfima/GlowPadView
效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.pngandroid-lockpattern Android的图案password解锁
项目地址: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
演示样例APP:Android开机的图案password解锁,支付宝的password解锁
十一、其它
Salvage view
带View缓存的Viewpager PagerAdapter。非常方便使用
项目地址:https://github.com/JakeWharton/salvageAndroid Priority Job Queue
Android后台任务队列
项目地址:https://github.com/path/android-priority-jobqueue
文档介绍:https://github.com/path/android-priority-jobqueue#getting-startedjsoup
一个解析html的java库,可方便的提取和操作数据
项目地址:https://github.com/jhy/jsoup
官方站点:http://jsoup.org/
作用:(1) 从一个url、文件或string获得html并解析
(2) 利用dom遍历或css选择器查找、提取数据
(3) 操作html元素
(4) 依据白名单去除用于提交的非法数据防止xss攻击
(5) 输出整齐的htmlZIP
java压缩和解压库
项目地址:https://github.com/zeroturnaround/zt-zip
文档介绍:https://github.com/zeroturnaround/zt-zip#examples
作用:(1) 解压和压缩,并支持目录内递归操作
(2) 支持包括和排除某些元素
(3) 支持重命名元素
(4) 支持遍历zip包内容
(5) 比較两个zip包等功能Cobub Razor
开源的mobile行为分析系统。包含web端、android端,支持ios和window phone
项目地址:https://github.com/cobub/razor
Demo地址:http://demo.cobub.com/razor
站点介绍:http://dev.cobub.com/aFileChooser
文件选择器,可内嵌到程序中。而无需使用系统或三方文件选择器。androidpn
基于xmpp协议的消息推送解决方式。包含server端和android端。Android Plugin Framework
Android插件式开发
项目地址:https://github.com/umeng/apfpurePDF
同意从不论什么执行的SWF文件读取和创建PDF文档
项目地址:https://github.com/sephiroth74/purePDFBolts
Android的异步编程模式
项目地址: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_Statics
Android应用自身被卸载监听及打开浏览器等反馈功能实现
项目地址:https://github.com/sevenler/Uninstall_Statics
文档介绍:http://www.cnblogs.com/zealotrouge/p/3157126.html
http://www.cnblogs.com/zealotrouge/p/3159772.htmlxCombine
Android App插件式插件开发
项目地址:https://github.com/wyouflf/xCombine
文档介绍:http://my.oschina.net/u/1171837/blog/155377Memento
保证在系统配置改变时。Activity中的某些数据能够简单安全的保持不变
项目地址:https://github.com/mttkay/memento
文档介绍:https://github.com/mttkay/memento#usagesvg-android
Android Svg矢量图形支持
项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-androidOffice 365 SDK for Android Preview
可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail
项目地址:https://github.com/OfficeDev/Office-365-SDK-for-AndroidOpenSpritz-Android
Epub阅读器 项目地址:https://github.com/OnlyInAmerica/OpenSpritz-AndroidFreeFlow
布局引擎,更简单的创建自己定义布局,而且当数据和布局改变时更美观的过渡动画
项目地址:https://github.com/Comcast/FreeFlow
Demo地址:https://github.com/Comcast/FreeFlow/releasesAndroid Gesture Detectors Framework
Android手势框架,支持双指旋转、移动、平移、缩放等
项目地址:https://github.com/Almeros/android-gesture-detectors
第三部分
优秀项目
主要介绍那些Android还不错的完整项目,眼下包括的项目主要根据是项目有意思或项目分层规范比較好。
Linux
项目地址:https://github.com/torvalds/linux
Android
项目地址: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.android
PS:如今市面上非常多应用的二维码扫描功能都是从这个改动而来
(2) photup 编辑机批量上传照片到facebook上
项目地址:https://github.com/chrisbanes/photup
APK地址:https://play.google.com/store/apps/details?
id=uk.co.senab.photup
PS:代码分包合理。非常棒。
只是这个项目依赖的开源项目比較多,比較难编译
(3) Github的Androidclient项目
项目地址:https://github.com/github/android
APK地址:https://play.google.com/store/apps/details?id=com.github.mobile
(4) MIUI便签
项目地址:https://github.com/MiCode/Notes
APK地址:https://github.com/Trinea/TrineaDownload/blob/master/miui-note-demo.apk?raw=true
PS:项目分包比較合理,相比較miui的文件管理器https://github.com/MiCode/FileExplorer 代码规范较好得多
(5) 四次元-新浪微博client
项目地址:https://github.com/qii/weiciyuan
APK地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan
(6) gnucash-一个记账理財软件
项目地址:https://github.com/codinguser/gnucash-android
APK地址:http://play.google.com/store/apps/details?id=org.gnucash.android
(7) AntennaPod支持rss订阅、音乐订阅 id=de.danoeh.antennapod" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details? id=de.danoeh.antennapod
项目地址:https://github.com/danieloeh/AntennaPod
APK地址:
(8) ChaseWhisplyProject 打鬼游戏 id=fr.tvbarthel.games.chasewhisply" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply
项目地址:https://github.com/tvbarthel/ChaseWhisplyProject
APK地址:
(9) Tweet Lanes 功能完整的Twitterclient
项目地址:https://github.com/chrislacy/TweetLanes
APK地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android
(10) Financius 简单易用的记账程序
项目地址:https://github.com/mvarnagiris/Financius
APK地址:https://play.google.com/store/apps/details?id=com.code44.finance
(11) todo.txt-android todo.txt的官方Android应用 id=com.todotxt.todotxttouch" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details? id=com.todotxt.todotxttouch
项目地址:https://github.com/ginatrapani/todo.txt-android
APK地址:
(12) simpletask 基于todo.txt官方应用的还有一个client
项目地址:https://github.com/mpcjanssen/simpletask-android
APK地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
(13) Muzei Live Wallpaper 定时更换桌面精美壁纸
项目地址:https://github.com/romannurik/muzei
APK地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei
第四部分
开发工具及測试工具
主要介绍和Android开发工具和測试工具相关的开源项目。
一、开发效率工具
Json2Java
依据JSon数据自己主动生成相应的Java实体类。还支持Parcel、Gson Annotations相应代码自己主动生成。期待兴许的提取父类以及多url构建整个project的功能
项目地址:https://github.com/jonfhancock/JsonToJava
在线演示:http://jsontojava.appspot.com/IntelliJ Plugin for Android Parcelable boilerplate code generation Android studio插件,生成Parcelable代码
项目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
效果图:Android Holo Colors IntelliJ Plugin Android studio插件,生成holo样式9 patch图片
项目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
效果图:Android Drawable Factory 用于生成各个分辨率的图片
项目地址:https://github.com/tizionario/AndroidDrawableFactory
效果图:SelectorChapek for Android
Android Studio插件,可依据固定文件名称格式资源自己主动生成drawable selectors xml文件。
项目地址:https://github.com/inmite/android-selector-chapekAndroid Action Bar Style Generator
Android ActionBar样式生成器,可在线选择ActionBar样式自己主动生成所须要的图片资源及xml文件
项目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
在线演示:http://jgilfelt.github.io/android-actionbarstylegenerator/ButterKnifeZelezny
用于高速生成ButterKnifeView注入代码的Android Studio/IDEA插件
项目地址:https://github.com/inmite/android-butterknife-zeleznyRoboCoP
利用Gradle task依据固定格式的json文件生成ContentProvider
项目地址:https://github.com/mediarain/RoboCoPappiconsizes
用于生成各个分辨率的图片
项目地址:http://www.appiconsizes.com/Gradle Retrolambda Plugin
Retrolambda是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件。通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常执行
项目地址:https://github.com/evant/gradle-retrolambda
二、开发自測相关
Quality Tools for Android
Android測试及自測工具集合和演示样例
项目地址:https://github.com/stephanenicolas/Quality-Tools-for-Androidandroid-test-kit
Google的Android測试工具
包含GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于高速写出可靠測试用例的API)
项目地址:https://code.google.com/p/android-test-kit/
文档介绍:https://code.google.com/p/android-test-kit/w/listrobolectric
測试用例编写框架
项目地址:https://github.com/robolectric/robolectric
Demo地址:https://github.com/robolectric/robolectricsample
文档介绍:http://robolectric.org/
特点:(1). 不须要模拟器在一般JVM就能够执行測试用例
(2). 能完毕在真机上的大部分測试包含感应器
其它的測试用例及相关模块Mock可见:android-mock, mockito, easy-mockAndroid FEST
提供一些列方便的断言,可用于提高编写Android自測代码效率
项目地址:https://github.com/square/fest-androidBoundBox
可用于測试类各种訪问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行測试完毕的
项目地址:https://github.com/stephanenicolas/boundboxHugo
用于打印函数信息及运行时间的工具,仅在debug模式生效
项目地址:https://github.com/JakeWharton/hugoscalpel
在应用以下加入一层用于界面调试,待具体补充 // TODO
项目地址:https://github.com/JakeWharton/scalpelAndroid Screenshot library
Android截图工具类,用于在持续集成时截图
项目地址:https://github.com/rtyley/android-screenshot-libsonar-android-lint-plugin
将android lint的错误在sonar中展现
项目地址:https://github.com/SonarCommunity/sonar-android
三、測试工具
- Spoon
可用于android不同机型设备自己主动化測试,能将应用apk和測试apk执行在不同机器上并生成对应測试报告。
四、开发及编译环境
Buck
facebook开源的Android编译工具,效率是ant的两倍。主要长处在于:
(1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源降低增量编译时间实现
(2) 能够在编译系统中生成编译规则而无须另外的系统生成编译规则文件
(3) 编译同一时候可生成单元測试结果
(4) 既可用于IDE编译也可用于持续集成编译
(5) facebook持续优化中
项目地址:https://github.com/facebook/buckAndroid Maven Plugin
Android Maven插件,可用于对android三方依赖进行管理。在J2EE开发中,maven是很成熟的依赖库管理工具。可统一管理依赖库。
项目地址:https://github.com/jayway/maven-android-plugin渠道打包工具
同意app执行在不论什么手机上都能够用HierarchyViewer查看
项目地址:https://github.com/umeng/umeng-muti-channel-build-tool
另可參见Google的构建系统Gradle:http://tools.android.com/tech-docs/new-build-system/user-guideGenymotion
眼下最好用最快的android模拟器
项目地址:http://www.genymotion.com/
Android studio集成控件:pr=idea" target="_blank" style="color:rgb(65,131,196); text-decoration:none">http://plugins.jetbrains.com/plugin/7269?pr=idea
Cyril Mottier推荐:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/gradle-mvn-push
方便的将Gradle的Artifacts上传到Maven仓库
项目地址:https://github.com/chrisbanes/gradle-mvn-push
文档介绍:https://github.com/chrisbanes/gradle-mvn-push#usageAndroid Emulator Plugin for Jenkins
Android模拟器 jenkins插件。用于Jenkins做持续集成时跑模拟器測试
项目地址:https://github.com/jenkinsci/android-emulator-pluginAndroid Maven Plugin
管理应用所须要的依赖库。包含的构建工具有Maven、Gradle、ant、sbt
项目地址:https://github.com/mosabua/maven-android-sdk-deployerSDK Manager Plugin
下载和管理Android SDK的Gradle插件
项目地址:https://github.com/JakeWharton/sdk-manager-plugin
五、其它
ViewServer
同意app执行在不论什么手机上都能够用HierarchyViewer查看
项目地址:https://github.com/romainguy/ViewServerGridWichterle for Android
在整个系统上显示一个grid。用来帮助查看应用布局及使得布局更美观。可设置grid网格大小和颜色,android推荐48dp和8dp。可见 Android Design Guidelines – Metrics and Grids
项目地址:https://github.com/inmite/android-grid-wichterle
APK地址:id=eu.inmite.android.gridwichterle" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterle
PS:比起hierarchyviewer相差甚远,只是偶尔可用来作为布局查看工具。Catlog
手机端log查看工具,支持不同颜色显示、keyword过滤、级别过滤、进程id过滤、录制功能等
项目地址:https://github.com/nolanlawson/Catlog
在线演示:id=com.nolanlawson.logcat" target="_blank" style="color:rgb(65,131,196); text-decoration:none">https://play.google.com/store/apps/details?id=com.nolanlawson.logcat
PID Cat
依据package查看logcat日志
项目地址:https://github.com/JakeWharton/pidcatACRA 应用崩溃信息上报到GoogleDoc工具
项目地址:https://github.com/ACRA/acra
文档地址:https://github.com/ACRA/acra/wiki/BasicSetupCrashlytics 提供丰富的应用崩溃信息收集
轻量级,丰富,可自己定义应用崩溃信息收集器,附有邮件通知
项目地址:http://www.crashlytics.com/
集成插件:Android Studio, Eclipse
and IntelliJAndroid 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
项目地址:https://github.com/jgilfelt/android-resource-navigator
演示样例:https://chrome.google.com/webstore/detail/android-resource-navigato/agoomkionjjbejegcejiefodgbckeebo?hl=en&gl=GB
第五部分
主要介绍那些乐于分享而且有一些非常不错的开源项目的个人和组织。Follow大神,深挖大神的项目和following,你会发现非常多。
一、个人
JakeWharton 就职于Square
Github地址:https://github.com/JakeWharton
代表作:ActionBarSherlock,Android-ViewPagerIndicator。Nine Old Androids,SwipeToDismissNOA,hugo。butterknife。Android-DirectionalViewPager, scalpel
pidcat另外对square及其它开源项目有非常多贡献
博客:http://jakewharton.com/
绝对牛逼的大神,项目主要集中在Android版本号兼容,ViewPager及开发工具上.Chris Banes
Github地址:https://github.com/chrisbanes
代表作:ActionBar-PullToRefresh,PhotoView。Android-BitmapCache。Android-PullToRefresh
博客:http://chris.banes.me/Koushik Dutta 就职于ClockworkMod
Github地址:https://github.com/koush
代表作:Superuser。AndroidAsync,UrlImageViewHelper,ion, 另外对https://github.com/CyanogenMod的开源项目有非常多贡献
博客:http://koush.com/Simon Vig
Github地址:https://github.com/SimonVT
代表作:android-menudrawer。MessageBar
博客:http://simonvt.net/Manuel Peinado
Github地址:https://github.com/ManuelPeinado
代表作:FadingActionBar,GlassActionBar,RefreshActionItem。QuickReturnHeaderEmil Sj?
lander
Github地址:https://github.com/emilsjolander
代表作:StickyListHeaders。sprinkles,android-FlipView
博客:http://emilsjolander.se/greenrobot
Github地址:https://github.com/greenrobot
代表作:greenDAO。EventBus
网址:http://greenrobot.de/Jeff Gilfelt
Github地址:https://github.com/jgilfelt
代表作:android-mapviewballoons。android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
网址:http://jeffgilfelt.comRomain Guy Android team成员(2013.10已离开Android team,仍在Google)
Github地址:https://github.com/romainguy
代表作:ViewServer
博客:http://www.curious-creature.org/category/android/
個人攝影作品:http://www.flickr.com/photos/romainguysephiroth74 就职于Aviary.com
Github地址:https://github.com/sephiroth74
代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
博客:http://www.sephiroth.it/Cyril Mottier
Google开发人员专家认证。公布一些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/
三、博客
- Chet Haase
博客:http://graphics-geek.blogspot.com/
Android framework UI team 员
版权声明:本文博主原创文章。博客,未经同意不得转载。
Android开源项目总结的更多相关文章
- Android 开源项目及其学习
Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...
- [转]Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...
- 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)
标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...
- Android开源项目分类汇总
目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...
- fir.im Weekly - 1000 个 Android 开源项目集合
冬天到了,适宜囤点代码暖暖身.本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码.开发工具和技术实践教程类文章分享给大家. codeKK - 集合近 1000 Android ...
- fir.im Weekly - 600个 Android 开源项目汇总
本期 Weekly 收集了一些热度资源,包含 Android.iOS 开发工具与源码分享,程序员也应该了解的产品运营.设计等 Tips ,希望对你有帮助. 600个Android开源项目汇总 勤劳的 ...
- 直接拿来用!最火的Android开源项目(完结篇)
直接拿来用!最火的Android开源项目(完结篇) 2014-01-06 19:59 4785人阅读 评论(1) 收藏 举报 分类: android 高手进阶教程(100) 摘要:截至目前,在GitH ...
- Android开源项目
Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 And ...
- 59.Android开源项目及库 (转)
转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
随机推荐
- 使用cm-12.0源代码编译twrp
Select the newest branch available. This step is not necessary with Omni because Omni already includ ...
- 判断闰年(go语言版本)
import "strconv" func IsLeapYear(y string) bool { //y == 2000, 2004 //判断是否为闰年 year, _ := s ...
- Java中动态代理技术生成的类与原始类的区别
用动态代理的时候,对它新生成的类长什么样子感到好奇.有幸通过一些资料消除了心里的疑惑. 平时工作使用的Spring框架里面有一个AOP(面向切面)的机制,只知道它是把类重新生成了一遍,在切面上加上了后 ...
- Oracle使用并行建索引须要注意的问题
建索引时.我们为了建索引快.会加上并行,加上并行之后.此列索引就会是并行了. 訪问有并行度的索引时,CBO可能可能会考虑并行运行.这可能会引发一些问题,如在server资源紧张的时候用并行会引起更加严 ...
- iOS开展——全球应对MotionEvent
遇到这样的要求:无论在哪个应用程序view controller,摇动手机,我们可以启动的方法. 你可以认为这个想法是使用包装的苹果"MotionEvent".但是,假如简单地把代 ...
- hdu 2899 hdu 3400 三分/几何
hdu2899 : 水提,直接三分,事实上求导后二分也能够. #include<iostream> #include<cstdio> using namespace std; ...
- Linux学习笔记——举例说,makefile 多个文件
0.前言 从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力. 所以特意 ...
- 2014在百度之星资格赛的第二个问题Disk Schedule
事实上,我认为它可以用来费用流问题.但光建地图上加班. ..不科学啊.. . 因副作用太大,否则,必然在.最后,想啊想,或者使用dp对.... 别想了一维dp... .我不知道我是怎么想.无论如何,这 ...
- Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释
在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...
- vpdn详细说明
VPDN英文为Virtual Private Dial-up Networks,又称为虚拟专用拨号网,是VPN业务的一种,是基于拨号用户的虚拟专用拨号网业务. 中文名 虚拟专用拨号网业务 外文名 ...