Skip to main content

Android Basic and Core Concepts | Android Syllabus


Android Basic and Core Concepts



  • Basics of Android

Learning Objective: Get to know about android and basic concepts of android
                     
Concepts
  • Introduction to Android..?
  • History and Versions of Android
  • Installation of Software.
  • Setup Android Studio
  • Hello Android Example
  • Folder/Package Structure
  • Dalvik Virtual Machine-DVM
  • Software Stack
  • Android Framework
  • Android Emulator
  • Android Manifest
  • R.java file
  • Screen Orientation

Hands-On: 
  1. Installation of Android and Java software
  2. Create emulator in android





  • Android Components

Learning Objective: It is one of the important and must know concepts of android to develop any android application , it gives understanding on how the application as to be built using android components


  • Activity
  • Service
  • Fragments
  • BroadCast Receiver
  • Content Providers.
  • Intents


  • Activity 

   Learning Objective:Activity is basic framework of any mobile application where user interaction is performed and there are several types of activities which perform unique actions  

  •  What is Activity
  • Activity Lifecycle
  • Navigation Drawer Activity
  • Login Activity
  • Full Screen Activity
  • Bottom Navigation Activity
  • Master Detail flow activity
  • Empty Activity
  • Scrolling Activity
  • Tabbed Activity
  • Basic Activity

Hands-On  :
  1. Create an Navigation drawer activity and customise the menu and perform action on each menu item
  2. Create an empty activity and add two fragments inside the activity SignIn and Sign up respectively 


  • Services

Learning Objective: Whenever application needs to be run in the background i.e; even when the app is closed .Service plays a major role and is one of the important components in android 

  • What is service?
  • Started Service
  • Bound Service
  • Unbind and Rebind service

Hands-On  :
  1. Create an service class which updates the current location even when the app is closed , log the lat long picked
                         Or 
  1. Create an Music player which plays music even when the application is in closed state

  • Fragment

      Learning Objective:Fragments work as mini activity and plays a wide role in app development 

  • What is Fragment 
  • Lifecycle of Fragment 
  • Creating a Fragment
  • Dialog Fragment
  • List Fragment
  • Adding fragment to activity
  • Fragment Manager
  • Fragmenttransaction
  • Adding Fragment without UI
  • Back stack implementation

Hands-On  :
  1. Create an Fragment without using fragment activity and connect fragment inside the activity
  2. Create an list fragment and display the list of students

  • BroadCast Receiver

 Learning Objective: Broadcast receivers helps to trigger other applications in the phone , will be understood by the end of the chapter

  • Creating Broadcast receiver
  • Registering Broadcast receiver
  • Broadcasting custom intents 

Hands-On  :
  1. Create an example for broadcast receiver which triggers when the call occurs
                            or
  1. Create an example for broadcast receiver which triggers when the battery changed.


  • Content Providers

Learning Objective: Broadcast Content Providers allow data communication between two different applications

  • Content Provider Fundamentals
  • Contact Content Provider
  • Create Content Provider
  • Content Resolver
  • Understanding content Uri
  • Sharing information from custom content provider

  • Intents

Learning Objective: Get to know the types of intent and its uses 

  • Implicit Intent
  • Explicit Intent
  • Sticky Intent
  • Pending Intent
  • Service Intent
  • Data passing using intent
  • Intent Filter

Hands-On  :
  1. Create an webview and load the page https://sushmithan.blogspot.com/
  2. Create an example to connect one activity to another activity on button click using explicit intent
  3. Create an activity which takes input of name, course and duration , pass the input data into another activity and display the data using intent

  • Oops and Core Java Concepts

Learning Objective: Android application is developed using core Java and hence knowing the basic concept of java and oops is very important 

  • Objects and classes
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation
  • Method Overloading 
  • Method overriding
  • Run time error
  • Compile time errors 
  • Difference between throw and throws
  • Difference between final and finally
  • Static
  • Debug




Hands-On  :
  1. Create an example of Inheritance 
  2. Create an example for method overloading 
  3. Create an example for method overriding 
  4. Create an example for final and finally
  5. Create an model class for student with name , age and course as fields , display an example of encapsulation
  6. Create an edittext and validate null , display an demo for debug 

  • UI Components

