最好的Android开发资源

jopen 10年前

这篇文章为准备从事Android开发的新手们介绍了那些绝佳的资源,如第三方库和教程等。

OkHttp

最好的Android开发资源

OkHttp, a product of Square, is an open-source HTTP and SPDY library for Android and Java. Android comes with two existing HTTP frameworks (HttpURLConnection and HttpClient) but over various Android OS versions have been rife with bugs that can make any normally-sane developer go nuts trying to nail down an HTTP problem. Fortunately, OkHttp solves many of the problems. OkHttp is built upon HttpUrlConnection — so the API should be familiar — but stays up-to-date with fixes from the Android codebase, meaning no compatibility nightmares with older OS versions. Oh, and if you’re looking for something that implements the Apache HttpClient API, that exists as a module: okhttp-apache.

Check out OkHttp

Retrofit

最好的Android开发资源

Retrofit, also a product of Square, is an open-source, type-safe REST client for Android and Java. The Android platform doesn’t lend itself much to simple client-server interaction when it comes to APIs. Retrofit aims to provide that, at least for REST requests. Retrofit supports quite a bit of customization, but out of the box will use GSON for JSON-parsing and saves a ton of time building form and multipart requests by simplifying it all into a straightforward interface. Bonus: Retrofit will use OkHttp if it’s available.

Check out Retrofit

Picasso

最好的Android开发资源

Alright, this is the last Square open-source project I’ll list here, I promise (but there are plenty more you should check out). Picasso is an image downloading and caching library sporting a fluent interface for ease of use. Picasso has many options for customizing how it handles the downloaded image (including things like resizing and cropping, as well as providing an interface allowing you to transform the image how you see fit, such as performing a circle crop on it). Picasso will download the image (if not cached) and load it into the given target, which can be anything implementing the Target interface or in its simplest and most common usage, an ImageView.

Check out Picasso

AndroidViews

最好的Android开发资源

AndroidViews.net is a site that aims to bring together many of the different tools, libraries, and resources into a browsable index. Unfortunately, there’s no search functionality and the site definitely isn’t comprehensive, so you’ll probably also want to check out the next resource on my list…

Check out AndroidViews

Android Weekly

最好的Android开发资源

If there’s any mailing list you should ever want to be on, this is probably the first. Android Weekly is a newsletter of various musings in the Android development community, including new libraries, tools, blog posts, and more. If you don’t have email (is that a possibility?) or you just don’t like the prospect of giving them your email address, you can always check the site every Monday for the latest issue.

Check out Android Weekly

Android Niceties

最好的Android开发资源

Android Niceties is a great collections of well-designed and thoughtfully-developed experiences in the Android ecosystem. Android Niceties has covered great, from major brand apps like Duolingo, Expedia, and Etsy to perhaps previously lesser-known apps like Muzei, Timely, and Pocket.

Check out Android Niceties

Android Lifecycle

最好的Android开发资源

Touting itself as the “Complete Android Fragment & Activity Lifecycle” (I haven’t completely verified this, but it looks right…), this graph outlines the flow of Activity and Fragment in relation to user interaction within and outside of your application.

Check out Android Lifecycle

Android Asset Studio

最好的Android开发资源

This site has a myriad of tools built into it to simplify the creation of various Android-related resources including launcher icons, notification icons, navigation drawer icons, and more…

Check out Android Asset Studio

Android Holo Colors Generator

最好的Android开发资源

Built upon the Android Asset Studio, this tool simplifies the previously design-resource encumbering process of creating custom Holo-style Android widgets. Just plug in a color, specify your action bar theme, and get going!

Check out Android Holo Colors Generator

DPI Calculator for Android

最好的Android开发资源

It is what it says it is. This tool is simple and elegant, allowing the user to plug in a number at any density (yeah, even tvdpi) and will calculate the value for any other density. This one’s a keeper for sure.

Check out DPI Calculator for Android

Android Developers 油Tube Channel

最好的Android开发资源

This one might seem a bit more obvious, but maybe you’re not subscribed to it. If you aren’t, you should be. Google is shifting its focus for Android (and the rest of its company, I hear) to be more design-oriented. This is and almost certainly will continue to be where you can find out much more about Android development, design, and UX — old and new. I also recommend the Google Developers channel if you’re into that kind of thing.

Check out the Android Developers 油Tube Channel

Gradle, please

最好的Android开发资源

Thinking about switching to Gradle and need some help with your dependencies? Have been on Gradle but just want to simplify the dependency search? Look no further than Gradle, please. Plug in the name of your favorite library (heck, I dunno, maybe OkHttp, Picasso, or Retrofit?) and Gradle, please will spit out your dependencies “compile” line ready to go. If you’re looking for something a little more complex, you can always check out The Central Repository. Gradle, please also happens to provide all of the standard Google-provided dependencies at the top of the page for your convenience.

Check out Gradle, please

… and last but certainly, not least:

android/platform frameworks base

最好的Android开发资源

You might be wondering why I’m listing this. Well, I can’t tell you how many times I’ve been through this codebase. I don’t generally sift through on my local machine; rather, I peruse the Android source on Github’s website. Typically, I’ll be wondering how something works (like the complexities of ListView/AdapterView, or the new hotness that is TransitionManager) and want to check it out — this is the best place to really dig in. Oh, and in case you’re still feeling adventurous, there’s also the support library source to browse.

Check out android/platform frameworks base