0% found this document useful (0 votes)
2 views

Android Java Database

The document outlines a 3-month course titled 'Android Java + Database' aimed at equipping participants with skills in Android app development using Java and database integration. It includes objectives, expectations, hands-on practice, and employable skills, along with a detailed execution plan and learning outcomes. The course is designed for individuals with a basic understanding of programming and covers various topics including UI design, database management, and troubleshooting.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Android Java Database

The document outlines a 3-month course titled 'Android Java + Database' aimed at equipping participants with skills in Android app development using Java and database integration. It includes objectives, expectations, hands-on practice, and employable skills, along with a detailed execution plan and learning outcomes. The course is designed for individuals with a basic understanding of programming and covers various topics including UI design, database management, and troubleshooting.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

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

You might also like