Government of Pakistan
National Vocational and Technical Training Commission
Prime Minister Youth Skills Development Program
"Skills for All"
Course Contents / Lesson Plan
Course Title: Android Java + Database
Duration: 3 Months
Trainer Name
Author Name
Course Title Android Java + Database
Objectives and Employable skills and hands-on practice in Android Java + Database
Expectations
Objective:
The objective of this course is to equip participants with the essential skills
and knowledge required to develop robust Android applications using Java
programming language and effectively integrate databases into their
applications. By the end of the course, participants should be proficient in
building Android apps, understanding database concepts, and implementing
database operations within Android applications.
Expectations:
i. Understanding of Java Programming: Participants will gain a solid
understanding of Java programming language fundamentals,
including variables, data types, control flow, methods, and object-
oriented programming principles.
ii. Android Development: Participants will learn to develop Android
applications using Java, covering topics such as user interface design,
activities, intents, fragments, services, and broadcast receivers.
iii. Database Integration: Participants will learn how to integrate various
types of databases, such as SQLite, Firebase Realtime Database, or
Room Persistence Library, into Android applications. They will
understand concepts like database creation, querying, updating, and
deleting data.
iv. Hands-on Practice: The course will provide ample hands-on practice
opportunities through coding exercises, projects, and assignments.
Participants will build real-world Android applications that involve
database integration to reinforce their learning.
v. Troubleshooting Skills: Participants will develop troubleshooting
skills to identify and resolve common issues encountered during
Android app development and database integration.
Employable Skills:
i. Android App Development: Participants will acquire the skills
necessary to develop Android applications, making them employable
as Android developers in various industries.
ii. Database Management: Understanding database concepts and
practical experience in integrating databases into Android apps will
make participants valuable assets in roles requiring database
management skills.
iii. Problem-Solving: Through hands-on practice and troubleshooting
exercises, participants will enhance their problem-solving abilities, a
crucial skill sought after by employers in the tech industry.
iv. Team Collaboration: Collaborative projects and group activities will
foster teamwork and communication skills, preparing participants for
Android Java + Database
collaborative work environments.
v. Continuous Learning: The course will instill a mindset of continuous
learning, essential in the fast-paced field of technology, where new
tools and frameworks regularly emerge.
Hands-on Practice:
i. Building Android Applications: Participants will create various types
of Android applications, including simple utility apps, multimedia apps,
and networking apps, to gain practical experience in Android
development.
ii. Database Implementation: Participants will implement databases
into their Android applications, performing tasks such as creating
database schemas, performing CRUD (Create, Read, Update, Delete)
operations, and handling data synchronization.
iii. Project Work: Participants will work on individual and group projects
that involve developing Android applications with database integration.
These projects will allow participants to apply their skills to real-world
scenarios and build a portfolio to showcase to potential employers.
iv. Code Reviews and Feedback: Regular code reviews and feedback
sessions will provide participants with constructive criticism to improve
their coding practices and application development skills.
Entry-level of For an advanced course of Android Java + Database proposed entry level is
trainees minimum bachelors in relevant subject, so expectations from the trainees
are:
Basic understanding of programming concepts.
Familiarity with computer systems and operating systems.
No prior knowledge of Android development or Java is required
Learning The content of this lesson plan is adopted from the internationally
Outcomes of recognized ISTQB certification course, "Certified Tester Foundation
the course Level (CTFL)," ensuring alignment with global standards and practices.
For further reference, the link to the source material is provided below:
Develop functional Android applications:
Design and implement user interfaces using layouts and various UI
components.
Integrate SQLite databases for data storage and retrieval.
Perform CRUD operations (Create, Read, Update, Delete) efficiently
using Room persistence library.
Consume APIs and interact with web services.
Implement essential features like location services, sensors, and
multimedia.
Master Java programming for Android:
Write clean, efficient, and object-oriented Java code adhering to best
practices.
Understand core language concepts like data types, control flow,
object-oriented principles, and collections.
Apply Java APIs specifically designed for Android development.
Work with Android development tools and frameworks:
Utilize Android Studio as the primary development environment.
Android Java + Database
Understand the Android SDK structure and its components.
Leverage Android libraries and frameworks like Material Design and
Jetpack.
Implement security best practices:
Understand common security vulnerabilities in Android apps.
Secure user data and handle authentication processes effectively.
Follow guidelines for secure coding and data encryption.
Proficiency in Java Programming:
Participants will demonstrate proficiency in Java programming
language, including variables, data types, control flow, methods, and
basic object-oriented programming principles.
Understanding of Android Development:
Participants will understand the fundamentals of Android app
development, including the Android Studio IDE, user interface design,
activities, intents, fragments, services, and broadcast receivers.
Database Integration Skills:
Participants will be able to integrate various types of databases, such
as SQLite, Firebase Realtime Database, or Room Persistence Library,
into Android applications.
They will understand how to create database schemas, perform
CRUD (Create, Read, Update, Delete) operations, and handle data
synchronization.
Application Building Skills:
Participants will be capable of building Android applications from
scratch, incorporating user interfaces, application logic, and database
functionality.
Troubleshooting and Debugging:
Participants will develop troubleshooting and debugging skills to
identify and resolve common issues encountered during Android app
development and database integration.
Course The total duration of the course: 3 months (12 Weeks)
Execution Plan Class hours: 4 hours per day
Theory: 20%
Practical: 80%
Weekly hours: 20 hours per week
Total contact hours: 240 hours
Companies
offering jobs in Trillium
the respective Afinity
trade Net Sole
I2c
Multinet
Nescom
Transworld
Netcom
Systems
Web Work Solution
Purelogics
Nets-International
Android Java + Database
Ebryx
Job Mobile App Development
Opportunities Android Developer
Enterprise Mobile Solutions
Mobile Backend Engineer
Game Development
Emerging Technologies
Database Administrator
System Analyst
No of Students 25
Learning Place Classroom / Lab
Instructional Online Courses and Tutorials:
Resources
1. Intro to Android Development with Kotlin:
https://www.udacity.com/course/android-kotlin-developer-
nanodegree--nd940
2. Android Basics with Java: https://developer.android.com/courses
3. The Complete Android & Java Developer Course:
https://www.udemy.com/course/complete-android-course/
4. Android App Development Specialization:
https://www.coursera.org/specializations/android-app-development
5. Launch your career as an Android app developer. Build job-ready
skills for an in-demand career and earn a credential from Meta. No
degree or prior experience required to get started.
Meta Android Developer Professional Certificate:
https://www.coursera.org/professional-certificates/meta-android-
developer
Books and References:
1. Head First Android Development (David Griffiths and Dawn Griffiths):
https://www.amazon.com/Head-First-Android-Development-Brain-
Friendly/dp/1491974052
2. The Big Nerd Guide (Brian Kernighan and Bill Joy):
https://bignerdranch.com/books/
3. Pro Android Kotlin (Mark Murphy):
https://www.amazon.com/Pro-Android-Kotlin-Developing-Jetpack/dp/1
484287444
4. Official Android Documentation:
https://developer.android.com/develop
Practice and Experimentation:
1. Android Studio:
https://developer.android.com/studio
2. GitHub: https://github.com/index
Android Java + Database
MODULES
Sched Module Title Days Hours Learning Units Home
uled Assignmen
Weeks t
Week 1 Introduction to Day 1 Hour 1-2 Introduction to Android
Android
Development Overview of Android
OS
Android Studio
Installation
Setting up the
development
environment
Hour 3-4 Basic Android Concepts
Activities, Views,
and Layouts
User Interface (UI)
components
Day 2 Hour 1-2 User Interface Design
XML Layouts
UI Widgets and
Event Handling
Hour 3-4 Android Project Structure
Understanding
project files and
directories
Resources and
asset management
Day 3 Hour 1-2 Intents and Activity
Lifecycle
Explicit and Implicit
Intents
Handling Activity
lifecycle events
Hour 3-4 Fragments
Introduction to
fragments
Fragment lifecycle
and communication
Day 4 Hour 1-2 Recycler View and
Android Java + Database
Adapters
Displaying lists
efficiently
Creating custom
adapters
Hour 3-4 Android Networking
Making HTTP
requests
Handling JSON data
Day 5 Hour 1-2 Basic Android Animation
Animating UI
components
Transition and
Property Animations
Hour 3-4 Task and Project
Discussion
Assigning tasks and
discussing the
course project
Clarifying doubts
and questions
Week 2 Introduction to Day 1 Hour 1-2 SQLite Database Basics
Android
Development Creating and
managing databases
CRUD operations
with SQLite
Hour 3-4 SQLite Open Helper and
Content Providers
Database schema
upgrades
Sharing data
between apps
Day 2 Hour 1-2 Room Database
Introduction to
Android Room
Entity, DAO, and
Database setup
Android Java + Database
Hour 3-4 Live Data and View Model
Implementing Live
Data
Using View Model to
manage UI-related
data
Day 3 Hour 1-2 Working with Shared
Preferences
Storing and
retrieving simple
data
Use cases for
Shared Preferences
Hour 3-4 Content Providers
Understanding
content providers
Implementing a
content provider
Day 4 Hour 1-2 Implementing CRUD
Operations with Room
Creating, Reading,
Updating, and
Deleting data
Handling database
transactions
Hour 3-4 Recycler View with
Database
Loading data from a
database into
Recycler View
Updating UI based
on database
changes
Day 5 Hour 1-2 Firebase Realtime
Database
Introduction to
Firebase
Real-time data
synchronization
Hour 3-4 Firebase Authentication
Android Java + Database
Implementing user
authentication
Securing data with
Firebase rules
Week 3 Advanced Day 1 Hour 1-2 Advanced UI
Android Components
Development
and Project Custom Views and
Work ViewGroups
Material Design
principles
Hour 3-4 Background Processing
Async Task and
Async Task Loader
Using Services for
background task
Day 2 Hour 1-2 Location-Based Services
Integrating Google
Maps
Accessing device
location
Hour 3-4 Camera Integration
Capturing photos
and videos
Handling camera
permissions
Day 3 Hour 1-2 App Security
Securing data
storage
Implementing
secure
authentication
Android Java + Database
Hour 3-4 Testing and Debugging
Unit testing with
JUnit
Debugging
techniques
Day 4 Hour 1-2 App Optimization and
Performance
Profiling and
optimizing code
Memory
management
techniques
Hour 3-4 Publishing an App
Preparing an app for
release
Uploading to the
Google Play Store
Day 5 Hour 1-4 Project Work and
Consultation
Individual project
work
Consultation and
feedback
Week 4 Advanced Day 1-5 Hours 1-4 Project Development and
Android Implementation
Development
and Project Guided project
Work development
sessions
Troubleshooting and
support
Week 5 Android Day 1 Hour 1-2 RESTful APIs
Networking Understanding
and APIs REST architecture
Making API
requests with
Retrofit
Android Java + Database
Hour 3-4 JSON Parsing
Parsing JSON
responses
Handling nested
JSON structures
Day 2 Hour 1-2 OAuth and
Authentication
Implementing
OAuth for secure
authentication
User authorization
with OAuth
Hour 3-4 Consuming Third-Party
APIs
Integration with
external APIs
Use cases and
best practices
Day 3 Hour 1-2 WebSocket
Communication
Real-time
communication
with WebSocket
Implementing a
chat application
Hour 3-4 Background Sync with
Work Manager
Scheduling
background tasks
Implementing
periodic sync
Android Java + Database
Day 4 Hour 1-2 Offline Mode and
Caching
Implementing
offline mode
Using caching
mechanisms
Hour 3-4 Firebase Cloud
Messaging
Push notifications
with FCM
Handling
notification
messages
Day 5 Hour 1-4 Project Work and
Consultation
Individual project
work
Consultation and
feedback
Week 6 Android Day 1-5 Hour 1-4 Project Development and
Networking Implementation
and APIs Guided project
development sessions
Troubleshooting and
support
Week 7 Advanced Day 1 Hour 1-2 Advanced Room
Database Database
Concepts and Migrations and
Deployment versioning
Database
optimization
techniques
Hour 3-4 Full-text Search with
SQLite
Implementing
search
functionality
Utilizing SQLite
full-text search
Android Java + Database
Day 2 Hour 1-2 NoSQL Databases for
Android
Introduction to
MongoDB and
Firebase Firestore
Integration and
use cases
Hour 3-4 Room Database
Encryption
Implementing
database
encryption
Securing sensitive
data
Day 3 Hour 1-2 Realm Database
Introduction to
Realm
Setting up and
integrating Realm
Hour 3-4 Data Migration Strategies
Handling data
migration in
databases
Versioning and
compatibility
Day 4 Hour 1-2 Multi-threading with
Room
Implementing
multithreading for
database
operations
Background tasks
and performance
Android Java + Database
Hour 3-4 Content Providers and Sync
Adapters
Implementing a
content provider
with sync adapter
Synchronizing data
with the server
Day 5 Hour 1-4 Project Work and
Consultation
Individual project
work
Consultation and
feedback
Week 8 Advanced Day 1-5 Hour 1-4 Project Development and
Database Implementation
Concepts and Guided project
Deployment development
sessions
Troubleshooting
and support
Week 9 Advanced Day 1 Hour 1-2 Custom Views and
Topics in Drawing
Android Creating custom
Development UI components
Drawing on the
Canvas
Vulnerability
Scanning and
Enumeration
Hour 3-4 Android Sensors
Integrating sensors
like accelerometer
and gyroscope
Implementing
sensor-based
features
Android Java + Database
Day 2 Hour 1-2 Augmented Reality (AR)
on Android
Introduction to
ARCore
Implementing AR
features
Hour 3-4 Android Accessibility
Making apps
accessible to all
users
Implementing
accessibility
features
Day 3 Hour 1-2 Location-Based Services
with Maps API
Advanced usage
of Google Maps
API
Implementing
location-based
features
Hour 3-4 Android App Widgets
Creating and
updating app
widgets
Best practices for
widget
development
Day 4 Hour 1-2 Android Background
Services
Creating long-
running
background
services
Managing
background tasks
efficiently
Android Java + Database
Hour 3-4 Android App Security
Best Practices
Securing data
storage and
transmission
Protecting against
common security
threats
Day 5 Hour 1-4 Project Work and
Consultation
Individual project
work
Consultation and
feedback
Week Advanced Day 1-5 Hour 1-4 Project Development and
10 Topics in Implementation
Android
Development Guided project
development
sessions
Troubleshooting
and support
Week Deployment, Day 1 Hour 1-2 Firebase Cloud Functions
11 Testing, and Implementing
Advanced serverless
Concepts functions
Integrating with
Firebase features
Hour 3-4 Android Testing
Frameworks
Unit testing with
JUnit and Mockito
UI testing with
Espresso
Day 2 Hour 1-2 Continuous Integration
and Deployment
Setting up CI/CD
pipelines
Automated testing
and deployment
Android Java + Database
Hour 3-4 Android Jetpack
Compose
Introduction to
Jetpack Compose
Building UI with
the modern
Android toolkit
Day 3 Hour 1-2 Android Instant Apps
Introduction to
Instant Apps
Building and
deploying instant
experiences
Hour 3-4 Android TV and Wear OS
Development
Developing apps
for TV and
wearables
Designing for
different form
factors
Day 4 Hour 1-2 Advanced Dependency
Injection with Dagger
Implementing
dependency
injection in Android
Using Dagger for
efficient DI
Hour 3-4 Android Enterprise
Development
Developing apps
for enterprise use
Implementing
device
management
features
Android Java + Database
Day 5 Hour 1-4 Final Project Refinement
and Presentation
Preparation
Refining the final
project
Preparing for the
project
presentation
Week Deployment, Day 1-5 Hour 1-4 Final Project
12 Testing, and Presentations and
Advanced Graduation
Concepts
Each student
presents their final
project
Graduation
ceremony and
distribution of
certificates
Android Java + Database
Practical Tasks:
Task Description Week
1 Setting up Android ● Familiarize yourself with Android Week 1
Studio and Create a development tools Create your
Basic Android App first Android project using Android
Studio
2 Designing a Simple ● Learn about XML layouts and UI Week 2
User Interface components in Android
Development
● Create a basic user interface with
text views, edit texts, and buttons.
3 Building a Multi- ● Create multi-screen apps using Week 3
Screen App activities, fragments, and intents in
Android.
4 Implement Dynamic ● Implement dynamic lists using Week 4
Lists and RecyclerView
Customizing UI ● Customize UI elements and
Elements themes to enhance the visual
appeal of your app
5 Building a Multi- Apply the concepts learned in Week 5
Screen Android App the previous weeks to develop
with Customized UI a multi-screen Android
application with a customized
user interface (UI).
Create a fully functional app
that incorporates multiple
screens, each serving a
specific purpose, and
customize the UI to enhance
the user experience.
6 Setting up SQLite ● Learn about databases Week 6
Database in Android Integrate SQLite into an Android
application.
7 Performing CRUD ● Focus on creating, reading, Week 7
Operations with updating, and deleting (CRUD)
SQLite operations in SQLite databases
within Android applications.
8 Implement Database ● Learn about Room Persistence Week 8
Operations with Library, an abstraction layer over
Room SQLite
● Implement database operations
Android Java + Database
using Room in Android.
9 Handling ● Focus on advanced database Week 9
Transactions and concepts such as transactions,
Complex Queries handling conflicts
● Work with multiple tables and
complex queries
10 Integrating SQLite ● Integrate SQLite and Room Week 10
and Room into a databases into a complex Android
Complex Android application that involves multiple
App screens and features
11 Implementing ● Learn about background Week 11
Background processing in Android
Services and Task ● Implement background services to
Scheduling perform tasks independently of the
main application thread
Explore JobScheduler for
scheduling tasks
12 Integrating ● Integrate networking capabilities Week 12
Networking and into your Android app to
RESTful APIs communicate with remote servers
and consume data from RESTful
APIs
Learn about making network
requests, parsing JSON
responses, and integrating
RESTful APIs.
13 Implementing ● Learn about location-based Final Exam
Location-Based services in Android and integrate
Features and Google Maps into your app to
Integrating Google display
Maps ● Interact with maps and location
data.
14 Managing App ● Learn about managing app Final Exam
Permissions and permissions in Android
Implementing ● Implement secure coding
Secure Coding practices to protect your app from
Practices security vulnerabilities
15 Testing, Building, ● Learn about testing methodologies Final Exam
and Deploying in Android development
Android Apps ● Write unit tests and UI tests for
your app
● Build and deploy your Android app
to the Google Play Store.
Android Java + Database
Annexure-IV:
Workplace/Institute Ethics Guide
Work ethic is a standard of conduct and values for job performance. The modern definition of what
constitutes good work ethics often varies. Different businesses have different expectations. Work
ethic is a belief that hard work and diligence have a moral benefit and an inherent ability, virtue, or
value to strengthen character and individual abilities. It is a set of values-centered on the
importance of work and manifested by determination or desire to work hard.
The following ten work ethics are defined as essential for student success:
1. Attendance:
Be at work every day possible, plan your absences don’t abuse leave time. Be punctual
every day.
2. Character:
Honesty is the single most important factor having a direct bearing on the final success of
an individual, corporation, or product. Complete assigned tasks correctly and promptly.
Look to improve your skills.
3. Team Work:
The ability to get along with others including those you don’t necessarily like. The ability to
carry your weight and help others who are struggling. Recognize when to speak up with an
idea and when to compromise by blend ideas together.
4. Appearance:
Dress for success set your best foot forward, personal hygiene, good manner, remember
that the first impression of who you are can last a lifetime
5. Attitude:
Listen to suggestions and be positive, accept responsibility. If you make a mistake, admit it.
Values workplace safety rules and precautions for personal and co-worker safety. Avoids
unnecessary risks. Willing to learn new processes, systems, and procedures in light of
changing responsibilities.
6. Productivity:
Do the work correctly, quality and timelines are prized. Get along with fellows, cooperation
is the key to productivity. Help out whenever asked, do extra without being asked. Take
Android Java + Database
pride in your work, do things the best you know-how. Eagerly focuses energy on
accomplishing tasks, also referred to as demonstrating ownership. Takes pride in work.
7. Organizational Skills:
Make an effort to improve, learn ways to better yourself. Time management; utilize time and
resources to get the most out of both. Take an appropriate approach to social interactions
at work. Maintains focus on work responsibilities.
8. Communication:
Written communication, being able to correctly write reports and memos.
Verbal communications, being able to communicate one on one or to a group.
9. Cooperation:
Follow institute rules and regulations, learn and follow expectations. Get along with fellows,
cooperation is the key to productivity. Able to welcome and adapt to changing work
situations and the application of new or different skills.
10. Respect:
Work hard, work to the best of your ability. Carry out orders, do what’s asked the first time.
Show respect, accept, and acknowledge an individual’s talents and knowledge. Respects
diversity in the workplace, including showing due respect for different perspectives,
opinions, and suggestions.
Android Java + Database