Learning Objective: Get to know the UI components of android and how to design user friendly UI in android using layouts and widgets and also get perform clicks on it 


  • Layouts
  • Relative Layout
  • Linear Layout
  • Frame Layout
  • Grid Layout
  • Table Layout
  • Coordinate Layout
  • Constraint Layout


  • UI Widgets
  • Toast
  • Snackbar /Custom Toast
  • Button
  • ImageButton
  • Alert Dialog
  • Spinner
  • Auto Complete Textview
  • Checkbox
  • Toggle button
  • Rating bar
  • Date Picker
  • Time Picker
  • Floating Action Button
  • Radio Button
  • View
  • ImageView
  • WebView
  • VideoView
  • Seekbar
  • SearchView
  • RecyclerView
  • ScrollView
  • View Pager
  • Card View
  • Tabs
  • Toolbar
  • Bottom Navigation View
  • NavigationView
  • Appbar Layout
  • Tab Layout
  • TabItem
  • Include
  • GridView
  • ListView
  • GridLayout

  • Event Handling
  • OnClick 
  • OnLongClick
  • OnFocusChange
  • OnMenuItemClick
  • OnCreateContextMenu


  • Styles and Themes

Hands-On  :
  1. Create an Login Ui with Username ,Password and Login Button 
  2. Create an SignUp Ui with the help of UI widgets with following feilds - name (EditText), Password (EditText), Sex (Radio button ), State (Spinner), City (Auto Textview) 
  3. Create a button which on click display the toast if signIn is success and alert dialog displaying the message “Login Failed” 
  4. Create an common style for edittext 
  5. Create an Listview which displays the list of students

  1.  Create an Custom listview using custom adapter  which displays photo and name of the students

  1. Create an Custom Gridview using custom adapter which displays photo and name of the students , and on click of the item selected



  • Android Menu

Learning Objective: Get to know the types of menu and its uses 

  • Option menu
  • Context menu
  • Popup menu

Hands-On  :
  1. Create a page in which on button click of  display the context menu
  2. Create an custom option menu 

Advanced Android Concepts

  • Data Storage 

Learning Objective: Android allows you to store data which can be accessed even when the device is in offline mode using below 4 methods which enables user to access the app even when there is no internet
  • Shared Preference
  • Internal Storage 
  • External Storage
  • SQLite

Hands-On  :
  1. Create an Shared Preference which stores username and password 
  2. Create an example for internal/external storage to store the image downloaded

  • SQLite

Learning Objective: Sqlite is a built in android library which enables us to create database in our mobile in customized way and store the data , this plays a major role when huge data needs to be stored and worked offline

  • Create Database
  • Create Tables and columns
  • Insert data into tables 
  • Update data into tables
  • Delete data from tables
  • Fetch data from local Db

Hands-On  :
  1. Create an Database for School 
  2. Create table student with table columns student name , age , course selected 
  3. Create an activity with edittext Name , Age and Course , insert the data entered into student table
  4. Create an activity which displays students list fetched form student table

  • Multimedia

Learning Objective: Multimedia api works on accessing user gallery and audio for particular app requirement

  • Multimedia API 
  • Playing Audio 
  • Creating Audio Player 
  • Playing Video 
  • Alarm Manager 
  • Gallery 
Hands-On  :
  1. Display the selected image from gallery  in imageview 
  2. Create an audio player which enables pause and play of the audio
  3. Create an video player which displays youtube video in it 

  • Speech API

Learning Objective: Speech api works on accessing audio and converting into text and vice versa

  • TextToSpeech API 
  • TextToSpeech Example 
  • Managing speed and pitch 
  • Speech To Text 
Hands-On  :
  1. Convert text to speech
  2. Convert Speech to text

Telephony API

Learning Objective: Speech api works on accessing audio and converting into text and vice versa

  • Telephony Manager 
  • Get Call State 
  • Call State BroadcastReceiver 
  • Simple Caller Talker 
  • Making Phone Call 
  • Send SMS 
  • Send Email 



Hands-On  :
  1. Perform an call from the app
  2. Create an edittext phno ,message  and button send , on click of send button send the sms to the mentioned phno

  • Location API

