Starting out in Android development can be a daunting task – there’s so much information out there, so many tutorials and so many resources it can be hard to navigate. That’s why we’ve compiled this big list of Android development resources so you can find all you might need in one place.
From IDEs to learning tutorials, we’ve covered the very first steps a budding developer can take on this path, to useful libraries and plug-ins for the more experienced users looking to take it up a level. While Java is the official language for Android development, we felt it was necessary to also touch upon C, C++ and LUA in the Language Resources section.
If you like learning via watching, you could also look through our article on the top Android tutorials on Youtube, and for more resources there’s always our App Development Tools directory too. This big list is divided into four macro-categories:
Android Editors and IDEs
As well as “the originals”, that is to say Eclipse, IntelliJIDEA and of course Android Studio, we’ve chosen a couple of other platforms here to include C, C++ and PhoneGap, though generally, it is recommended that you stick to Java and HTML5.
Android Studio – The official IDE, based on the community-created IntelliJIDEA (see below).
Eclipse – Before Android Studio, this was the official Android development environment. Used to code Java but can be expanded to other languages via plugins, it is still a powerful tool.
IntelliJIDEA – Android Studio is based on this, and this IDE is not only extremely useful, but has a massive amount of community-created plugins, making it highly customisable.
DroidEdit – An Android text and code editor to use on Android platforms.
Android-IDE – A complete web and Android development environment, it also allows you to edit Java and PhoneGap apps.
Cordova – Mobile apps with HTML, CSS and JS, its one of the best tools if you want to create hybrid apps. Free and open source.
Corona – A 2D-development platform with a specific focus on games but can be used to create other types of mobile apps too. One of the best for cross-platform development and 100% free.
Build Games for Mobile, TV, and Desktop using Corona SDK
Quoda – A free multi-language code editor often considered to be the best out there for Android development beyond Android Development Studio. Full of productivity-enhancing functionalities.
Xamarin – Widely featured in the press and a very impressive IDE for native Android, iOS and Windows applications. Open source and free with two further price plans, it uses C# as its language
CppDroid – Allows you to code, edit compile and execute C and C++ code. Packed full of features including practice programs and syntax highlighting.
Android Language Resources
There’s a number of languages you could use to develop Android applications, but really the king of them all is Java, which is the stable for app development. We’ve included tutorials for this below, as well other languages such as LUA and Cordova (for hybrid apps), C and C++. A word of warning for C and C++: you can use them with the Android Native Development Kit to create Android apps, but while this always means an increased app complexity, it doesn’t always have the pay off of better performance.
Java – Straight to the source, if you’re developing in Android, Java is probably the language you want to be using. Has it’s own development kit, but there are plenty of other SDKs out there too.
Codecademy – One of the premier code-learning resources online, it has been used by thousands of people to get into Java coding, as well as other languages and frameworks. An interactive, learn-as-you-code format.
Team treehouse – Another e-learning website, but well known for the strength of its Java courses.
Udemy – Online learning can’t go without mentioning Udemy, which features dozens of both highly specific and generic Java learning courses.
New Boston – Youtube tutorials to learn how to develop in Android – currently has over 5 million views. Covers everything from setting up the SDK to XLM Layouts. 200 videos in total.
Android Application Development Tutorials 1
Ryan Park Apps resource list – Ryan Parks taught himself how to code in Java and published, among others, a personal finance application. This is the list of resources he used.
Oracle Java Tutorials – Both general and specialised Java tutorials by IT giants Oracle, starts from the very basic concepts and overview.
Cave of Programming – Covers both Java and C++, comes with exercises and tests: also sometimes offers paid-for courses for free, pending approval by the creator of the site, John.
Mkyong – Very specific tutorials and guides on Java development. More for the skilled coder who knows what they’re looking for.
Java Design Patterns – Github repository of Java implemented design patterns.
C++ and C
LearnCPP – Free and extensive website to learn coding C++. This is really the long way around to Android development, but C++ does give you further options beyond mobile apps.
SoloLearn – Offers courses on all sorts of languages beyond C++ too – over 80 lessons going from the basics to classes and objects, structured much like a game.
LUA with Corona
Corona Learning Centre – The Corona SDK (the builder is further down in this list) creates Android apps using the LUA language, and is one of the most used languages after Java for the platform. Highly recommended.
Tyler Neylon – “Learn LUA in 15 Minutes” is perhaps a bit ambitious, especially for the novice developer, but it’s about one of the clearest explanations you can find for LUA online.
Programming in LUA – The most extensive resource for learning LUA. Written in 2003 but still very relevant, and available as a book too.
Coenraets on Cordova – Very comprehensive tutorial on building mobile apps with the free and opensource engine managed by Apache. You can download Cordova here and find PhoneGap tutorials on the Coenraets website too.
Kotlin – Fairly new programming language made for JVM and Android, claims to be fully interoperable with Java. Comes with its own tutorials and knowledge base and was made with Gradle in mind.
Getting Started with Kotlin in 2 minutes
Sure, there might not be a library out there that does -precisely- what you need it to do, but there’s nothing stopping you from picking and choosing the bits of code that you need for your app. The dev community tends to be quite open with a lot of their work, and chances are someone has made the library you need.
Universal Image Loader – Does what it says on the tin with out-of-the-box loading and caching of images. Highly customisable.
GSon – Serialising and deserialising Java objects in JSON.
Retrofit – Described as an “elegant solution for organising API calls”.
Awesome Java – A list of some of the best Java frameworks and libraries.
AndroidView Animations – Library with very simple syntax to get regular View animations working smoothly.
EventBus – Aimed at making communication between parts of your application as smooth and easy as possible.
ButterKnife – Very lightweight library which streamlines various wordy Android syntax issues by using annotations to create boilerplate template code.
Picasso – Specifically useful when download images for apps. Just inputting the image’s URL will download the image, store as bitmap and cache it.
Awesome Android Libraries – A curated list of Android development libraries, organised by functionality, name and license.
Android Arsenal Libraries – A good resource all round, but in this case a collection of quality (and free) Android dev libraries.
Android-Libs – Another resource and library aggregator for Android with a handy search engine.
From improving quality-of-life while coding to efficiency, syntax and other functionalities, plugins can be your best friend when customising your developing environment. Once again the dev community tends to share plugins, and there are an absolutely huge amount out there waiting for you to discover them.
Plugin collection for IntelliJ – The main repository for IntelliJ plugins, an absolute treasure-trove of handy tools for the IntelliJ IDE.
A curated list of IntelliJ Plugins – The above repository is absolutely huge, so to help you get started and find some gems, here’s a curated list of the best IntelliJ plugins.
Import Drawables – For IntelliJ, allows importing of drawables at different resolutions and other image-based functionalities.
GenyMotion – One of the biggest and most reliable testing and emulation tools for Android apps – employed by BlaBla Car among other high-profile names.
Genymotion Android Emulator
Boilerplate Code Generation – For IntelliJ, generates parcelable boilerplate code.
Android Holo Colors – Generates all necessary XML to have editext and colour spinners in your Android app.
Butterknife Injections – Works with the ButterKnife library to generate boilerplate code injections.
H.A.X.M. – Stands for Hardware Accelerated Execution Manager, developed by Intel, it executes Android apps faster for those who use SDK emulators.
Robotium Recorder – test framework for both native and hybrid applications, both on emulators and Android devices.
ADB-IDEA – A quality-of-life and productivity plug-in to increase the speed at which you develop Android apps. Compatible with both Android Studio and IntelliJ IDEA.
IDEA Vim – Vim emulation plug ins made by Jetbrains and based on the IntelliJ platform.
Folding Plugin – Highly recommended file grouping plugin
CodeGlance – Creates a “code minimap” within your IDE for easier navigation, integrates with your pre-existing syntax highlighting.
Android Material Design Icon – Now built-in to Android Studio 1.4, one of the easiest ways to create icons at just the right size and resolution.
KeyPromoter – Can’t get the hang of keyboard shortcuts? This plug in will constantly remind you how much faster you could be doing things.
We hope the above list has something for everyone, from those just starting out to the more experienced developers looking to hone their skills and if you need or want even more resources, you can always have a look at our App Development Tools directory.