Let’s talk about a technology that has set the world ablaze. What is always present not just in our pockets and our living rooms but also on our minds? A smartphone, right? From the moment we wake up to the moment we go to sleep, the one thing that doesn’t part from us is our smartphone. While our smartphones make life easy for us, the apps on them make it easier. More than 80% of the smartphone market share is of Android, and with the exponential increase in the number of Android users, the need for Android developers has increased many folds.
So how can a college student learn Android app development when she has no prior experience in Android programming? Learning a new operating system altogether seems scary but Android is not a difficult technology to learn anymore. Or is it? Let’s find out.
The very first step in learning Android development is to learn the Android programming language(s) required to create an app.
1. Java – Java, the conventional queen of Android programming, is the most widely used programming language for Android app development. Android relies largely on Java with even Android SDK written in Java. You can easily learn Java through internet tutorials on the Notepad on your computer. Java also makes it easier for you to grasp other programming languages and explore careers in technologies other than Android. To learn core Java in and out, you can check out Internshala’s Core Java training.
2. Kotlin – Google made the big announcement in its I/O conference 2017 and introduced Kotlin as the official language for Android programming. Kotlin is an open source language that runs on a Java Virtual Machine. With features like operator overloading, lambda expressions, and higher-order functions, Kotlin has a concise syntax and requires less coding. If you have no prior experience in Android development, then Kotlin will make your life a little easier!
3. XML – Extensible Markup Language or XML is largely used in Android to design UI layouts and the screen elements they contain. This means that XML defines the look and feel of an Android app. Apart from this, it also allows parsing of data in an app.
Before you set out to create an Android app, you’ll need to be familiar with some key concepts of Android development.
1. Activity – An activity represents a screen in an Android app with which users can interact. An app with multiple screens has multiple activities since it doesn’t begin in the same way for every user. For example, if you receive an email and open it from your notification bar, the email will show, but if you open it from the Gmail app, you’ll see a list of emails. Activities are designed to facilitate such paradigms. To know more about how activities function in Android, you can visit Android Developers.
2. Fragments – A fragment is like a ‘sub activity’. It is a modular section of an activity which has its own lifecycle, receives its own input events, and has its own layout.
3. Content Providers – A content provider manages access to a central repository of data, which means that it lets you centralize content in one place. It is used to share data between applications.
4. Context – Let’s just say a context is the personal assistant of an Android application. It is the context of the current state of the application/object. It helps the newly created objects understand the on-going events in an Android application. Context in Android is an extremely important concept. To understand it better, you can read this Mindorks article on context.
5. Broadcast Receivers – On an Android device, various events like low battery, incoming call, incoming text, wifi connection, etc. could occur. To listen to these events and have your system act accordingly, you need a mechanism. This mechanism is called a broadcast receiver and these events are known as intents. To know how these receivers work, you can visit here.
6. Back Stack – A collection of activities to perform a certain job is called a task. These activities are arranged in a certain order in which the activities are opened – this order is called back stack. To know more about the back stack, click here.
7. RecyclerView – Consider you have a thousand contacts on your smartphone. For a simple list view, your Android system would create a thousand objects to store these contacts. However, with RecyclerView, the application creates a limited number of objects and as you scroll down, the contacts at the top go out of the screen and are put back down with new data in them. For more RecyclerView ins and outs, go through this Google I/O 2016 talk.
8. Android Support Library – This is a set of code libraries that provide Android framework APIs and features. These support libraries are backward-compatible to a specific Android API level. The support libraries offer a wide range of classes for building apps. You can read more about Android Support Library here.
9. Android Views & Layouts – A view is responsible for drawing and event handling in Android. The view class comprises all GUI components in Android and the view objects are called widgets. View has a special classification called a ViewGroup which contains other views. It is the base class for layouts. Layouts define the structure for a user interface in your app. To know more about Android views & layouts, you can go through this comprehensive guide on layouts.
Where to learn and how?
1. Video Tutorials – Fragmented, an Android podcast by Kaushik Gopal and Donn Felker, talks about patterns and practices that help Android developers go from good to amazing. You can also subscribe to channels like The New Boston and Slide Nerd that offer Android tutorials to beginners.
2. Recommended books – Before trying your hand in Android app development, you need to be well versed with either Java or Kotlin. Books like Thinking in Java and Head First Java will come in handy when you’re preparing to think like a Java programmer. For Kotlin, you can go through Programming Kotlin and Kotlin for Android developers. After you have learnt Android programming languages, it’s time to learn Android app development. Head First Android Development and The Big Nerd Ranch Guide will explain the key concepts of Android for beginners in an interesting way.
3. Internshala Android training – Usually the information on the internet is quite cluttered and doesn’t have a proper flow. Thus, beginners find it overwhelming to learn app development. An online training on Android app development has all the requisites for you to develop your own app in an organised manner and is a perfect Android tutorial for beginners to learn Android.
I’ve read the books, watched the tutorials, familiarised myself with all the basic terms, and underwent an online training. Am I an Android app developer now?
Well, let’s say you’re almost there. Learning to code and employing your programming skills in a real-time environment are two different things. To become a professional Android developer, i.e. take up a job or an internship in Android development, you’d need some hands-on experience of making an app.
Here’s how you can get hands-on experience of app development –
1. Imitate – There are millions of apps on Google Play Store. Pick an app of your choice and start designing and developing the app. You can also choose to design certain bits and part of an existing app – this will give you a closer insight into creating an app.
2. Modify – You use a lot of apps on a daily basis and sometimes crib about their certain attributes, hoping they’ll change their UI. Don’t hope, make the change yourself. You can pick an app, copy its code in your Android Studio (in case you don’t want to write the code for the app), and add/remove the features that you want in the app.
Secret tip: Many big shot companies love it when your portfolio includes some UI changes in their app.
3. Make – If you have an idea for an Android app – amazing! Go ahead and make an app. But if you don’t have an idea for your own app, ask for help from Google. There would be a lot of websites that do not have an Android application, pick a website and design an Android app for it. Do you have a relative who has an online fashion store? Develop an Android app for him! Is there a restaurant nearby? Make an app for them!
4. Do an internship – An internship in Android app development will give you a real-time experience of working on a real project. You’ll learn from seasoned mentors and gain knowledge about the practical aspects of app development along with learning about the problems an Android developer faces and how to cope with them. While applying to an internship in Android app development, an Android certification and a portfolio that you can develop by making dummy apps will come in handy.
So, all set to learn Android app development? Before you roll up your sleeves and begin your quest to learn how to develop an app, check out Internshala’s Android training and get an additional discount of 10% on using the coupon code BLOG10.