Learning Objective: Location api provided by google allows us to access google maps and customize it as pere our needs , to customize we have several supporting api’s

  • Location API Fundamental 
  • Example of Android Location API 
  • Working with Google Maps 
  • Android Map V2 API 
  • Adding Map 
  • Customizing Map 
  • GoogleMap class 
  • Android Google Map Application 




Hands-On  :
  1. Fetch current location and display on  map
  2. Integrate google location search api
  3. Display multiple markers on map, (display nearby restaurants)
  4. Create a route between the current location and destination location
  5. Display traffic in the route 
  6. Display distance and time estimated  between current location and destination

  • Threads

Learning Objective: To reduce the work load of the application and to make it run smootly we make use of threads 

  • Threads running on UI thread (runOnUiThread)
  • Worker thread o Handlers & Runnable on AsynTask (in detail)

Hands-On  :
  1. Create an example for multi thread



  • Animation

Learning Objective: Animation is mostly used to make Ui more presentable  


  • Android Animation API 
  • Android Drawable class 
  • Android Animation Example 
  • Android Rotate Animation 
  • Android Fade Animation 
  • Android Zoom Animation 

Hands-On  :
  1. Create an imageview and button zoom , rotate and fade on click of the button perform the respective animation on image in imageview

  • Device Connectivity

Learning Objective: Animation  Device Connectivity allows to communicate between the devices and pairing with other devices

  • Bluetooth Tutorial 
  • List Paired Devices 
  • Working with WiFi 
  • Working with Camera

Hands-On  :
  1. Check if wifi is connectted or not , if not connected create an access to wifi
  2. Create an button to access on camera , on  click of button access the camera and display the photo taken in imageview 

  • Web Service

Learning Objective: This module is also one of the most important and frequently used concept to communicate between server  and mobile application 

  • What is web service
  • Difference between soap and restful api
  • What is Api ?
  • How to test api using postman

Hands-On  :
  1.  Test an api using postman extension



  • Social API Integrations

Learning Objective: Social media integration doesnt only make login easy but also enables to access its app users data and perform there functions within our application

  • Facebook Integration 
  • Google plus Integration 
  • Twitter Integration 
  • Ad Mob Integration
  • Youtube Integration

Hands-On  :
  1. Create an facebook login and display the data name , email and photo
  2. Create google login and display the data name , email and photo
  3. Create twitter login and display the data name , email and photo
  4. Create an ad mob integration

  • Transmitting Network Data Using

Learning Objective: This is one more most important concept in android which allows to communicate between the server and the app , either of this method can be used for communication and update real time data, this is what makes the app dynamic in nature

  • AsynTask
  • Volley
  • Retrofit
  • okHttpClient
Hands-On  :
Url : https://community-open-weather-map.p.rapidapi.com/weather
  1. Make an API call using Async task
  2. Make an API call using volley
  3. Make an API call using Retrofit

  • ImageLoaders API

Learning Objective: Image Loader Api’s allows us to load anf display real time images in our app


  • ImageLoader
  • Picasso
  • Glide
  • Nine patch image
Hands-On  :
  1. Display an dynamic image in imageview using Picasso
                             Or 
  1. Display an dynamic image in imageview using glide


  • Material Design Basic Concepts

Learning Objective: Material design helps to follow simple and standard designing pattern which makes it easy for both developer and user to design and use the app 


  • SnackBar Implementation
  • Floating Labels
  • Floating Action Buttons
  • Card Views
  • Navigation Drawer Using Material Design
  • Recyclerview
  • Google Calender
  • CollapsingtoolbarLayout
  • CoordinatorLayout
  • ElegantButton

Hands-On  :
  1. Create an profile page using collapsing toolbar activity
  2. Create an Vertical recyclerview and adapter to display student list, on item selected display the row details in toast
  3. Create an Horizontal recycler view and adapter to display student list , on item selected display the row data in toast
  4. Create a Staggered recycler view and adapter to display student list, on item selected display the row data in toast




  • Reactive Android

Learning Objective: Reactive android is an advanced concept of android and java which enables us to load the data fast even without refreshing the data , in detail will be looked after in this chapter

  • What is Reactive Programming
  • Introduction to Operators
  • Understanding on Observables
  • Observer
  • Android Schedulers and its types
  • Subscription
  • Operator/ Transformer

Hands-On  :
  1. Using reactive android in retrofit make an api call


  • Firebase

