Best resources for Android development

May 5, 2014

    Alper Ƈuğun

    Whether you’re a seasoned professional or just beginning with Android development, this list of resources (including tools, libraries,Ā and blogs) is useful for any developerĀ or team on just about any project, big orĀ small.

    OkHttp

    GitHub Square Ok

    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

    Retrofit

    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

    Picasso

    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 Views

    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 Weekly

    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 niceties

    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

    Github-Android-Lifecycle

    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 Asset Studio

    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 Holo Colors Generator

    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

    DPI Calculator for 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 YouTube Channel

    Android Developers YouTube

    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 YouTube Channel

    Gradle, please

    Gradle Please

    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

    GitHub-Android-Platform

    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

    Happy developing, everyone. Please, share your favorite resources in the comments!

    Comments

    Popular

    Latest