If you’ve been looking for a specific app for a specific use for a long time and can’t find it, it’s never too long to learn to program android apps and create it yourself. Creating a simple app on Android is within reach of anyone with patience and desire, although to build more complicated apps you will need good resources (and even more desire).
If you are planning to learn how to program apps for Android, here we show you the 23 most useful resources you can find today to help you achieve that and best of all, all of the resources we’ve included are free and of a high quality.
Android official documentation
The world of Android changes with each release, and even more from a developer perspective. For this reason, it is common that the tutorials and information available on the Internet do not take long to become outdated. The only way to stay up to date is to consult the official Android documentation, directly from Google.
The documentation can be overwhelming at first, even if it has a section with developer guides which in an entertaining way explain the basic, and not so basic, concepts of programming Android applications. For beginners, the guide can be particularly useful How to create your first app
If you want the apps you create to look good and work, you should take a before or after look at the official material design documentation, related to Android, but which is separate because it is cross-platform and not just for Android.
This documentation includes the various components of Material Design, as well as recommendations on what you should and what you should not do with them and the new customization possibilities of Material Theming.
If you are one of those who would rather not start from scratch, the repository with sample Android apps is huge, with 220 application examples with one click, Java and Kotlin or C / C ++. You can search, filter by topics, and each example is hosted on GitHub, so it won’t cost you anything to clone it to your PC.
In addition, these sample applications are accessible directly from Android Studio, so if you want to go through how this or that is done, you just need to import a sample app from the Android Studio home window, in Import Android sample code.
If you’re new to Android programming right now, you can skip Jetpack at first, but sooner or later you’ll have to deal with this evolution of the support library. Jetpack is a set of libraries and tools for facilitate the creation of applications with advanced functions which adapt well to older versions of Android.
Jetpack encompasses a lot of component libraries that were previously offered separately or in the Support Library, and if you don’t want to go crazy you should have an idea, at least roughly, of what it is and what it is for. On their website you have endless information and guides.
There are video tutorials on YouTube for just about anything you can think of, and there are plenty of videos for learning how to program on Android as well. the official Android developer channel mix basic concepts with advanced concepts and comprehensive lectures with best practices.
Of course, it won’t cost you to find plenty of other YouTube videos and channels with similar content (like MoureDev), although you should keep in mind that content from a few years ago will be practically obsolete, so you better not fill your head with concepts that are not very applicable today.
Codelabs are something like exercises in which you have to perform a series of steps. Some of these Codelabs walk you through building a simple app, while others are part of a tutorial or focus on a specific feature. Usually, each exercise does not take more than a few minutes.
The good thing about Codelabs is that generally you are somewhat guided on what to do
Beyond Codelabs, Google courses, ranging from the basics to building applications with advanced features. Currently, Google lists some courses for beginners and advanced developers, all free and you can easily do at home with Android Studio.
Some of these courses are based on Codelabs, guiding you through exercises on what to do, while others are supplemented by full videos (in this case, those of Udacity we’ll see below).
Google Course at Udacity
If you’re looking for courses that take you in more depth, especially the basics, Google currently has 15 free high-quality courses at Udacity and 2 nanodegrees (which are paid).
These courses include detailed video explanations, often summarizing complex concepts to make them easier to understand, as well as exercises and quizzes to test if you follow the explanation.
Other free courses
In virtually all online education platforms, it won’t cost you to find programming courses on Android, in some cases for free. For example, on Udemy, you can use search and filters to find free courses. Again, remember to focus on relatively new lessons, to avoid learning “outdated” information.
Stack Overflow is a resource that won’t help you learn, but when you encounter an error and don’t know how to fix it during your programming practices. By copying the error you get into their search engine, chances are you will find someone who has had the same problem before and hopefully the solution in their answers.