Learning Android development? read this to cover 360 degrees!

Wajid Ali
Absoluit
Published in
4 min readDec 8, 2017

--

If you are planning to be an android developer, but don’t know where to start, here you go!

Here, I gonna let you know how to be the android developer, that everyone wants to be! I often come across people who don’t know, or they find it very hard to find the best starting point. Creating an android studio project and showing a toast is not one!

Yeah, I also agree to do than reading around. But here I gonna make this reading of yours to lead to practical work, so bear me along the way and don’t get bored, just sit tight!

Prerequisites, for android development

For Android development you have to know the little basics of Java and its OOPs concepts. A new and very robust JVM based language named Kotlin has recently come into the market. And the good news is that Google has announced that official support will be provided for Kotlin in android. So if you are an absolute beginner, I recommend you to start with Kotlin instead of Java. Even if you are basics of java, you still should go with Kotlin. Kotlin is going to build the future of android development.

XML and JSON understanding. XML will be used for designing and another resource file, so to understand the structure of the XML can be very handy. JSON will be used for data transfers among servers and your applications so you have to be prepared and should not be surprised by JSON.

Android Studio should be installed. Latest version available at: Android official website for developers. And some basic awareness of using this tool will be a plus.

Now you have plunged into android you need to ….

Now you need to do a list of basic and short tasks:

  1. Explore and understand the project structure of the android in android studio.
  2. The android project build system uses Gradle. So you should know the basics of the Gradle. In fact, it is necessary to understand Gradle.
  3. Understand the View system of android. I will give you a starting point. You need to understand Activity, Fragments, Button, TextViews (Labels), EditTexts (Text Fields), Spinners (drop-down menus), etc
  4. Activity and Fragments life cycles
  5. Layouts for designing your screens, i.e. Relative Layout, Linear Layout, Grid Layout and the most important but complex is Constraint layout. But if you want to keep complexity aside for a while then relative and linear layout can fulfill all your needs.
  6. Recycle View is used for creating lists of any kind in your application.
  7. SQLite database, basics of SQL will be required to use.

After all this you need to cover a few libraries

Now if you understood pretty much the basics of the android. You should definitely move ahead. Here I am enlisting a few libraries and their use, after which you will be able to build enterprise-level applications.

  1. Glide / Picasso: Easy image loading and caching libraries
  2. Gson: A Java serialization/deserialization library to convert Java Objects into JSON and back
  3. Retrofit: One of the best networking library in android.
  4. Event Bus: Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality. http://greenrobot.org/eventbus/
  5. RxJava: Reactive Extensions for the JVM — a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  6. Realm / Room / GreenDao: these libraries make your databases into a piece of cake. Realm is not a library, though, a full DBMS. But I listed here because if you want to use a database it can be used instead of others. I myself use it and its, of course, the best one.
  7. Ion : Android Asynchronous Networking and Image Loading, I myself uses this one for image/video and another file uploading. and it's working best.
  8. MPAndroidChart : If you want to use charts in your application MPAndroidChart can help you.

Few things which are best to understand

Here is a list of few technologies which is mostly used. So you better start learning it instead of sitting idle.

  1. Push Notifications: Use FCM for this
  2. DataBinding: Android data binding library makes your life easy.
  3. In-app purchases
  4. Dependency injection (Dagger 2)
  5. Live Data
  6. Room
  7. Android Architectures : Comparison between MVP, MVC, and MVVM, I am using MVVM and its google official for android. In my opinion its better than others.

Thanks for reading this article. Be sure to clap/recommend as much as you can and also share it with your friends. It means a lot to me.

For more about programming, android, iOS, Artificial Intelligence, Machine Learning, follow me on twitter, so you’ll get notified when we write new posts.

--

--

Wajid Ali
Absoluit

Android, iOS, Flutter, Augmented Reality and Technology enthusiast.