一、兼容类库
ActionBarSherlock:
ActionBar在我的小猪词典里有用到这个库,而且很多非常知名的App也在使用这个库。GitHubOfficialActionBar科普,是Android3.0后才开始支持的,ActionBarSherlock是让ActionBar功能支持2.X后的所有平台,而且他会自动的判断是调用原生ActionBar还是使用扩展。
HoloEverywhere:
在Android4.0时,在Android的官方Blog中也对HoloEveryWhere这个库有所推荐,点此查看官方博客对HoloEveryWhere的介绍。
Google引入了新的主题风格—Holo,因此更加具有兼容性的Holo主题库,HoloEveryWhere便成为很多开发者的选择。
Android-Datepicker:
兼容Android4.0的datepicker至Android2.2。
分页指示器(Friends和Suggested就是分页,而下面蓝色的小条就是指示器,ViewPagerIndicator支持多种样式的指示器。)
Android-ViewPagerIndicator:这是与ViewPager兼容的一个分页指示器库。
NineOldAndroids:
这个库的作者即是ActionBarSherlock的作者,也是Android-ViewPagerIndicator的作者,JakeWharton,非常厉害的一个人,Github关注量超过1.6K,NineOldAndroids将Honeycomb(Android3.0)的动画API扩展到了Android1.0以上。如果你也做Android开发或者即将开始学习Android开发,一定要去Follow他,而且留意一下他每次的star和follow信息,经常会有很惊奇的发现。
二、扩展功能库
picasso:
程序中经常面临加载网络图片的情况,成熟做法:异步下载->缓存->显示,Picasso一行代码就可这三步轻松完成。GitHubGitHubPage,GitHub上图片异步加载缓存类库很多,你也可尝试使用Android-Universal-Image-Loader或者LazyList后面将介绍到的afinal(国人项目)也具有此功能。
AppMsg:优雅的弹出类似Toast的消息提示,支持3种状态Alert,Confirm以及Info。GitHub
Drag-Sort-ListView:很多人都用过在一个ListView中通过拖拽对已有的数据进行排序操作。Drag-Sort-Listview就是实现这一功能的开源库。GitHub
Android-Flip:轻松实现类似FlipBoard的翻页功能。
Android-PullToRefresh:Android下拉刷新组件。
此外,该作者还有另外一个实用度和关注量极高的项目–另一种AndroidActionBar的实现:GitHubSlidingMenu:SlidingMenu能非常容易的让开发者实现程序的抽屉效果,所谓的抽屉效果如下图所示,通常被用作呼出菜单,而且SlidingMenu能很方便的与ActionBarSherlock融合,在官方GitHub上有关于如何融合的说明。
滑动效果演示
AppMsg:
优雅的弹出类似Toast的消息提示,支持3种状态Alert,Confirm以及Info。GitHub
Drag-Sort-ListView:很多人都用过在一个ListView中通过拖拽对已有的数据进行排序操作。Drag-Sort-Listview就是实现这一功能的开源库。
Android下拉刷新组件。此外,该作者还有另外一个实用度和关注量极高的项目–另一种AndroidActionBar的实现。
三、工具类库:
首先,就我个人开发经验,总结一下平常用到的一些最常用的功能:
1、将下载的文件进行解压。
2、请求服务器,比如说上传登陆信息,更新某些数据,又或者上传头像文件。
3、从文件系统中选择要操作的文件。
4、有时候也需要爬取某些网页数据。
5、存储一些配置信息
6、下载,比如图片,
7、再有一个特殊需求就是关乎Android程序UI设计,图标是个很麻烦的问题。每次都难以找到合适的Android设计UI。
随后,我将很有针对性的推荐一些功能库,来简化上面的问题。
1、afinal:afinal是一个很方便的工具库。GitHub作者博客(注:国人项目哟)
一行代码就可以对数据库进行增删改查。
2、支持Json解码。
3、支持存储Cookies到Preference中。
4、支持gzip处理Request以及Response。
整个库只有19KB。
5、完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
6、轻松实现Android上传文件,POST数据,下载文件(支持断点续传,随时停止下载任务或者开始任务)。
一行代码加载网络图片。
7、支持代理设置
8、支持分片儿处理请求返回内容
9、支持WebSocket
10、zt-zip:压缩和解压库。GitHub
压缩和解压
单独操作文件压缩和解压。
替换zip文件中的某个文件
11、aFileChooser:文件选择器,用于选择需要操作的文件GitHub
12、jsoup:HTML解析,并且能很好理解DOM,CSS,以及JQuery。GitHub官方PS:这是java库。做网页爬虫(Crawler,Robot)必备。
toml:这是个跨语言的配置信息存取方案。GitHub
13、Androiton-Action-Bar-Icons:一个针对Android优化过的ICON图标集。GitHubDemo
android-async-http:Android下的异步HTTP库。GitHub文档PS:作者的GitHub值得关注。
14、发送异步http请求,并且可在回调函数中处理返回响应Response。
http请求在thread线程,不会阻塞UI线程。
请求使用线程池(ThreadPool)实现,优化了并发的资源使用。
15、支持Multipart文件上传。
如果Request请求失败,会自动请求。
16、async-http-client:Android下的异步Http和WebSocket库。
四、一些手册
Android图形界面设计手册,可以用来快速查看图标的大小、ActionBar的Height等琐碎的AndroidDesign要求。
Android官方UI设计手册:下载。
五、一些视频
AndroidStudio的新特性官方讲解视频,我在官方技术博客上下载下来,上传到网盘,希望对大家有帮助。
六、高价值链接
AndroidViewsAndroidView组件收集站点。
Android官方博客提供一些跟Android相关的即时咨询。(需要梯子)Afinal是一个Android的orm和ioc框架。而且封装了android中的httpClient,使其更加简单易用。使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。
一、Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。
AndroidAnnotations用于加速Android应用的开发,可以让你把重点放在功能的实现上,简化了代码。AndroidAnnotations是一个开源的框架,而Afinal是一个Android的orm和ioc框架。
而且封装了android中的httpClient,使其更加简单易用。使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。
Afinal;约定大于配置的方式。尽量一行代码完成所有事情。它的宗旨是简洁、快速。
二、当前GalHttpRequest支持以下功能:
1、自动适配移动、联通、电信wap代理;
2、支持快捷post请求;
3、同步请求Stirng、InputStream、Bitmap;
4、异步请求String、InputStream、Bitmap;支持回调接口;
支持异步下载文件,提供监听进度回调接口;
5、支持缓存参数设置;
支持多线程及队列请求;
6、iOS/Android矢量图形框架TouchVG
TouchVG是一个通用的轻量级二维矢量图形框架,可用于开发交互式矢量绘图软件,适用于iPad/iPhone、Android等多点触摸设备,也适用于鼠标交互的桌面应用。
7、http请求及缓存框架GalHttprequest
GalHttprequest是一个android平台上一个轻量级的http网络请求及缓存框架。
8.Android滑动式菜单SlidingMen
9、android-viewflow
android-viewflow是Android平台上一个视图切换的效果库。
ViewFlow相当于AndroidUI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。
10、滑动刷新的ListViewAndroidPullToRefresh
该项目为Android应用提供一个向下滑动即刷新列表的功能
Screenshot
11、Web开发语言haXe
Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是JVM,C#的平台是.Net,ActionScript的平台是FlashPlayer等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用,还是网页;不论是应用于服务器还是个人桌面,Haxe都可以胜任。”
12.UniversalAndroot
最近台湾也有一个Android开发者研发了一款类似的一键root程序UniversalAndroot,同样操作和EasyRoot一样简单,而且用户也可以再取得root权限后使用UnRoot功能来还原之前的系统状态,这意味着如果你哪天玩腻了rooted的手机想回到过去,或者官方Android系统升级推出时也想凑凑热闹可以使用UnRoot功能。
13、Android瀑布流实例android_waterfall
实现了类似于迷尚android和蘑菇街android的瀑布流布局
14.WindowsAndroid
WindowsAndroid目前是基于Android4.03开发,团队计划在不久后引入更多的Android版本供用户使用。它能提供完整的Android4.0体验,其中还包含有原生的GApps(Google基础服务包),你可以直接通过浏览器浏览网页,收发邮件等。
开发者自称在操作系统、虚拟化和图形技术方面富有经验,在该项目上已经工作了数年。WindowsAndroid不是模拟器,提供了完整的Android功能,可以运行所有的Andorid应用,包括3D游戏。
15、ipcamera-for-android
一款将Android手机变成IPCamera的软件,在同一个网路,你可以在任意的浏览器查看手机监控视频。
16、PhotoView
PhotoView是一款扩展自AndroidImageView,支持通过单点/多点触摸来进行图片缩放的智能控件。
特性:
支持单点/多点触摸,即时缩放图片;
支持平滑滚动;
在滑动父控件下能够运行良好;(例如:ViewPager)
17、开源的家庭自动化方案openHAB
openHAB全称为openHomeAutomationBus,即开放式家庭自动化总线,该项目旨在为家庭自动化构建提供一个通用的集成平台。
openHAB是一个纯Java打造的开源项目,完全基于OSGi(OpenServiceGatewayInitiative),并使用Jetty作为web服务器。Jetty和EquinoxOSGi运行时一起构成了openHAB的核心基础。
18、Android的OpenGL编程实例Android-GL
19、HTML5视频播放器VideoJS
VideoJS是一个HTML5的视频播放器,兼容大量的平台,对于不支持的浏览器则自动使用Flash播放器来播放。
19、AndroidCoverflow
AndroidCoverflow是Android的coverflow窗口部件的简单实现。
20、android-bootstrap
AndroidBootstrap包含一个完整实现:Fragments,FragmentPager,AccountManager,android-maven-plugin,Dagger,ActionBarSherlock4,ViewPagerIndicator,http-request,GSON,Robotiumforintegrationtesting,APIConsumptionwithanAPIonParse.comandmuchmore.
七、iOS/Android矢量图形框架TouchVG
TouchVG是一个通用的轻量级二维矢量图形框架,可用于开发交互式矢量绘图软件,适用于iPad/iPhone、Android等多点触摸设备,也适用于鼠标交互的桌面应用。
1、http请求及缓存框架GalHttprequest
GalHttprequest是一个android平台上一个轻量级的http网络请求及缓存框架。
当前GalHttpRequest支持以下功能:
同步请求Stirng、InputStream、Bitmap;
异步请求String、InputStream、Bitmap;支持回调接口;
支持异步下载文件,提供监听进度回调接口;
支持缓存参数设置;
支持多线程及队列请求;
自动适配移动、联通、电信wap代理;
支持快捷post请求;
2、Android快速开发框架ThinkAndroid
ThinkAndroid简介
ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Androidmvc、简易sqliteorm、ioc模块、封装Androidhttpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。
3、Android网络共享软件AndroidWifiTether
AndroidWifiTether是Android用来实现网络共享的软件。
4、Android-x86
你可能会熟悉LiveAndroid项目,不过该项目自从推出0.3版本后似乎就没什么动静了。相比LiveAndroid“ToprovideaLiveCD(andLiveUSB)forcommonX86platforms”的目标,Android-x86项目目标更为远。大:“PortAndroidopensourceprojecttox86platform”。
目前AndroidX86项目实现的功能有:
Kernel2.6.29(包含KMS)
声音
摄像头支持
触摸屏
鼠标(滚轮及指针)
休眠及唤醒
包含Busybox的Debug模式
图形WiFi配置
驱动固件热拔插
外置USB键盘支持
模块驱动的自动检测
最近该项目推出了Android1.6版本的LiveCD(withInstaller)和LiveUSB
5.Android滑动式菜单SlidingMen
6、Android瀑布流实例android_waterfall
实现了类似于迷尚android和蘑菇街android的瀑布流布局
7.WindowsAndroid
WindowsAndroid目前是基于Android4.03开发,团队计划在不久后引入更多的Android版本供用户使用。它能提供完整的Android4.0体验,其中还包含有原生的GApps(Google基础服务包),你可以直接通过浏览器浏览网页,收发邮件等……
开发者自称在操作系统、虚拟化和图形技术方面富有经验,在该项目上已经工作了数年。WindowsAndroid不是模拟器,提供了完整的Android功能,可以运行所有的Andorid应用,包括3D游戏。
8、android-viewflow
android-viewflow是Android平台上一个视图切换的效果库。
ViewFlow相当于AndroidUI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。
9、HTML5视频播放器VideoJS
VideoJS是一个HTML5的视频播放器,兼容大量的平台,对于不支持的浏览器则自动使用Flash播放器来播放。
15、Android的OpenGL编程实例Android-GL
16、ipcamera-for-android
一款将Android手机变成IPCamera的软件,在同一个网路,你可以在任意的浏览器查看手机监控视频。
17、PhotoView
PhotoView是一款扩展自AndroidImageView,支持通过单点/多点触摸来进行图片缩放的智能控件。
特性:
1、支持平滑滚动;
2、在滑动父控件下能够运行良好;(例如:ViewPager)
3、支持单点/多点触摸,即时缩放图片;
4、开源的家庭自动化方案openHAB
openHAB是一个纯Java打造的开源项目,完全基于OSGi(OpenServiceGatewayInitiative),并使用Jetty作为web服务器。Jetty和EquinoxOSGi运行时一起构成了openHAB的核心基础。
openHAB全称为openHomeAutomationBus,即开放式家庭自动化总线,该项目旨在为家庭自动化构建提供一个通用的集成平台。
¥179.00
¥98.00
¥398.00
¥199.00