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
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
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