SlideShare a Scribd company logo
Presentation by
Mrs.P.V.Kavitha
Assistant Professor (Sl.Gr)/ AI & DS
SRI RAMAKRISHNA ENGINEERING COLLEGE
[Educational Service : SNR Sons Charitable Trust]
[Autonomous Institution, Reaccredited by NAAC with ‘A+’ Grade]
[Approved by AICTE and Permanently Affiliated to Anna University, Chennai]
[ISO 9001:2015 Certified and all Eligible Programmes Accredited by NBA]
VATTAMALAIPALAYAM, N.G.G.O. COLONY POST, COIMBATORE – 641 022.
20AD251 – ANDROID PROGRAMMING
(Theory cum Laboratory)
Department of Artificial Intelligence and Data Science
MODULE 1: INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT
Syllabus
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 2
MODULE 1
INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT 3
Mobility Landscape - Mobile Platforms – Types of Mobile Apps: Native, Web, Hybrid ,
Introduction to Mobile App Development tools: Xamarin, Flutter, React Native, Sencha,
Appcelerator, Android Lifecycle
MODULE 2
GETTING STARTED WITH JAVA & KOTLIN 5
Introduction to Java Core concepts - Kotlin: Control Flow – Functions – Array - String – Kotlin
OOPs Concepts - Exception Handling – Collections
Syllabus
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 3
MODULE 3
ANDROID DEVELOPMENT 7
Building First App in Android using Java/Kotlin- Anatomy of Android – Layouts and
Resources Activity Lifecycle – Fragment Lifecycle - App Architecture: UI layer, Persistence
layer, App UI Design Controls : Button, TextView, EditText, Toast - App UI Design Controls :
Checkbox, ListView, AlertDialog - Intents – Explicit and Implicit - SQLite – Deploying in
PlayStore
Syllabus
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 4
LIST OF EXPERIMENTS 15
List of Exercises (Using Android Studio/Kotlin Programming):
1.Kotlin – Array and String
2.Kotlin – OOPs Concepts
3.Kotlin – Exception handling and Collections
4. Layout and UI Components – Views, Input Controls and Toasts
5. Activity and Intents
6. Asynchronous Programming
7. SQLite Database
Syllabus
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 5
TEXT BOOKS
1. Peter Sommerhoff, “Kotlin for Android App Development”, 1st Edition, Addison-Wesley
Professional, 2018.
2. John Horton, “Android Programming with Kotlin for Beginners”, 1st Edition, O’Reilly
Publication, 2019.
REFERENCES
1. Dmitry Jemerov , Svetlana Isakova , "Kotlin in Action”, 1st Edition, Manning Publications.
2. Anubhav Pradhan, Anil V. Deshpande, Composing Mobile Apps: Learn. Explore. Apply. Using
Android, 1st Edition, Wiley Publication, 2014.
WEB REFERENCES
1. https://www.tutorialspoint.com/kotlin/index.htm
2. https://developer.android.com/teach
Course Outcomes
CO1: Outline the technologies of mobile application development.
CO2: Construct programs using the core concepts of Java and Kotlin.
CO3: Develop an Android application using UI widgets, Intents and SQLite.
CO4: Build a Kotlin application using arrays, string, object-oriented concepts, exception
handling and collections.
CO5: Design and develop an Android application using UI components, layouts, intents,
asynchronous programming and SQLite.
CO6: Communicate the programming results through reports.
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 6
Program Outcomes
PO1: Engineering knowledge
PO2: Problem analysis
PO3: Design/development of solutions
PO5: Modern Tool usage
PO9: Individual and team work
PO10: Communication
PO12: Lifelong Learning
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 7
Outline of the Presentation
• What is Mobile Application Development?
• Importance of Mobile Applications in our daily life
• Mobility Landscape
• Mobile Platforms
• Types of Mobile Apps
• Mobile App Development Tools
• Overview of Android platform
• Android Architecture/Lifecycle
• Android Tools Repository
• Logical Components of Android App
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 8
What is Mobile Application Development?
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 9
A mobile application (mobile app) is a computer program or software
application designed to run on a mobile device such as a phone or tablet.
Importance of Mobile Apps
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 10
✓ Games
✓ Education
✓ Business
✓ Entertainment
✓ Communication
✓ Lifestyle
✓ Utilities
✓ Travel
✓ Food
Mobility Landscape/Panorama
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 11
Logical Landscape
• Describes the rationale behind
mobility for different stakeholders
Physical Ecosystem
• Portrays the infrastructure that
enables mobility
Logical Landscape
Logical Landscape:
• Consumer Mobility
◦ Focused towards end user
• Enterprise Mobility
◦ Focused towards various stakeholders
of an organization such as vendors,
partners, suppliers, workforce and
their end customers
◦ Simplify business processes and in
turn increase profits
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 12
Physical Ecosystem
Mobility component
• Mobile devices – centerpiece of mobility
• Mobile platforms – Android and iOS
• Mobile App Stores – Online distribution systems or
market places of mobile apps
Enterprise component
• Database servers
• Application servers
• Data security, data synchronization between mobile
devices and enterprise servers and identity
management of mobile users
Middleware and protocols
• Acts as a glue between mobility and enterprise
components
• Access mechanisms such as Wi-Fi, CDMA, GPRS,
GSM allows mobile devices to communicate
• Gateways such as WAP and SMS enables
interaction between mobile devices and Internet
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 13
Mobile Platforms
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 14
• Mobile Operating systems are known as Mobile Platforms
• It is not just an operating system, but a software stack that typically
comprises an
• Operating system – Memory management, Process management
• Libraries - Codecs, Native data storage, Rendering screens and drawing
surfaces and Graphics
• Application development framework – Set of APIs that in turn interact
with the underlying libraries and are exposed to developers for app
development
• Android, Apple iOS, Blackberry and Windows Phone are the most
popular mobile platforms
Mobile Platforms
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 15
App Development Approaches
Three key aspects:
1. Business use case that the app is going to mobilize – B2C, B2E and B2B
2. Profile of the user who is going to use the app
3. Mobile device that plays the app
Approaches:
1. Native approach:
◦ A native app developed for the native platform
◦ Downloaded from Play Store and installed on a mobile device
2. Web approach:
◦ A mobile web app that is typically developed using web technologies
such as HTML, CSS3 and Javascript
◦ A web app is not installed on a mobile device; it rather gets rendered in
a mobile browser over the network
3. Hybrid approach:
◦ Mixed approach that incorporate features of both native and web
approaches while developing an app
◦ Implemented using mobile cross platforms
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 16
Hybrid Approach
1. Web based Philosophy:
• Create a web app using frameworks such as jQuery Mobile or Sencha Touch
• Wraps the web app with native wrapper
• Tools like Adobe PhoneGap provide native wrapper
• App can be downloaded and installed on a mobile device
• At run time on the device, Runs within a full screen browser, giving an illusion of a native app
to the user
2. Cross compiler philosophy:
◦ A hybrid app is created using web technologies and the resultant app can be cross compiled
for the supported mobile native platforms
◦ At run time on the device, it runs like a native app
◦ Tools such as Appcelerator Titanium is used to create the apps
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 17
App Development Tools
1. Xamarin:
▪Xamarin is an open-source platform that was founded in 2011 and was acquired by
Microsoft
▪It offers the option of code reusability and shareability with other platforms while
providing access to native APIs
▪This cross-platform development technology uses C# programming language to create a
mobile application that can work exceptionally well on platforms like iOS, Android, and
Windows mobile
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 18
App Development Tools
2. React Native:
▪React Native is a JavaScript structure for composing robust, genuine, natively rendering
mobile apps for both Android and iOS
▪Launched in the year 2015 by Facebook, React Native has emerged as a brilliant cross-
platform mobile application development technology
▪This open-source platform enables developers to build iOS and Android applications
with a few native components and JavaScript
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 19
App Development Tools
3. Flutter:
▪Flutter is an open-source platform, created by Google and is based on Dart, which is
easy-to-learn as well as quick object-oriented programming language
▪This allows for easy cross-platform mobile application development
▪Flutters also provides its own gadgets that are quick, adjustable, and appealing
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 20
App Development Tools
4. Sencha:
▪Sencha Touch 2, a high-performance HTML5 mobile application framework, is the
cornerstone of the Sencha HTML5 platform
▪Built for enabling world-class user experiences, Sencha Touch 2 is the only framework
that enables developers to build fast and impressive apps that work on iOS, Android,
BlackBerry, Kindle Fire, and more
▪Sencha is a popular JavaScript framework used for building cross-platform web
applications, particularly for mobile devices
5. Appcelerator :
▪Appcelerator, is the first mobile platform to combine the flexibility of open source
development technologies with the power of cloud services
▪Cross-platform mobile development
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 21
Overview of Android Platform
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 22
• Open-source operating system based on Linux
• Java/Kotlin programming interface for mobile devices such as Smartphone as
well for Tablets too
• Developed by the Open Handset Alliance (OHA), which is led by Google
• Open Handset Alliance (OHA) is a consortium of multiple companies like
Samsung, Sony, Intel and many more to provide services and deploy handsets
using the android platform
• Andy Rubin found Android Incorporation in Palo Alto, California, United
States in October, 2003
• In 17th August 2005, Google acquired Android Incorporation
• The key employees of Android Incorporation are Andy Rubin, Rich
Miner, Chris White and Nick Sears
• Android is the nick name of Andy Rubin given by coworkers because of his
love to robots
Android Versions
Version Code name API Level
1.5 Cupcake 3
1.6 Donut 4
2.1 Eclair 7
2.2 Froyo 8
2.3 Gingerbread 9 and 10
3.1 and 3.3 Honeycomb 12 and 13
4.0 Ice Cream
Sandwitch
15
4.1, 4.2 and 4.3 Jelly Bean 16, 17 and 18
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 23
Version Code name API Level
4.4 KitKat 19
5.0 Lollipop 21
6.0 Marshmallow 23
7.0 Nougat 24-25
8.0 Oreo 26-27
9.0 Pie 28
10.0 Android 10.0 29
11 Android 11 30
12 Android 12 31,32
13 Android 13 33
14 Android 14 34
API Level
The Android API level is an integer value that uniquely identifies the Android
framework API revision.
The Android platform offers an API that Android applications use to communicate with
the underlying Android system.
The API level is used to determine whether an app can run on a device, with higher API
levels generally supporting more features and functionality .
The API level is also used to determine the compatibility of an app with different
versions of the Android operating system
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 24
Android Architecture
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 25
Android Architecture
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 26
• Linux Kernal
➢ Heart of Android architecture
➢ Responsible for device drivers, power management, memory management, device
management and resource access
• Native Libraries
➢ WebKit library is responsible for browser support
➢ SQLite is for database
➢ FreeType for font support
➢ Media for playing and recording audio and video formats
• Android Runtime
➢ DVM (Dalvik Virtual Machine) is responsible to run android application
• Android Framework
➢ Provides a lot of classes and interfaces for android application development
• Applications
➢ Applications such as home, contact, settings, games, browsers are using android
framework that uses android runtime and libraries
Android Tools Repository
Java Compiler
Java source code gets compiled into .class file
dx tool
Converts .class file into Dalvik executable (.dex) file
which runs inside the Dalvik Virtual Machine(DVM)
when the app is launched
Android Application Packaging Tool (aapt)
.dex file is packaged with app resources and manifest
file to yield .apk file (unsigned .apk)
jarsigner
Converts unsigned .apk file into signed .apk file
zipalign
Optimizes .apk and makes it ready for installation
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 27
Logical Components of the App
Activity:
An activity is a class that represents a single screen
Service:
It is a background process that can run for a long time
Content Provider
It is used to share data between the applications
Broadcast Receiver
It handles communication between Android OS and
applications
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 28
Android Environmental Setup
Start your Android App development on either of the following operating
systems
• Microsoft Windows XP or later version
• Mac OS X 10.5.8 or later version with Intel chip
List of software’s to start your Android App
• Java JDK5 or later version
• Android Studio
Android IDEs
• Android Studio
• Eclipse IDE
• IntelliJ IDEA
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 29
Requirements for Installing Android
Requirements for Installing Android
Requirements for Installing Android
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 30
Windows requirements
• Microsoft Windows 7/8/10/11 (32-bit or 64-bit)
• 3 GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the Android
Emulator)
• 2 GB of available disk space minimum, 4 GB recommended (500 MB for IDE
plus 1.5 GB for Android SDK and emulator system image)
• 1280 x 800 minimum screen resolution
Mac OS requirements
• Mac OS X 10.10 (Yosemite) or higher, up to 10.13 (High Sierra)
• 3 GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the Android
Emulator)
• 2 GB of available disk space minimum, 4 GB recommended (500 MB for IDE
plus 1.5 GB for Android SDK and emulator system image)
• 1280 x 800 minimum screen resolution
Android Installation
For Android Studio Installation, refer the URL
• https://developer.android.com/studio/install
• https://www.geeksforgeeks.org/guide-to-install-and-set-up-android-studio/
• https://handyopinion.com/kotlin-tutorial-environment-setup-android-
studio-installation-guide/
• https://www.tutorialspoint.com/android/android_studio.htm
• https://www.youtube.com/watch?v=YpD3k22C-8Q
• https://developer.android.com/studio/preview/index.html
• https://www.eclipse.org/downloads/
• https://www.jetbrains.com/idea/download/
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 31
Building Android Apps
Android and iOS
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 32
➢ Android Studio -IDE
➢ Java/Kotlin Programming
➢ Emulator
01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 33

