INTRODUCTION
TO ANDROID
WMSU
Jaymark F. Mendoza
WESTERN MINDANAO STATE UNIVERSITY
WHAT IS ANDROID?
Android is an operating system and programming platform developed by Google
for mobile phones and other mobile devices, such as tablets. It can run on many
different devices from many different manufacturers. Android includes a software
development kit (SDK) that helps you write original code and assemble software
modules to create apps for Android users. Android also provides a marketplace to
distribute apps. All together, Android represents an ecosystem for mobile apps.
WHY DEVELOP APPS FOR ANDROID?
Developers create apps for a variety of reasons. They may need to address
business requirements or build new services or businesses, or they may want to
offer games and other types of content for users. Developers choose to develop
for Android in order to reach the majority of mobile device users.
MOST POPULAR PLATFORM FOR MOBILE
APPS
As the world's most popular mobile platform, Android powers hundreds of
millions of mobile devices in more than 190 countries around the world. It has the
largest installed base of any mobile platform and is still growing fast. Every day
another million users power up their Android-powered devices for the first time
and start looking for apps, games, and other digital content.
BEST EXPERIENCE FOR APP USERS
Android uses a touchscreen interface based on direct manipulation (swipe, tap,
pinch).
It supports on-screen keyboards, physical keyboards, and game controllers.
The home screen includes:
• App icons to launch apps
• Widgets with live, auto-updating content (e.g., weather, news)
• Multiple panes, navigated by swiping
The status bar at the top shows device and connectivity info. Android plays music,
video, and animations. The system provides immediate touch response and
haptic feedback (vibration). Devices use sensors (accelerometer, gyroscope,
proximity) for interactive experiences and screen rotation. Android is based on the
Linux kernel, designed for battery-powered touchscreen devices, with power-
efficient process management.
IT'S EASY TO DEVELOP APPS
To develop apps that take advantage of the Android operating system and UI, use
the Android software development kit (SDK). The SDK includes software libraries
of prewritten code, a debugger, a device emulator, documentation, sample code,
and tutorials. Use the SDK to create apps that look great and take advantage of
the hardware capabilities available on each Android-powered device.
Developing Android Apps Using the SDK
• Programming Languages & Files: Use Java to write app logic.
• Use XML to define UI layouts and data resources.
Cross-Device Compatibility:
• One app binary can run on both phones and tablets.
• Use XML resource sets to adapt UI:
Common layout for all devices.
Device-specific layouts.
Dynamic Resource Management:
• At runtime, Android selects appropriate resources based on:
• Screen size, Screen density, Locale, Other device configurations.
Development Environment:
• Android Studio is the official IDE:
• Supports coding, debugging, and packaging.
• Offers virtual devices for testing.
• Emulates various hardware configurations.
Android Development Architecture:
• Built on a layered architecture:
OS + app development tools.
• Developers can use system components
In the figure :
Apps:
Your apps and system apps (like SMS,
Email, Browser) run here.
Java API Framework:
All features of Android are available to
developers through application
programming interfaces (APIs) written
in the Java language. You don't need to
know the details of all of the APIs to
learn how to develop Android apps,
but you can learn more about the
following APIs, which are useful for
creating apps:
• View System used to build an app's UI, including lists, buttons, and menus.
Resource Manager used to access to non-code resources such as localized
strings, graphics, and layout files.
• Notification Manager used to display custom alerts in the status bar.
• Activity Manager that manages the lifecycle of apps. Content Providers that
enable apps to access data from other apps
Libraries & Android Runtime:
Each app runs in its own process with its own Android Runtime (ART).
Core functions come from Java libraries and native C/C++ libraries (used internally
or via APIs).
Hardware Abstraction Layer (HAL):
Connects hardware (camera, Bluetooth, etc.) to higher layers through standard
interfaces.
Linux Kernel:
The base layer that manages memory, processes, security, and hardware drivers.
Many distribution options
You can distribute your Android app in many
different ways: email, website or an app marketplace
such as Google Play. Android users download billions
of apps and games from the Google Play store each
month.
Google Play is a digital distribution service, operated
and developed by Google, that serves as the official
appstore for Android, allowing consumers to browse
and download apps developed with the Android SDK
and published through Google.
ANDROID VERSIONS
Google provides major incremental upgrades to the Android operating system
every six to nine months, using confectionery-themed names. The latest major
release is Android 7.0 "Nougat".
Android Oreo
Version Number – 8.0
API Level - API 26 or 27)
Android 8.0 (Oreo): Released on August 21, 2017
Android 8.1 (Oreo): Released on December 5, 2017
Android 9.0 (Pie): Released on August 6, 2018
API Level: 27
Android 10: Android 13:
Release Date: September 3, 2019 Release Date: August 15, 2022
API Level: 29 API Level: 33
Android 11: Android 14:
Release Date: September 8, 2020 Release Date: October 12, 2023
API Level: 30 API Level: 34
Android 12: Android 15
Release Date: October 4, 2021 Release Date: October 15, 2024
API Level: 31 API Level: 35
Android 16
Release Date: June 10, 2025
API Level: 36
THE CHALLENGES OF ANDROID APP
DEVELOPMENT
While the Android platform provide rich functionality for app
development, there are still a number of challenges you need to
address, such as
• Building for a multi-screen world
Android runs on billions of devices with various
screen sizes and form factors, including phones,
wearables, and TVs. These differences impact
how UI elements should be designed.
Manufacturers may also customize UI styles,
colors, and features like keyboards or camera
buttons, making apps appear slightly different
across devices. Developers must create adaptable
UIs and provide consistent resources—such as
icons, logos, and text styles—to ensure a uniform
look and feel across all Android devices.
• Getting performance right
An app's performance—how fast it runs, how
easily it connects to the network, and how well
it manages battery and memory usage—is
affected by factors such as battery life,
multimedia content, and Internet access. You
must be aware of these limitations and write
code in such a way that the resource utilization
is balanced and distributed optimally. For
example, you will have to balance the
background services by enabling them only
when necessary; this will save battery life of
the user’s device
• Keeping your code and your users secure
You need to take precautions to secure your code and the user’s experience when
using your app. Use tools such as ProGuard (provided in Android Studio), which
detects and removes unused classes, fields, methods, and attributes, and encrypt
all of your app's code and resources while packaging the app. To protect your
user's critical information such as logins and passwords, you must secure the
communication channel to protect data in transit (across the Internet) as well as
data at rest (on the device).
• Remaining compatible with
older platform versions
Consider how to add new Android
platform version features to an app,
while ensuring that the app can still
run on devices with older platform
versions. It is impractical to focus only
on the most recent Android version,
as not all users may have upgraded or
may be able to upgrade their devices.
• Understanding the market and
the user.
REFERENCE
Reference: https://edu.gcfglobal.org/en/computerbasics/what-is-a-computer/1/
24