Learning Objective: Firebase is service provided by google which allows us to perform many actions like push notification etc

  • Analytics
  • Push Notification
  • Cloud Messaging
  • Storage
  • Admob
  • Crashlytics
  • Push Notification
  • Test Lab

Hands-On  :
  1. Integrate firebase analytics and display the geography of the users
  2. Integrate firebase crash analytics into the app and create an runtime crash , display it in firebase 
  3. Integrate firebase push notification
  4. Integrate firebase admobs

  • Sockets

Learning Objective: Socket is one more advanced concept in android which enables us to upload huge files and chat once connection is established

  • What is Socket
  • How to establish socket connection
  • Send and Receiving Data with sockets



Hands-On  :
  1. Establish an socket connection
  2. Parse the data into recyclerview 

  •   APK 

Learning Objective: Once the application is ready for deployment our code will be converted into file with extension .apk , this will teach you how to generate apk to deploy

  • What is APK ?
  • How to build debug apk 
  • How to generate signed apk

Hands-On  :
  1. Generate debug apk
  2. Generate signed apk

  • MVP Concepts

Learning Objective: MVP allows us to organise and optimise the code in an understandable and reusable way

  • What is MVP?
  • MVP Architecture
  • Android Activity and MVP
  • Implementation of MVP in App
  • Model
  • View
  • Presenter

Hands-On  :
  1. Implement MVP model on sample project
  2. Implement code optimization using MVP model

  • Git Hub Basics

Learning Objective: Git enables us to keep code safe with each line of backup ensured , it allows multiple people to work on same project by handling the conflicts

  • Import Version Control
  • Create Repository
  • Git commit
  • Git Push
  • Git Pull
  • Git Merge
  • Git Checkout
  • Git Revert

Hands-On  :

  1. Create Repository
  2. Create Branches
  3. Clone project from git
  4. Enable Version control implementation on android studio
  5. Commit and push code to git using Android VCS
  6. Merge code and remove conflicts


  • Uploading App into Playstore


Sushmitha N

Hi there ! Im a experienced android developer with 4years of revelant exprience.My Skills include Android,Core Java ,Oops and Kotlin. 

Youtube Channel : SDK Book



Comments

Popular posts from this blog

Android Interview Questions

Android Interview Questions Which was the first mobile brand with Android Application?                           Answer :   First Mobile brand with Android Application was HTC. What is the current version of android and its API ?   Answer: Current version of android  is “Pie” (as per Nov 2018) and its API level 28. Life cycle of Activity ? Answer: OnCreate() - This method is called when the activity is created . It is called only once in activity lifecycle. OnStart() - This method is called when the activity is getting started , no user interactions will be done at this stage,and this method will be called several times in activity life cycle depending upon the user navigation.(Loads UI) OnResume()- On this method call user can interact with the activity and perform actions like click. OnPause()- W...
Find the biggest difference between any two numbers in array? Approach: Assume array of integer arr = [5,9,66,8,37]  Two calculate biggest difference between two numbers logic is largest number - smallest number . By arranging the array in ascending order we get the first element which is smallest and the last element which is largest. Now the array look like integer arr =[5,8,9,37,66] Here the solution is last element (largest number)- first element(smallest number) i.e; 66-5= 61 Implementing in Java /* Read input from STDIN. Print your output to STDOUT*/ import java.io.*; import java.util.*; public class BiggestDifference{   public static void main(String args[] ) throws Exception { //Takes user input Scanner sc = new Scanner(System.in); int n = sc.nextInt(); //create an array depending upon the number of user inputs int[] array = new int[n]; //insert user input elements into the array for(int i = 0; i < n; i++) ...
Count how many numbers are negative in an array? Approach: Assume array of integer arr = [5,-9,66,-8,37] As  we know a negative number is a real number less than zero We are going to apply the same logic here , and check the number of negative numbers in the array. Expected output is : 2 ,since there are 2 negative numbers among the set of numbers Implementing in Java /* Read input from STDIN. Print your output to STDOUT*/ import java.io.*; import java.util.*; public class CountNegativeNumbers{   public static void main(String args[] ) throws Exception { //Write code here Scanner scan = new Scanner(System.in); int n = scan.nextInt();    // takes user input int a[] = new int[n];   // creates array depending on the user input int count=0;              //count variable which is zero initially for(...