More Related Content

Recently uploaded (20)

PDF
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
PDF
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
SD_GMRC5_Session 6AB_Dulog Pedagohikal at Pagtataya (1).pptx
NickeyArguelles
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
PDF
AI-assisted IP-Design lecture from the MIPLM 2025
MIPLM
 
PPT
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
PDF
Introduction presentation of the patentbutler tool
MIPLM
 
PPTX
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
PPTX
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
PPTX
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PPTX
ENGlish 8 lesson presentation PowerPoint.pptx
marawehsvinetshe
 
PPTX
ENG8_Q1_WEEK2_LESSON1. Presentation pptx
marawehsvinetshe
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PPTX
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
PDF
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
SD_GMRC5_Session 6AB_Dulog Pedagohikal at Pagtataya (1).pptx
NickeyArguelles
 
Introduction to Indian Writing in English
Trushali Dodiya
 
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
AI-assisted IP-Design lecture from the MIPLM 2025
MIPLM
 
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
Introduction presentation of the patentbutler tool
MIPLM
 
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
Difference between write and update in odoo 18
Celine George
 
ENGlish 8 lesson presentation PowerPoint.pptx
marawehsvinetshe
 
ENG8_Q1_WEEK2_LESSON1. Presentation pptx
marawehsvinetshe
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 

