CodeGym/Java Blog/Android/Knowledge Roadmap for Android beginners
Paul Soia
Level 26
Kyiv

Knowledge Roadmap for Android beginners

Published in the Android group
members
Newbies often ask themselves: "What do I need to know to become a developer?" Job postings can have a lot of incomprehensible words. Programming books are packed with so much information that it seems you have to start studying the topic from childhood. On top of all that, Android development is now at a point where you need to know two languages: Java and Kotlin. We’re going to try to make a "knowledge roadmap for beginners" — exactly what you need to know in order to land your first job. Roadmap for a beginner as an Android developer - 1First and foremost is Core Java. Yes, Java is the best place to start at present. In my view, CodeGym is the best way to do this. There's no need to be distracted by anything else until you thoroughly work through the basic stuff. At the same time, you'll have a big advantage if you can find a mentor who can give you hints and explain things. Then you can try the Android SDK. First, you need to figure out how to use TextView, EditText, Layouts (Frame, Linear, Relative), ImageView, and Button. After that, proceed to RecyclerView. At this stage, practice is your everything. You need to try everything, see how it works, what characteristics these components have, and how they differ. Then you can go deeper and figure out Activity and Fragments. Then lifecycle and launch modes. Also data transfer between two Activities (Intent) and two Fragments (Bundle). At this point, you're ready to write something a little more complicated than a calculator. You need to write a small project that consists of several screens. The main thing is to use lots of components to figure out how they interact with each other. And again, it will be a big plus if someone sees your code and can make suggestions. Now you're ready to try Kotlin. In addition, you should make your project interact with the REST API in some way. The Retrofit library is used to do this. There are a lot of tutorials about it. There are also a lot of open APIs that you can practice on (for example, Instagram, Facebook, and many others). The end result should be something that downloads data from a server and displays it on the screen. The Glide library (or, alternatively, Picasso) is also useful here. That's the nuts and bolts of it. The next step is to tackle design patterns. Google promotes MVVM for Android, so you ought to try it. Also, check out what "clean architecture" means. And to top it all off — dependency injection. At this point, you could try to go to some interviews. The Internet is chock full of articles and examples on each of these topics. As you study, remember that understanding how and why things work is still more important than memorizing terminology. It's also important to be able to use a debugger to track down errors. And this is only possible with a lot of practice. This process can be completed in six months. But that's only if you devote sufficient time to your training. All that remains is for me to wish you patience.
Comments (10)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Sylfer
Level 15 , France
10 January 2021, 21:22
Hello Paul, Thank you for that article, I really needed it. For the moment, I'm at level 9 but I'm enthusiastic about creating an app for personal use. I see no mention of XML in your article. I thought it was needed to use Android Studio ?
Gaelle Gilles
Level 15 , New York City, United States
12 January 2021, 05:34
XML is needed while building apps for Android OS. Once you create a project in Android Studio, an XML file pops up along with the main activity file.
Sylwia
Level 16 , Deutschland , Germany
5 January 2021, 11:43
Hello Paul, thank you for your article! Do we need java multithreading or we can go for Android with only java core? So reaching level 20 of codegym, will it be enough?
hemant
Level 8 , prayagraj, India
6 January 2021, 10:52
Learning java core and kotlin is enough to start android development, BUT learning multithreading will be beneficial not only for android development but for all java developments. today computers and smartphones are very faster and can run many parts of your code at the same time. this can be achieved by multithreading. To make blazing fast apps you need support of multithreading so that you can run many threads at the same time.
Sylwia
Level 16 , Deutschland , Germany
6 January 2021, 17:05
Hi hemant, thank you for your reply! I will definitely lern multithreading, seems to be a very interesting topic, but really want to start with android asap :)
Vinay
Level 11
5 January 2021, 08:10
Hello Paul, Can you please recommend me a good kotlin textbook or any kotlin source for beginners? Thank you.
Gaelle Gilles
Level 15 , New York City, United States
5 January 2021, 16:35
I am using Head First Kotlin to learn the language. It is an amazing book to learn from for a beginner, And since you are learning Java, it will also be a little easier to learn Kotlin. Here is the link https://www.amazon.com/Head-First-Kotlin-Brain-Friendly-Guide/dp/1491996692. Just to let you know, the book was published in 2019, so there are a few things that are a bit outdated, but not much. Google also has a Kotlin Bootcamp for programmers for free. Here is the link for that https://developer.android.com/codelabs/kotlin-bootcamp-welcome#0. And if you are really interested in Android Development, start learning how to develop basic apps by using Android Studio 4.2 Beta. I am using the Head First Android Development book to help me learn how to develop Android apps, but the edition I have is over 3 years old. Here is the link: https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052 So a few things are out of date, but you can easily search up the latest new tools that Android Studio has that aren't taught in the book. Also, the 3rd edition of the Head First Android Development book is coming out in November of this year: https://www.oreilly.com/library/view/head-first-android/9781492076513/. If you want to wait till November for the most updated version of the Android Development book, you can most definitely do that. In the meantime, search for courses that will help teach you how to develop apps for Android. Hope this helps.
Vinay
Level 11
5 January 2021, 20:48
Hello Gaelle, Thank you for the valuable info. Should I need to learn both Java and Kotlin parallelly?? If yes, then will this parallelity continue in Java multithreading and Java collections as well? Am afraid that I can't pull both Java and Kotlin simultaneously for a longer period. Thank you.
Gaelle Gilles
Level 15 , New York City, United States
6 January 2021, 00:55
There are a lot of similarities between the two languages, so you may find that learning Kotlin is pretty simple, considering that right now you are on level 8 in CodeGym. If you really want to become an Android Developer, start learning Kotlin while you are learning Java just to get the ball rolling. I don't know much about Java multithreading, but as said before Kotlin and Java are similar. So it is no surprise that Kotlin has inheritance, polymorphism, interfaces, and other classes and packages that Java has. It is just done differently in Kotlin, but the idea is still the same. You can even use some Java methods in Kotlin. Here is the Kotlin Standard Library for you to reference whenever needed: https://kotlinlang.org/api/latest/jvm/stdlib/ This is where all of Java's class and packages live that can be used by anyone for free: https://docs.oracle.com/javase/8/docs/api/ You'll see the similarities between the two languages while digging through those websites. I want to know if you really want to become an Android Developer? If you do, learning both languages will be beneficial. Continue learning Java because a lot of Android apps are still written in Java. Since Kotlin was written with Java in mind, Kotlin can be written wherever Java is. In my opinion, I like Kotlin better for Android Development because of its shorter syntax, and also it is far more readable and simpler than Java. To learn more about Kotlin, you can read these articles: https://medium.com/@magnus.chatt/why-you-should-totally-switch-to-kotlin-c7bbde9e10d5 and https://www.shareitsolutions.com/blog/what-is-kotlin.
Vinay
Level 11
6 January 2021, 08:39
Hello Gaelle, Yes, I have choosen Android Development as my carreer. Your long and clear explanation have cleared lot of doubts in me. I will definitely check all the links you have provided. Thank you very much!