How To Start Android App Development [Basic Guidelines]

Introduction

 
In this article, I will describe how you can start Android app development, you could say it is a basic guideline for Android development. Unfortunately, I will not describe it in detail but I will tell you how easily you can start with Android App Development. I will try to give you the best tutorial links where you can find the proper documentation and learning tools. Mostly, I will try to refer to the official Android link.
 
Let’s start
  1. Environment set up
     
    At first, you need an IDE and Android development kit which is SDK. There are several IDEs to develop Android apps but you can use Eclipse and Android Studio. Unfortunately, developers will not encourage you to use Eclipse because Google has declared their official IDE, that is, Android Studio and they are working very hard to develop and update Android Studio. Now, in 2017, Android Studio is much smarter than other IDEs. When you download and install the Android Studio, the IDE will automatically include the Android SDK if you haven’t.
     
    At this link, you will find how to download and Install Android Studio. Here, you will find the basic details of Android Studio and project structure.
  1. Component of an Android Application
     
    You have to know about the components of Android first, which are- 

    1. Activity
    2. Service
    3. Broadcast receiver
    4. Content provider 
       
      Your task is to learn the basic concept of these. Like what is Activity and how it works? In this article, I will not tell you the description of these because that you will find on various websites about their details. Here is the link.
  1. Activity Lifecycle
     
    Before you start or create an activity, you have to know about the Activity lifecycle. Lifecycle means the total life of activity and how it starts and stops. In the whole life, an Activity goes several states or cycles which are,
     
    1. On Create
    2. On Start
    3. On Resume
    4. On Pause
    5. On Restart
    6. On Stop
    7. On Destroy
Your task is to learn about the whole lifecycle, how an Activity starts, and when it goes to resume and pause state. Then gradually, how the activity is destroyed. From here, you will find the sweet description of the lifecycle.
 
After you learn about the lifecycle, your task is to create an application where you will write all of the lifecycles and show messages where the activity goes. If you will not able to do, then see how I created and try yourself.
  1. Layout Design
     
    Android follows the MVC pattern by default so that the design and code are separate. In the res folder, there is another folder named ‘layout’ where you have to create your design layout in the XML form. There are various layouts in Android. 
    1. Linear Layout
    2. Relative layout
    3. Frame layout
    4. Table layout
    5. Constraint layout
Here, you will find the description of various layouts.
 
After layout completes, there are various view widgets like TextView, EditText, Button, Spinner etc. You have to understand these widgets and how to create their various listeners, like: Click listeners, State change listener etc.
 
Here are some useful links.
  1. Intent
     
    Android Intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, "broadcastIntent" to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background service.
     
    Here, you will find the whole description of Intent.
  1. Storage
     
    When you create an application, one of the essential things is to store your application data. There are many ways to store the data according to your needs. If your data is application-based and too small, you can use shared preference and your data is big but want to store it locally, then you can go to SQLite. There are five types of storage in Android.
      
    1. Shared Preference
    2. SQLite
    3. Internal Storage
    4. External Storage
    5. Network connection
From here, when you learn one storage option, create the Application one by one.
  1. Fragment
     
    A fragment is a dynamic UI of an activity. It has its own lifecycle also. Sometimes, you need to create a dynamic UI under the tabs and list the details concept. Fragment will increase the re-usability. Example: You need to create an application in Tab and Mobile so that you need to design separately. But using Fragment, you can reuse your layout in tab and mobile also. You need to deep study and deeply understand how to use Fragment. There are also Child and Parent concepts in a fragment.
Here are the links you have to study deeply.
    1. https://developer.android.com/guide/components/fragments.html
    2. https://www.androidhive.info/tag/fragments/
  1. Service
     
    Service is a kind of background activity that is not visible and works with the activity lifecycle. Sometimes, you need to perform a task in the background when the application closes. Also, then you can use the Service. Service is a very sensitive thing so you should use it smartly and in an optimized way. Otherwise, you will face several issues like Battery Drain, ANR, and also it may crash your application. Here also, you need to deep study and understand from these links.
     
    1. https://developer.android.com/guide/components/services.html
    2. https://developer.android.com/training/run-background-service/create-service.html
    3. http://www.vogella.com/tutorials/AndroidServices/article.html
  1. Broadcast receiver
     
    broadcast receiver (receiver) is an Android component that allows you to register for system or application events. All registered receivers for an event are notified by the Android runtime once this event happens. Using this, you can fetch the device activities, like Call information, SMS information, etc.
Tutorial links
    1. https://developer.android.com/reference/android/content/BroadcastReceiver.html
    2. http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html
  1. API call
     
    Another kind of storage is a network connection where databases are on the remote server. Using URL connection, the application will perform CRUD (Create, Read, Update and Delete) operation. To call the API, you can use several techniques like using an asynchronous request or using the library. There are two popular libraries to call an API - Retrofit and Volley.
     
    1. Retrofit: http://square.github.io/retrofit/
    2. Volley: https://developer.android.com/training/volley/index.html

Summary

 
This article will not make you an Android Developer but you can find the proper guidelines to start. So, if you understand the basic concepts of Android development, create your own applications and start developing.