What do you need to know to work on industry-based projects(Android App Development)?

Design

Firstly let’s understand one thing is why there is a difference between learning and working.

So, let’s break this and try to understand,

Here I explain to you in a simple manner by adopting that you will able to perform at your best.

What actually happens with real-life problems?

When you work on a real-life problem, you need to not only think from developers or the programmer's mindset but also from the consumer mindset. For example, when you use Zomato(Food ordering app), what you do as a user? What are the test cases any human being can choose to use this app? You have to think like this. I will explain more at the end of this.

Let’s focus on Android App Development.

Here I am dividing whole learning into three sections(Basic, Intermediate, and Advanced).

Basic:

  • What is Android?
  • How it works internally? (Linux Kernal)
  • A glimpse of Android Versions
  • How does Android Studio work? (All sections of the studio)
  • Understanding of the files in the android studio when you open studio for the first time and how is it going to help while working on any project.

Intermediate:

  • Layouts(Linear, Relative, Coordinator)
  • Views(TextView, ImageView, etc)
  • CardView
  • Scroll(Horizontal and Vertical)
  • ListView and GridView
  • Toolbar and Statusbar
  • EditText
  • CheckBox, RadioButton, Spinner, Switch and Toggle Button
  • Date and Time picker
  • Theme setting and App Styling

Advanced:

  • Activities
  • Activity life cycle
  • View Groups
  • Intent
  • Constraint Layout
  • Navigation Drawer
  • Bottom Navbar
  • Swipe refresh
  • Frame Layout and Table Layout
  • Splash Screen
  • Image Libraries(Glide, Picasso, etc)
  • Custom Font
  • RecyclerView(Static and Dynamic)
  • ViewModel
  • Adapter
  • Fragment
  • Fragment lifecycle
  • Video and audio player
  • ViewPager
  • Multi-language support
  • Notification
  • API
  • JSON and GSON
  • API call(POST and GET method)
  • Webservices(Retrofit, Volly, etc)
  • Permission
  • Accessing system services
  • URIs Handling
  • Uses of third party libraries for android

Java:

  • Collection Framework(ArrayList, HasMap)
  • Method overloading and overriding
  • Constructor
  • Interface
  • Static
  • Abstract class
  • Threading
  • AsyncTask
  • Object
  • String

Along with all these things,

You must focus on these points also:

  • Database:(Shared Preference(must), SQLite(must), MySql(must), Firebase, AWS, etc)
  • Software engineering: (Prototyping model(Basic), Agile or DevOps(Advance), Testing(Different types)
  • UI & UX( User Interface and User experience): By getting an idea about this will allow you to relate with user response for any action for any app. And, you should learn about the design(Color theory and placement of any element, etc)
  • Presentation and Client dealing skills: By having this skill, you will be able to deal with any client and present what you have built.

If I forget something here, I will try to add this later.

Thanks for reading.

Android App Developer | Content Writer | Fueler @kiwismedia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store