
Fundamental Principles of Android App Development
Understand Android architecture and begin building apps using Android Studio and Java/Kotlin.

Track
Software Development
Level
Intermediate
Language
English
Duration
30 hours
Learning Mode
Learn at ALC or at Home
Introduction
- Understand the basics of the Android operating system and its architecture.
- Explain the installation and configuration process of Android Studio and other development tools.
- Develop simple Android applications using Java.
- Identify the components of an Android application and understand their functions.
- Implement user interfaces using various Android widgets and views.
- Apply object-oriented programming principles in Java for Android development.
- Handle events and manage the activity lifecycle in Android applications.
- Utilize Android’s internal storage and shared preferences for data persistence.
- Debug Android applications to identify and fix errors.
- Demonstrate the use of long-running tasks and asynchronous operations in Android development.
What you'll learn ?
- By the end of the course, learners will be able to:
- Describe the basics of the Android operating system and its architecture.
- Explain the process of installing and configuring Android Studio and other development tools.
- Create simple Android applications using Java.
- Identify the components of an Android application and explain their functions.
- Design user interfaces using various Android widgets and views.
- Apply object-oriented programming principles in Java for Android development.
- Handle events and manage the activity lifecycle in Android applications.
- Utilize Android’s internal storage and shared preferences for data persistence.
- Debug Android applications to identify and fix syntax, runtime, and logical errors.
- Demonstrate the use of long-running tasks and asynchronous operations in Android development.
Syllabus
Introduction to Android
- Introduction to Android
- Introduction to Google Play Store
- Booming Job Prospects
- Career Opportunities in Android
- Android Operating System
- Android versions
- Features of Android
- Android Architecture
- Android Devices
- History of Android
About Android and Android Apps
- Android Apps
- In-Built Applications
- Applications by Google
- Social Networking Applications
- Types of Applications
- Paid and Free Apps
- Google Model
- Prerequisites
- Android Environment Setup
- Downloading JDK
- Setting Path of JDK
- Installation of Android Studio in Mac, Linux and Windows
- Setting up ADT Plug In
- Creating First Android Application
- Creation of App
- Android Studio Vs Eclipse
Fundamentals of Android Studio
- Android Studio Fundamentals and Android Studio IDE
- Viewing and adding Java
- Compilation and Runtime
- Compilation Process
- Creating Hello Project
- Android Components
- Android Intent
- Types of Intent
- MVP Pattern
- Advantages of using MVP
- Android Services
- Types of Android Services
- Broadcast Receivers
- Android Content Provider
- Types of Views
- Overview of Android Widgets
Introduction to Java
- History of Java
- Introduction to Java
- Java Development Structure
- Java Program Platform
- Features of Java Program
- Difference between POP and OOP
- Java Applications
- Java Virtual Machine
- JVM Architecture
Java Setup and Program structure
- JDK Alpha and Beta
- J2SE
- Java SE version
- Setting up Java and Installation of JDK
- Setting Java Variable
- Java Program
- Program structure of Java
- Java Import Statements
- Java Class Definition
- Java Class Member Ordering
- Different styles of Print Statements
- Main Method Signatures
Variables and Datatypes
- Java Identifiers
- Reserved Words
- Variables
- Datatypes
- Type Casting
- Operators
- If Statement
Control Statements and Program flow
- Switch Statement
- While Loop
- Do-While Loop
- For Loop
- For Each Loop
- Java Break Statement
- Java Continue Statement
- Arrays
- Java Maps
- Program Flow
Object-Oriented Programming in Java
- Introduction to Class and Object
- Working with Object Initialization
- Object Oriented Programming
- Constructors
- Overloading
- Packages
- Uses of Import
Inheritance and Exception
- Access Modifiers of Java
- Inheritance of Java
- Uses of Inheritance
- Relationship between Class and Interface
- Polymorphism of Java
- Java Exceptions
Handling Events
- Introduction to Event Handling
- Overview of Event Handlers
- Overview of Event Listeners
- Overview of Event Registration
- Declarative Event Handling
- Programmatic Event Handling
- Working with Event Handling
Debugging
- Types of Errors
- Demonstration of Syntax Errors
- Runtime Exception
- Demonstration of Runtime Exception
- Logical Errors
- Demonstration of Logical Error
Classifying the Activities
- Component Activation
- Android Lifecycle
- Demonstration of Activity Lifecycle
- Intent and its types
- Implementing the Intent
- Passing data to another Activity
Working with UI Elements
- Introduction to Themes and Colours
- Working with Themes and Colours - Creating Project, Changing values of defined colours,
- Theme Colours, Styles
- Introduction to App Bar
- Working with App Bar - Adding items, working with Toolbar Activity
- Fragments
- Working with Fragment Design
- Working with Fragments Activity
Introduction to Classes
- Long Running Task
- Demonstration of the Long Running Tasks
- Introduction to AsyncTask
- Demonstration of the AsyncTask
Shared Preference
- Introduction to Shared Preference
- Overview of Operating Mode
- Introduction to Editor
- Overview of Methods
- Storing Data
- Overview of Retrieving Data
- Clear and Delete
- Working with Shared Preference - xml File, Main Activity
- Verifying file
Introduction to Internal Storage
- Internal Storage
- Difference between Shared Preference and Internal Storage
- Read and Write data to Internal Storage
- Syntax to Write a text file and Reading a text file
- Demonstration of Internal Storage
Work-Centric Approach
The academic approach of the course focuses on ‘work-centric’ education. With this hands-on approach, derive knowledge from and while working to make it more wholesome, delightful and useful. The ultimate objective is to empower learners to also engage in socially useful and productive work. It aims at bringing learners closer to their rewarding careers as well as to the development of the community.
- Step 1: Learners are given an overview of the course and its connection to life and work
- Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
- Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
- Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
- Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
- Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
- Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
- Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
- Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
- Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
- Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
- Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!