无论你是经验丰富的专业Android开发者,还是初出茅庐的新人,开发应用最忌讳的就是闭门造车。不能把自己圈在自己的思维里,要学会借助外在现有的资源去协助开发,这样既不会让自己固步自封,还能够大大提高工作效率。在这里,本文介绍的这些资源包括工具、库和网站等,学会利用它们,将会对你的工作有着非常大的帮助。
1. OkHttp
OkHttp是Square的一款产品,是一个Java的开源HTTP和SPDY客户端开发包,支持Android。Android自带的两个HTTP框架(HttpURLConnection和HttpClient),在各种Android OS版本一直充斥着错误,可以使任何理智的开发者走向崩溃。不过幸运地是,OkHttp解决了这些问题。OkHttp是建立在HttpUrlConnection上,从Android代码库保持最新的修复,这意味着再也没有与旧操作系统版本出现兼容性问题的噩梦。
相关链接:OkHttp的mobilehub主页
2. Retrofit
Retrofit同样是Square的一款开源产品,用于Android平台的一个类型安全的REST客户端。就API而言,Android平台并不适合过多简单的客户端服务器交互,而Retrofit旨在提高对REST请求。Retrofit支持相当多的自定义,使用GSON为JSON解析,并且通过简化这一切成为简单的接口来为为构建形式和多部分请求节省大量的时间。
相关链接:Retrofit的mobilehub主页
3. Picasso
这个仍然是Square的开源项目,Picasso是一个用于Android平台上的下载和缓存图片的项目。它有许多定制选项,如何处理下载图片(包括调整和裁剪,以及提供一个接口让你随自己心意将图片转换成圆角等)。Picasso将要下载的图片(如果没有缓存)并将它负载到指定的目标,转换图片以适合所显示的ImageView,来减少内存消耗。
相关链接:Picasso的mobilehub主页
4. AndroidViews
AndroidViews.net是一个网站,汇集了众多不同类型的工具、库和可浏览索引的资源。你不用重新开发已有的东西,可以节省很多时间。不过它还存在一个缺点就是,网站还不全面。
相关链接:AndroidViews的mobilehub主页
5. Android Weekly
Android Weekly相当于是Android开发社区的实时通讯录,每周报导Android最新讯息,包括新的库、工具和博客等,只要你有Email,就可以对其进行订阅,了解更多关于安卓的消息。
相关链接:Android Weekly的mobilehub主页
6. Android Niceties
Android Niceties集合了Android生态系统中一些精心设计、优雅精美的Android程序,是启发灵感的好资源。Android Niceties覆盖面极好,来自主要的平台应用比如Duolingo、Expedia、Etsy和之前依序还不为人知的Muzei、Timely和Pocket。
相关链接:Android Niceties的mobilehub主页
7. Android Lifecycle
展现了完整的Android片段和Activity的生命周期,Activity从新建到销毁,构成了一个生命周期,但要知道生命周期并不仅仅只包括这两个。而Android Lifecycle打印出的表图概述了Activity与Fragment在应用内部与外部和用户交互的流。
相关链接:Android Lifecycle的mobilehub主页
8. Android Asset Studio
这个网站已提供了大量的工具来简化创建各种Android相关的资源,包括启动栏图标、通知图标和导航抽屉图标等,让你不再为设计应用图标而发愁。
相关链接:Android Asset Studio的mobilehub主页
9. Android Holo Colors Generator
制作更加精美的图标,可以前往Android Asset Studio进行设计。该网站提供应用所需要的所有图标的生成工具,包括菜单图标、动作栏图标、标签栏图标、通知图标等,而且操作简单易行。
相关链接:Android Holo Colors Generator的mobilehub主页
10. DPI Calculator for Android
就像它的名字一样,这是一款专门用于Android平台的分辨率计算器,使用很简单,用户通过输入长、宽、对角线等,就可以计算出屏幕的实际分辨率来。
11. Android Developers YouTube Channel
如果你想紧跟Android开发步伐,那么Android Developers就是你最值得订阅的频道,在这里你将学会与Android相关的最新特性以及独门绝技,这些将对自己的开发工作有着很大的帮助。
12. android/platform frameworks base
你也许会奇怪它为什么会存在,不过在通常情况下,你也许会想知道一些东西是如何工作的(比如ListView/AdapterView的复杂性,或TransitionManager的最新热度),并希望能够挖掘出来,而通过它就能够实现,并且支持库源浏览。