位置: 编程技术 - 正文
推荐整理分享Android开源项目分类汇总(android开发项目实战+源码教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android开源软件,安卓app开源项目,android开源小项目,Android开源项目,android开源小项目,android开源小项目,android 开源,Android开源项目,内容如对您有帮助,希望把文章链接给更多的朋友!
阅读目录
第一部分 个性化控件(View)第二部分 工具库第三部分 优秀项目第四部分 开发工具及测试工具第五部分第一部分 个性化控件(View)主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、 GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、 FlipView、ColorPickView、GraphView、UI Style等等。、其他
一、ListViewandroid-pulltorefresh一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、 GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新 ListView在item不足一屏情况下也不会显示刷新提示,体验更好。项目地址: Android
SwipeListView支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间项目地址: 4.0联系人效果图:
pinned-section-listviewGroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView项目地址: plus
IndexableListViewListView右侧会显示item首字母快捷索引,点击可快速滑动到某个item项目地址: item滑出固定区域,其他item的区域收缩项目地址: item以特殊动画效果进入屏幕,效果包括grow、cards、curl、wave、flip、fly等等项目地址: 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项目地址: Adapter项目地址: ,两个ListView滚动速度不一致,有视差效果项目地址: plus,知乎等
FadingActionBarListView向下滚动逐渐显现的ActionBar项目地址: music,知乎
NotBoringActionBargoogle music下拉收缩的ActionBar项目地址: New York Times,DevAppsDirect.
GlassActionBar类玻璃的有一定透明度的ActionBar项目地址: music
三、MenuMenuDrawer滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。项目地址: Music等大部分google app
SlidingMenu滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。项目地址: LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 BarracksMenuDrawer和SlidingMenu比较:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层
ArcMenu支持类Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单项目地址: Wheel Menu圆形旋转选取菜单项目地址: Dribbble 的边栏菜单项目地址: 、Gallery
Android-ViewPagerIndicator配合ViewPager使用的Indicator,支持各种位置和样式项目地址: View项目地址: Auto Scroll ViewPagerAndroid自动滚动 轮播循环的ViewPager项目地址: view带View缓存的Viewpager PagerAdapter,很方便使用项目地址: PagerSlidingTabStrip配合ViewPager使用的Indicator,支持ViewPager Scroll时Indicator联动项目地址: view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同时支持单个ImageView项目地址: Burns effect效果,达到身临其境效果的ImageView项目地址: 相比上面的圆形ImageView,多了更多形状项目地址: 时钟App样式项目地址: 多个圆形卡片翻转的progressBar项目地址: Form EditText验证输入合法性的编辑框,支持输入、英文、ip、url等多种正则验证项目地址: Radio Buttons for AndroidiOS’s segmented controls的实现项目地址: EditText Library支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现项目地址: for Android文字发淡光的TextView项目地址: 囧)的TextView项目地址: : ,背景图片的滚动速度小于ScrollView中子控件的滚动速度项目地址: Wheel支持城市、多种日期时间、密码、图片项目地址: 本文. SuperToasts为其扩展版项目地址: ViewBadger为其他View添加角标等项目地址: Progress样式、支持进入动画、支持撤销及其动画设置项目地址: Android,Google Analytics
GraphView绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示项目地址: Android,Google Analytics
HoloGraphLibrary绘制现状图、柱状图、饼状图项目地址: Style
不同样式的系统UI风,如IOS、Bootstrap风
UITableViewios风控件,包括Button、ListView、TableView项目地址: 风的按钮项目地址: Sliding Up Panel可拖动的View,能在当前Activity上扶起一个可拖动的Panel项目地址: Music精简播放栏
AndroidWheelAndroid Wheel支持城市、多种日期时间、密码、图片项目地址: feature信息项目地址:
ChromeView利用Chromium实现的WebView,解决各个Android版本WebView不同的问题,同时利用最新Chrome代码项目地址: Slider Preference Library可添加到设置中的基于对话框的RankBar小部件项目地址: library用于高亮显示应用程序的特定部分,从而突出突出重点项目地址: Controls,相当于RadioButton组项目地址: Cards类Tinder的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢项目地址: ListView, ExpandableListView, GridView, ViewPager等滚动控件滚动到边缘的颜色效果项目地址: 工具库
主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。
一、依赖注入DI通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作
AndroidAnnotations(Code Diet)android快速开发框架项目地址: 依赖注入:包括view,extras,系统服务,资源等等(2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程(3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类(4) REST客户端:定义客户端接口,自动生成REST请求的实现(5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类(6) 不影响应用性能:仅kb,在编译时完成,不会对运行时有性能影响。PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响
roboguice帮你处理了很多代码异常,利用annotation使得更少的代码完成项目项目地址: Http Client for AndroidAndroid异步Http请求项目地址: 在匿名回调中处理请求结果(2) 在UI线程外进行http请求(3) 文件断点上传(4) 智能重试(5) 默认gzip压缩(6) 支持解析成Json式(7) 可将Cookies持久化到SharedPreferences
android-query异步加载,更少代码完成Android加载项目地址: 或 Http ClientJava异步Http请求项目地址: post等异步请求项目地址: 根据cache-control、expires缓存http请求(2) 支持同步、异步Http请求(3) 在匿名回调中处理请求结果(4) 在UI线程外进行http请求(5) 默认gzip压缩
Http Request项目地址: 支持SPDY( )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短加载时间。(2) 如果SPDY不可用,利用连接池减少请求延迟(3) Gzip压缩(4) Response缓存减少不必要的请求
RetrofitRESTFUL API设计项目地址: orm工具包
orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作
greenDAOAndroid Sqlite orm的db工具类项目地址: 性能佳(2) 简单易用的API(3) 内存小好小(4) 库大小小
ActiveAndroidAndroid Sqlite orm的db工具类项目地址: Sqlite orm的db工具类项目地址: 能保存从服务器获取的数据
ormlite-android项目地址: caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVa代码更加优雅,更加简洁项目地址: 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)(3) Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)
shipfaster整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速开发项目地址: Otto AndroidAnnotations,方便快速开发项目地址: 高版本向低版本兼容
ActionBarSherlock为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题项目地址: Old Androids将Android 3.0(Honeycomb)所有动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0项目地址: 3.0的Holo主题兼容到Android2.1项目地址: NavigationDrawer和ActionbarSherlock结合,解决4.0以下NavigationDrawer的适配问题项目地址: 4.1的Notification兼容到Android2.2项目地址: Switch Widget Backport将Android Switch和SwitchPreference的兼容到Android2.1项目地址: 4.0的datepicker兼容到Android2.2项目地址: 4.2的GlowPadView向后适配到API4以上项目地址: 全面支持硬件解码与GPU渲染(2) 能够流畅播放P甚至P高清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(翻转)等各种特效项目地址: StackBlur图片模糊效果工具类项目地址: Smart Clipping using OpenCV图片智能裁剪保留重要部分显示项目地址: 库完成一淘玩客正在使用的图片裁剪,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域特点:(1). 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉(2).自动其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域
Cropper图片局部剪切工具,可触摸控制选择区域或旋转项目地址: for AndroidPNG图片的jni库,支持几乎png的所有特性项目地址: Video Crop利用TextureView播放和剪切视频,类ImageView.setScaleType项目地址: Svg矢量图形支持项目地址: Visualizer从Android MediaPlayer获得音频,然后像iTunes及WinAmp一样展示音轨项目地址: Fragments及后台线程)之间的通信
EventBusgreenrobot的开源项目项目地址: 支持在不同类型的线程中处理订阅,包括发布所在线程,UI线程、单一后台线程、异步线程(2) 支持事件优先级定义,支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播很像啊(3) 不是基于annotations(4) 性能更优(5) 体积小(6) 支持单例创建或创建多个对象(7) 支持根据事件类型订阅
OttoSquare的开源项目,基于Guava的Android优化项目地址: Apk
九、传感器Great Android Sensing ToolkitAndroid感应器工具包,包含示例及使用过程中可能需要的算法项目地址: for Android自己的轨迹记录项目地址: Detector library for AndroidAndroid手机震动摇晃检测库,提供供UI线程调用的回调接口项目地址: heart rate monitorAndroid心跳检测项目地址: LE Library for Android蓝牙源信息,包括宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息项目地址: 从公交卡中读取数据的一个应用项目地址: Android,支付宝,挖财
GlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6项目地址: 4锁屏界面解锁项目地址: App插件式插件开发,插件必须先安装项目地址: Plugin FrameworkAndroid插件式开发,开放的源码目前不完整项目地址: SDK for Android Preview可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail项目地址: 从一个url、文件或string获得html并解析(2) 利用dom遍历或css选择器查找、提取数据(3) 操作html元素(4) 根据白名单去除用于提交的非法数据防止xss攻击(5) 输出整齐的html
ZIPjava压缩和解压库项目地址: 解压和压缩,并支持文件夹内递归操作(2) 支持包含和排除某些元素(3) 支持重命名元素(4) 支持遍历zip包内容(5) 比较两个zip包等功能
十三、其他Salvage view带View缓存的Viewpager PagerAdapter,很方便使用项目地址: Priority Job QueueAndroid后台任务队列项目地址: Razor开源的mobile行为分析系统,包括web端、android端,支持ios和window phone项目地址: 使用的是无大小限制的线程池(2) 任务可组合可级联,防止了代码耦合
CastCompanionLibrary-android使Android程序中更快的接入Google Cast项目地址: Cast项目地址: Gesture Detectors FrameworkAndroid手势框架,支持双指旋转、移动、平移、缩放等项目地址: Android SDKAndroid Map的替代版项目地址: animationActivity跳转动画,支持各个方向波浪的效果项目地址: Social Networks社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、添加或删除好友项目地址: 优秀项目
主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好。Linux项目地址: 或 ZXing二维码扫描工具项目地址: 或 photup编辑机批量上传照片到facebook上项目地址: github-androidGithub的Android客户端项目项目地址: NotesMIUI便签项目地址: 代码规范较好得多
(5) weicuiyuan四次元-新浪微博客户端项目地址: gnucash-android一个记账理财软件项目地址: AntennaPod支持rss订阅、音乐订阅项目地址: ChaseWhisplyProject打游戏项目地址: Tweet Lanes功能完整的Twitter客户端项目地址: Financius简单易用的记账程序项目地址: todo.txt-androidtodo.txt的官方Android应用项目地址: simpletask基于todo.txt官方应用的另一个客户端项目地址: Muzei Live Wallpaper定时更换桌面精美壁纸项目地址: 开发工具及测试工具
主要介绍和Android开发工具和测试工具相关的开源项目。
一、开发效率工具Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel、Gson Annotations对应代码自动生成。期待后续的提取父类以及多url构建整个工程的功能项目地址: Plugin for Android Parcelable boilerplate code generationAndroid studio插件,生成Parcelable代码项目地址: Holo Colors IntelliJ PluginAndroid studio插件,生成holo样式9 patch图片项目地址: Drawable Factory用于生成各个分辨率的图片项目地址: for AndroidAndroid Studio插件,可根据固定文件名式资源自动生成drawable selectors xml文件。项目地址: Action Bar Style GeneratorAndroid ActionBar样式生成器,可在线选择ActionBar样式自动生成所需要的图片资源及xml文件项目地址: Studio/IDEA插件项目地址: task根据固定式的json文件生成ContentProvider项目地址: Retrolambda PluginRetrolambda是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件,通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常运行项目地址: IntelliJ Plugindagger的intellij插件项目地址: Gen Drawable Maven plugin在编译时根据SVG描述文件生成不同分辨率的jpg、png或点9图片项目地址: Asset Studio各种Android资源自动生成器,包括启动图标、ActionBar图标、通知栏图标、点9等项目地址: Tools for AndroidAndroid测试及自测工具集合和示例项目地址: 不需要模拟器在一般JVM就可以运行测试用例(2). 能完成在真机上的大部分测试包括感应器其他的测试用例及相关模块Mock可见:android-mock, mockito, easy-mock
Android FEST提供一些列方便的断言,可用于提高编写Android自测代码效率项目地址: // TODO项目地址: Screenshot libraryAndroid截图工具类,用于在持续集成时截图项目地址: lint的错误在sonar中展现项目地址: APTAPT是腾讯开源的一个Android平台高效性能测试组件,提供丰富实用的功能,适用于开发自测、定位性能瓶颈;测试人员完成性能基准测试、竞品对比测试项目地址: py-uiautomatorpy-uiautomator是一个对Android uiautomator用python进行封装的测试框架.项目地址: 加快编译速度,通过并行利用多核cpu和跟踪不变资源减少增量编译时间实现(2) 可以在编译系统中生成编译规则而无须另外的系统生成编译规则文件(3) 编译同时可生成单元测试结果(4) 既可用于IDE编译也可用于持续集成编译(5) facebook持续优化中项目地址: Maven PluginAndroid Maven插件,可用于对android三方依赖进行管理。在J2EE开发中,maven是非常成熟的依赖库管理工具,可统一管理依赖库。项目地址: studio集成控件: Mottier推荐: Emulator Plugin for JenkinsAndroid模拟器 jenkins插件,用于Jenkins做持续集成时跑模拟器测试项目地址: Maven Plugin管理应用所需要的依赖库。包括的构建工具有Maven、Gradle、ant、sbt项目地址: Manager Plugin下载和管理Android SDK的Gradle插件项目地址: Protobuf Plugin将.proto文件转换成Java文件的gradle插件项目地址: for Android在整个系统上显示一个grid,用来帮助查看应用布局及使得布局更美观,可设置grid网大小和颜色,android推荐dp和8dp,可见 Android Design Guidelines – Metrics and Grids项目地址: Cat根据package查看logcat日志项目地址: Studio, Eclipse and IntelliJ
Android Resource Navigatorchrome插件,可以方便的查看github上android源码工程的styles.xml和themes.xml。主要功能:(1) 快速打开android styles.xml themes.xml(2) 方便在资源间跳转。styles.xml themes.xml文件中资源链接跳转,可以方便跳转到某个资源(3) 方便查找某个style和theme。chrome地址栏输入arntab搜索内容回车即可(4) 自动下载不同分辨率下的drawable(5) 通过映射查找那些不是按照固定命名规则命名的style和theme项目地址: Android Fragment & Activity Lifecycle完整的Android Fragment/Activity生命周期图项目地址: Old Androids,SwipeToDismissNOA,hugo,butterknife,Android- DirectionalViewPager, scalpelpidcat另外对square及其他开源项目有很多贡献主页: BanesGithub地址: Dutta就职于ClockworkModGithub地址: 另外对 VigGithub地址: PeinadoGithub地址: Sj?landerGithub地址: GilfeltGithub地址: GuyAndroid team成员(.已离开Android team,仍在Google)Github地址: MottierGoogle开发者专家认证,发布一些Android技巧及文章Github地址: s.r.o.Github地址:
从EclipseADT迁移到AndroidStudio AndroidStudio是GoogleI/O大会上推出的Android开发环境,基于IntelliJIDEA,和EclipseADT类。AndroidStudio目前尚处于测试版,还是存在一些Bug的,当然取代EclipseADT
Docker的save和export命令的区别 我曾在之前的一篇文章中介绍了有关docker的一些基本的操作(Docker学习笔记),最近一直在玩Docker,一种应用程序容器和Linux的虚拟技术。它太酷了,创
Android开发错误解决方法汇总 1、Setandroid:baselineAligned=falseonthiselementforbetterperformance如果LinearLayout被用于嵌套的layout空间计算,它的android:baselineAligned属性应该设置成false,以加速layout
友情链接: 武汉网站建设