7 SDK's and API's every android developer should know


When it comes to software development, some people say knowing the platform's SDK's and API's is more important than knowing the language itself.
If you're a Java developer going into android development, or the CxO of a startup that wants to make sure their team is using the right tools, you may find this list useful.
I've been building android apps for the last 4 years, and the list below is a must-have for every new app I work on.

Material design support library


When developing a modern android app, you should always aspire to use the latest and greatest design widgets. This will usually make your app look better without extra work. You'll get sweet effects like the ripple and new widgets like the FAB. And the design support library will let you use those dandy design elements on pre-lollipop phones too.

Gradle dependency:
compile 'com.android.support:design:22.2.0'

Usage example:

Picasso image loading


Loading images is extremely RAM-taxing. I've tried many libraries to simplify the process. IMHO, Picasso by Square is the best combination of robustness and ease of use.

Gradle dependency:
compile 'com.squareup.picasso:picasso:2.5.2'

Usage example:

Mixpanel analytics


A mobile app without funnel analytics is destined to fail, at least according to the Lean Startup book, which is kinda' like my bible. Google analytics is too fragmented with all the website adwords stuff they have there and flurry has always exaggerated our numbers (which might be beneficial for some ;-). Mixpanel is the most accurate and responsive of the bunch. They are not cheap (to put it mildly) but I can't stress enough how good their support is.

Gradle dependency:
compile 'com.mixpanel.android:mixpanel-android:4.5.3'

Usage examples:

ACRA + tracepot crash reporting


The Google play store developer console has a Crashes & ANRs section. But users have to manually send the report when a crash happens. If you really want to get your ducks in a row, you should use the ACRA library and connect it to tracepot's backend for their dashboard.
ACRA sends a crash report every time a crash happens, even when the user doesn't. ACRA supports multiple backends for reporting, I chose tracepot because it's the simplest to integrate with ACRA, just reference the URL that tracepot gives you in ACRA's initialization call.

Gradle dependency:
compile 'ch.acra:acra:4.6.1'

ACRA documentation:

AppCompat and Support library


These two are probably obvious, but are basically mandatory to mention, they'll let you support new features in older devices, ranging from fragments to view pagers.

Gradle dependencies:
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'

Usage example:

WhereDat API

512_512 (1).png

I couldn't end this post without a shameless plug!
You can use our Android App Search and Lookup API's to get data about apps.


Usage example:

Mobile Analytics