Ch.
2: Android App Development
Royal University of Phnom Penh
Faculty of Engineering
Lecturer: Mr. Bun Leap
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 1
Outline
Introduction to Android
Android Studio
Testing Environment
Project Structure
Application Components
Intent
Context
Layout.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 2
Introduction to Android
What Is It?
❑The world’s most popular mobile OS
❑Powered by Google
❑Used for phones, tablets, watches, TVs, and cars.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 3
Introduction to Android
Versions
Code Name Version API Release Date
Alpha 1.0 1 2008
Beta 1.1 2 2009
Cupcake 1.5 3 2009
Donut 1.6 4 2009
Eclair 2.0 - 2.1 5-6 2009
Froyo 2.2 - 2.2.3 8 2010
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 4
Introduction to Android
Versions
Code Name Version API Release Date
Gingerbread 2.3 – 2.3.7 9 - 10 2010
Honeycomb 3.0 – 3.2.6 11 - 13 2011
Ice Cream Sandwich 4.0 – 4.0.4 14 - 15 2011
Jelly Bean 4.1 – 4.3.1 16 - 18 2012
KitKat 4.4 – 4.4.4 19 2013
Lollipop 5.0 – 5.x 21 - 22 2014
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 5
Introduction to Android
Versions
Code Name Version API Release Date
Marshmallow 6.0 – 6.x 23 2015
Nougat 7.0 – 7.x 24 - 25 2016
Oreo 8.0 – 8.x 26 - 27 2017
Pie 9.0 – 9.x 28 2018
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 6
Introduction to Android
Versions
Code Name Version API Release Date
10 / Quince Tart 10.0 – 10.x 29 2019
11 / Red Velvet Cake 11.0 – 11.x 30 2020
12 / Snow Cone 12.0 – 12.x 31-32 2021
13 / Tiramisu 13.0 – 13.x 33 2022
14 / Upside Down Cake 14.0 – 14.x 34 2023
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 7
Android Studio
What Is Android Studio?
❑The official IDE for developing Android app
❑Replaced Eclipse
❑1st stable build released in 2014
❑Free.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 8
Android Studio
Android Logcat
❑A tool which dumps a log of system messages, including
stack traces when the device throws an error and messages
that you have written from your app with the Log class.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 9
Android Logcat
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 10
Testing Environment
❑Emulator
❑Real device
❑Remote device (cloud device).
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 11
Testing Environment
Emulator
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 12
Testing Environment
Real device
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 13
Testing Environment
Remote device
❑Samsung remote test lab
❑Firebase test lab.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 14
Project Structure
❑An Android project is divided into two main parts:
❑Modules
❑Gradles.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 15
Project Structure
❑The modules can be app module or library module
❑The Gradles are configuration files used to build the
modules.
❑Each module has its own Gradle script.
❑The project itself has also its own Gradle script.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 16
Project Structure
UI +
Business Build Test / Distribute
Logic
Gradle .apk, .aab File
Module
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 17
Application Components
❑App components are the essential building blocks of an
Android app
❑Each component is an entry point through which the
system or a user can enter your app
❑Some components depend on others.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 18
Application Components
❑All components must be registered in the Manifest file
❑There are four different types of app components:
❑Activities
❑Services
❑Broadcast receivers
❑Content providers.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 19
Application Components
Componen Description Example
t
Activity The entry point for interacting with the user. Login Activity
Service Long running operation in the background without Download
providing user interface. Service
Broadcast Special system/app event listeners. SMS Receiver
Receiver
Content Standard interface that connects data in one Contacts
Provider process with code running in another process. Provider
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 20
Application Components
Intent
Activities Services
Broadcast Receivers Content Providers
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 21
Intent
What Is It?
❑Are a message-passing mechanism:
❑Within your application
❑Between applications
❑Between the system and your application.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 22
Intent
❑The primary pieces of information in an intent are action
and data. And some more as secondary
❑For example, your app wants to tell the system to dial a
number of 012 345 678. So your app needs to pass an intent
to the system in the following information:
❑Action: ACTION_DIAL
❑Data: [Link]
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 23
Intent
❑You could imagine it as an HTTP request which consists of
method, header, body, …
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 24
Intent
Types
❑Two types of intent:
❑Explicit intent: component specified. Usually, it’s used within your
app
❑Implicit intent: component unspecified. Usually, it’s used between
system and applications.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 25
Context
What is it?
❑The interface to global information about an application
environment
❑Contains all the global information that app needs to know
like string resources, image resources, or system services
(audio, camera, location, …).
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 26
Context
What is it?
❑It is an abstract class whose implementation is provided by
the Android system
❑Application, Activity, Service, … are classes which
implemented Context.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 27
Layout
❑An XML resource
which defines the
visual structure for
UI.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 28
The Next
UI Design.
November 30, 2025 RUPP - MOBILE APPLICATION DEVELOPMENT I 29