This article is originally translated by code Nongnet – Xiaofeng, reprint please see the reprint requirements at the end of the article, welcome to join the technical translation team!

When it comes to software development, one might lament that knowing the platform SDKS and apis is more important than knowing the language itself.

If you’re a Java developer going into Android development, or a startup CxO that wants to make sure the team is using the right tools, the SDKS and apis outlined in this article might be very useful.

Review images

I’ve been building Android apps for the past four years, and here are some of the things I need to build a new app, so I recommend them to you.

Material design support library

When developing a modern Android app, we always want to use the latest and greatest design components. This usually makes your application look nice without any extra decoration. You can have sweet effects like ripples, and new parts like FAB. And the Design Support Library allows you to use gorgeous design elements on phones that come preloaded with lollipops.

Review images

Gradle dependencies:

Compile “com. Android. Support: design: 22.2.0”

Usage Examples:

http://stackoverflow.com/a/28715666

http://stackoverflow.com/a/30903356

Picasso image loading

Loading images is extremely RAM intensive. I’ve tried many libraries to simplify the process. Personally, Square Picasso is the best combination of durability and ease of use.

Review images

Gradle dependencies:

Compile “com. Squareup. Picasso was: Picasso was: 2.5.2”

Usage Examples:

http://square.github.io/picasso

Mixpanel analytics

Mobile apps without funnel analytics are doomed to fail — Lean Startup, a biblical book on the subject. Google Analytics is fragmented and can be overstated. Mixpanel is accurate and sensitive. It’s not cheap, but I must stress that the support is really great.

Review images

Gradle dependencies:

Compile “com. Mixpanel. Android: mixpanel – android: 4.5.3”

Example:

https://mixpanel.com/help/reference/android

ACRA + tracepot crash reporting

The Google Play Store developers have a Crashes & ANRs section. However, when a crash occurs, the user must manually send a report. If you really want to get things in order, you should use the ACRA library and connect it to the tracepot back end for easy viewing of the dashboard.

ACRA sends a crash report every time a crash occurs, even if the user does not. ACRA supports multiple reporting backends. I chose Tracepot because it is the easiest to integrate with ACRA, simply referring to the URL that Tracepot gives you when ACRA initialcalls.

Review images

Gradle dependencies:

Ch.acra: acra: 4.6.1

ACRA document:

https://github.com/ACRA/acra/wiki/BasicSetup

Tracepot:

http://www.tracepot.com

AppCompat and Support library

I don’t have to tell you that these two are basically mandatory, and they can support new features on older devices, from snippets to checking pagers.

Review images

Gradle dependencies:

Compile “com. Android. Support: appcompat – v7:22.2.0” compile “com. Android. Support: support – v4:22.2.0”

Usage Examples:

http://stackoverflow.com/a/18941423

http://stackoverflow.com/a/13042867

WhereDat API

You can use the Android App Search and Lookup apis to retrieve data about your App.

Review images

Documents:

http://wheredatapp.com/developers

Usage Examples:

http://stackoverflow.com/a/30406757

http://stackoverflow.com/a/30065668