How to get started with Android(Kotlin) without watching hours of tutorial videos
I am writing this document as a guide on how to get started with an Android project in a professional organisation without watching hours of tutorial videos.
First I would like to share my experience how I encountered with Android and how I tackled the situation to work swiftly on an already made android application with 1M+ downloads. I suppose this could be anyone's situation if they have recently joined an organisation. If so, then let's hop on!
I recently joined as a Java backend engineer with no past experience of Android development and after working for few months, there were major requirements in the Android team and as I had the experience of Java and trusting the rumours of similarities of Java with Kotlin and believing on developer’s universal godfather Stackoverflow.., I volunteered for this adventure until App gets stable.
Some hours diving into android studio and the project architecture it was clear that this won't be a cakewalk. So I planned things out and placed all points that needed focus on the table.
These are the points on which a beginner must focus on to understand an already developed android codebase. Googling these points would give enough knowledge.
1.) Android file architecture
To get a deep understanding of android architecture one must know the motive behind these files:
-> AndroidManifest, build.gradle, gradle.properties, settings.gradle
-> Res(resources) package which comprises of folders like drawable, layouts, values etc
Knowing about these files would get you going.
2.) Read about Kotlin and XML syntax
Just the syntax knowledge of Kotlin and XML is enough to get one started with the android project and I would suggest the official docs to get started with.
Please try to get knowledge of XML tags which are related to android only otherwise reading everything about XML would be a waste of time if you just wanna read it for android.
3.) Android studio tools
Knowing how to use android studio tools like Logcat, Debugger, Profiler, AVD just makes the life of an android developer very easy.
4.) Difference between Activity and Fragment
Knowing how to use Activity and Fragments along with some knowledge of XML tags can give one enough confidence to build whole new UI.
After two weeks of this frontend knowledge, I completely redesigned the login flow of our organisations' app and it looked awesome.
5.) Kotlin architecture
There are a lot of language-based architecture patterns that could be built on android. We were using MVVM architecture at that time and some deep reading about MVVM was enough to make it very easier for me to navigate to different logics of code and understand the whole codebase.
6.) How the app is interacting with backend
There are a lot of ways that an app can interact with backend like calling the organisation’s own server or interacting with cloud servers like AWS or firebase. Know how these APIs would be called using Retrofit library that is included in gradle.
Knowledge about these points is enough for getting started with android in record minimum days without looking over months of video tutorials. Rest things would be automatically picked up with time along the journey.
If you want to know individually about these points then let me know in comments.