Featured (20)

PDF
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
PDF
Skeleton Culture Code
Skeleton Technologies
 
PDF
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
PDF
Content Methodology: A Best Practices Report (Webinar)
contently
 
PPTX
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
PDF
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
PDF
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
PDF
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
PDF
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
PDF
Getting into the tech field. what next
Tessa Mero
 
PDF
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
PDF
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
PDF
Introduction to Data Science
Christy Abraham Joy
 
PDF
Time Management & Productivity - Best Practices
Vit Horky
 
PDF
The six step guide to practical project management
MindGenius
 
PDF
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
PDF
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
PDF
12 Ways to Increase Your Influence at Work
GetSmarter
 
PDF
ChatGPT webinar slides
Alireza Esmikhani
 
PDF
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
GetSmarter
 
ChatGPT webinar slides
Alireza Esmikhani
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
Ad

Android Programming - Basics of Mobile App, App tools and Android Basics

  • 1. Presentation by Mrs.P.V.Kavitha Assistant Professor (Sl.Gr)/ AI & DS SRI RAMAKRISHNA ENGINEERING COLLEGE [Educational Service : SNR Sons Charitable Trust] [Autonomous Institution, Reaccredited by NAAC with ‘A+’ Grade] [Approved by AICTE and Permanently Affiliated to Anna University, Chennai] [ISO 9001:2015 Certified and all Eligible Programmes Accredited by NBA] VATTAMALAIPALAYAM, N.G.G.O. COLONY POST, COIMBATORE – 641 022. 20AD251 – ANDROID PROGRAMMING (Theory cum Laboratory) Department of Artificial Intelligence and Data Science MODULE 1: INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT
  • 2. Syllabus 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 2 MODULE 1 INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT 3 Mobility Landscape - Mobile Platforms – Types of Mobile Apps: Native, Web, Hybrid , Introduction to Mobile App Development tools: Xamarin, Flutter, React Native, Sencha, Appcelerator, Android Lifecycle MODULE 2 GETTING STARTED WITH JAVA & KOTLIN 5 Introduction to Java Core concepts - Kotlin: Control Flow – Functions – Array - String – Kotlin OOPs Concepts - Exception Handling – Collections
  • 3. Syllabus 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 3 MODULE 3 ANDROID DEVELOPMENT 7 Building First App in Android using Java/Kotlin- Anatomy of Android – Layouts and Resources Activity Lifecycle – Fragment Lifecycle - App Architecture: UI layer, Persistence layer, App UI Design Controls : Button, TextView, EditText, Toast - App UI Design Controls : Checkbox, ListView, AlertDialog - Intents – Explicit and Implicit - SQLite – Deploying in PlayStore
  • 4. Syllabus 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 4 LIST OF EXPERIMENTS 15 List of Exercises (Using Android Studio/Kotlin Programming): 1.Kotlin – Array and String 2.Kotlin – OOPs Concepts 3.Kotlin – Exception handling and Collections 4. Layout and UI Components – Views, Input Controls and Toasts 5. Activity and Intents 6. Asynchronous Programming 7. SQLite Database
  • 5. Syllabus 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 5 TEXT BOOKS 1. Peter Sommerhoff, “Kotlin for Android App Development”, 1st Edition, Addison-Wesley Professional, 2018. 2. John Horton, “Android Programming with Kotlin for Beginners”, 1st Edition, O’Reilly Publication, 2019. REFERENCES 1. Dmitry Jemerov , Svetlana Isakova , "Kotlin in Action”, 1st Edition, Manning Publications. 2. Anubhav Pradhan, Anil V. Deshpande, Composing Mobile Apps: Learn. Explore. Apply. Using Android, 1st Edition, Wiley Publication, 2014. WEB REFERENCES 1. https://www.tutorialspoint.com/kotlin/index.htm 2. https://developer.android.com/teach
  • 6. Course Outcomes CO1: Outline the technologies of mobile application development. CO2: Construct programs using the core concepts of Java and Kotlin. CO3: Develop an Android application using UI widgets, Intents and SQLite. CO4: Build a Kotlin application using arrays, string, object-oriented concepts, exception handling and collections. CO5: Design and develop an Android application using UI components, layouts, intents, asynchronous programming and SQLite. CO6: Communicate the programming results through reports. 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 6
  • 7. Program Outcomes PO1: Engineering knowledge PO2: Problem analysis PO3: Design/development of solutions PO5: Modern Tool usage PO9: Individual and team work PO10: Communication PO12: Lifelong Learning 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 7
  • 8. Outline of the Presentation • What is Mobile Application Development? • Importance of Mobile Applications in our daily life • Mobility Landscape • Mobile Platforms • Types of Mobile Apps • Mobile App Development Tools • Overview of Android platform • Android Architecture/Lifecycle • Android Tools Repository • Logical Components of Android App 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 8
  • 9. What is Mobile Application Development? 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 9 A mobile application (mobile app) is a computer program or software application designed to run on a mobile device such as a phone or tablet.
  • 10. Importance of Mobile Apps 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 10 ✓ Games ✓ Education ✓ Business ✓ Entertainment ✓ Communication ✓ Lifestyle ✓ Utilities ✓ Travel ✓ Food
  • 11. Mobility Landscape/Panorama 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 11 Logical Landscape • Describes the rationale behind mobility for different stakeholders Physical Ecosystem • Portrays the infrastructure that enables mobility
  • 12. Logical Landscape Logical Landscape: • Consumer Mobility ◦ Focused towards end user • Enterprise Mobility ◦ Focused towards various stakeholders of an organization such as vendors, partners, suppliers, workforce and their end customers ◦ Simplify business processes and in turn increase profits 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 12
  • 13. Physical Ecosystem Mobility component • Mobile devices – centerpiece of mobility • Mobile platforms – Android and iOS • Mobile App Stores – Online distribution systems or market places of mobile apps Enterprise component • Database servers • Application servers • Data security, data synchronization between mobile devices and enterprise servers and identity management of mobile users Middleware and protocols • Acts as a glue between mobility and enterprise components • Access mechanisms such as Wi-Fi, CDMA, GPRS, GSM allows mobile devices to communicate • Gateways such as WAP and SMS enables interaction between mobile devices and Internet 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 13
  • 14. Mobile Platforms 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 14 • Mobile Operating systems are known as Mobile Platforms • It is not just an operating system, but a software stack that typically comprises an • Operating system – Memory management, Process management • Libraries - Codecs, Native data storage, Rendering screens and drawing surfaces and Graphics • Application development framework – Set of APIs that in turn interact with the underlying libraries and are exposed to developers for app development • Android, Apple iOS, Blackberry and Windows Phone are the most popular mobile platforms
  • 15. Mobile Platforms 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 15
  • 16. App Development Approaches Three key aspects: 1. Business use case that the app is going to mobilize – B2C, B2E and B2B 2. Profile of the user who is going to use the app 3. Mobile device that plays the app Approaches: 1. Native approach: ◦ A native app developed for the native platform ◦ Downloaded from Play Store and installed on a mobile device 2. Web approach: ◦ A mobile web app that is typically developed using web technologies such as HTML, CSS3 and Javascript ◦ A web app is not installed on a mobile device; it rather gets rendered in a mobile browser over the network 3. Hybrid approach: ◦ Mixed approach that incorporate features of both native and web approaches while developing an app ◦ Implemented using mobile cross platforms 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 16
  • 17. Hybrid Approach 1. Web based Philosophy: • Create a web app using frameworks such as jQuery Mobile or Sencha Touch • Wraps the web app with native wrapper • Tools like Adobe PhoneGap provide native wrapper • App can be downloaded and installed on a mobile device • At run time on the device, Runs within a full screen browser, giving an illusion of a native app to the user 2. Cross compiler philosophy: ◦ A hybrid app is created using web technologies and the resultant app can be cross compiled for the supported mobile native platforms ◦ At run time on the device, it runs like a native app ◦ Tools such as Appcelerator Titanium is used to create the apps 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 17
  • 18. App Development Tools 1. Xamarin: ▪Xamarin is an open-source platform that was founded in 2011 and was acquired by Microsoft ▪It offers the option of code reusability and shareability with other platforms while providing access to native APIs ▪This cross-platform development technology uses C# programming language to create a mobile application that can work exceptionally well on platforms like iOS, Android, and Windows mobile 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 18
  • 19. App Development Tools 2. React Native: ▪React Native is a JavaScript structure for composing robust, genuine, natively rendering mobile apps for both Android and iOS ▪Launched in the year 2015 by Facebook, React Native has emerged as a brilliant cross- platform mobile application development technology ▪This open-source platform enables developers to build iOS and Android applications with a few native components and JavaScript 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 19
  • 20. App Development Tools 3. Flutter: ▪Flutter is an open-source platform, created by Google and is based on Dart, which is easy-to-learn as well as quick object-oriented programming language ▪This allows for easy cross-platform mobile application development ▪Flutters also provides its own gadgets that are quick, adjustable, and appealing 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 20
  • 21. App Development Tools 4. Sencha: ▪Sencha Touch 2, a high-performance HTML5 mobile application framework, is the cornerstone of the Sencha HTML5 platform ▪Built for enabling world-class user experiences, Sencha Touch 2 is the only framework that enables developers to build fast and impressive apps that work on iOS, Android, BlackBerry, Kindle Fire, and more ▪Sencha is a popular JavaScript framework used for building cross-platform web applications, particularly for mobile devices 5. Appcelerator : ▪Appcelerator, is the first mobile platform to combine the flexibility of open source development technologies with the power of cloud services ▪Cross-platform mobile development 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 21
  • 22. Overview of Android Platform 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 22 • Open-source operating system based on Linux • Java/Kotlin programming interface for mobile devices such as Smartphone as well for Tablets too • Developed by the Open Handset Alliance (OHA), which is led by Google • Open Handset Alliance (OHA) is a consortium of multiple companies like Samsung, Sony, Intel and many more to provide services and deploy handsets using the android platform • Andy Rubin found Android Incorporation in Palo Alto, California, United States in October, 2003 • In 17th August 2005, Google acquired Android Incorporation • The key employees of Android Incorporation are Andy Rubin, Rich Miner, Chris White and Nick Sears • Android is the nick name of Andy Rubin given by coworkers because of his love to robots
  • 23. Android Versions Version Code name API Level 1.5 Cupcake 3 1.6 Donut 4 2.1 Eclair 7 2.2 Froyo 8 2.3 Gingerbread 9 and 10 3.1 and 3.3 Honeycomb 12 and 13 4.0 Ice Cream Sandwitch 15 4.1, 4.2 and 4.3 Jelly Bean 16, 17 and 18 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 23 Version Code name API Level 4.4 KitKat 19 5.0 Lollipop 21 6.0 Marshmallow 23 7.0 Nougat 24-25 8.0 Oreo 26-27 9.0 Pie 28 10.0 Android 10.0 29 11 Android 11 30 12 Android 12 31,32 13 Android 13 33 14 Android 14 34
  • 24. API Level The Android API level is an integer value that uniquely identifies the Android framework API revision. The Android platform offers an API that Android applications use to communicate with the underlying Android system. The API level is used to determine whether an app can run on a device, with higher API levels generally supporting more features and functionality . The API level is also used to determine the compatibility of an app with different versions of the Android operating system 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 24
  • 25. Android Architecture 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 25
  • 26. Android Architecture 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 26 • Linux Kernal ➢ Heart of Android architecture ➢ Responsible for device drivers, power management, memory management, device management and resource access • Native Libraries ➢ WebKit library is responsible for browser support ➢ SQLite is for database ➢ FreeType for font support ➢ Media for playing and recording audio and video formats • Android Runtime ➢ DVM (Dalvik Virtual Machine) is responsible to run android application • Android Framework ➢ Provides a lot of classes and interfaces for android application development • Applications ➢ Applications such as home, contact, settings, games, browsers are using android framework that uses android runtime and libraries
  • 27. Android Tools Repository Java Compiler Java source code gets compiled into .class file dx tool Converts .class file into Dalvik executable (.dex) file which runs inside the Dalvik Virtual Machine(DVM) when the app is launched Android Application Packaging Tool (aapt) .dex file is packaged with app resources and manifest file to yield .apk file (unsigned .apk) jarsigner Converts unsigned .apk file into signed .apk file zipalign Optimizes .apk and makes it ready for installation 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 27
  • 28. Logical Components of the App Activity: An activity is a class that represents a single screen Service: It is a background process that can run for a long time Content Provider It is used to share data between the applications Broadcast Receiver It handles communication between Android OS and applications 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 28
  • 29. Android Environmental Setup Start your Android App development on either of the following operating systems • Microsoft Windows XP or later version • Mac OS X 10.5.8 or later version with Intel chip List of software’s to start your Android App • Java JDK5 or later version • Android Studio Android IDEs • Android Studio • Eclipse IDE • IntelliJ IDEA 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 29
  • 30. Requirements for Installing Android Requirements for Installing Android Requirements for Installing Android 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 30 Windows requirements • Microsoft Windows 7/8/10/11 (32-bit or 64-bit) • 3 GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the Android Emulator) • 2 GB of available disk space minimum, 4 GB recommended (500 MB for IDE plus 1.5 GB for Android SDK and emulator system image) • 1280 x 800 minimum screen resolution Mac OS requirements • Mac OS X 10.10 (Yosemite) or higher, up to 10.13 (High Sierra) • 3 GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the Android Emulator) • 2 GB of available disk space minimum, 4 GB recommended (500 MB for IDE plus 1.5 GB for Android SDK and emulator system image) • 1280 x 800 minimum screen resolution
  • 31. Android Installation For Android Studio Installation, refer the URL • https://developer.android.com/studio/install • https://www.geeksforgeeks.org/guide-to-install-and-set-up-android-studio/ • https://handyopinion.com/kotlin-tutorial-environment-setup-android- studio-installation-guide/ • https://www.tutorialspoint.com/android/android_studio.htm • https://www.youtube.com/watch?v=YpD3k22C-8Q • https://developer.android.com/studio/preview/index.html • https://www.eclipse.org/downloads/ • https://www.jetbrains.com/idea/download/ 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 31
  • 32. Building Android Apps Android and iOS 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 32 ➢ Android Studio -IDE ➢ Java/Kotlin Programming ➢ Emulator
  • 33. 01-07-2025 20AD251 - ANDROID PROGRAMMING- P.V.KAVITHA 33