You are on page 1of 15

Republic of the Philippines

Pangasinan State University


ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

MIDTERM POINTERS AND CONCEPT NOTES


First Semester, A.Y. 2022 - 2023
Subject: Advance Mobile Development - MD 101

Unit 1: Introduction to Android

• Android is a mobile operating system based on a modified version of the Linux


kernel and other open source software, designed primarily for touchscreen mobile devices
such as smartphones and tablets. Android is developed by a consortium of developers
known as the Open Handset Alliance and commercially sponsored by Google. It was
unveiled in 2007, with the first commercial Android device launched in September 2008.

• Free and open-source software (FOSS) is a software that can be classified as both
free software and open-source software. That is, anyone is freely licensed to use, copy,
study, and change the software in any way, and the source code is openly shared so that
people are encouraged to voluntarily improve the design of the software.

• Google Mobile Services (GMS) are the apps by Google that often come pre-
installed on Android devices. GMS is not a part of the Android Open Source Project
(AOSP), which means an Android manufacturer needs to obtain a license from Google in
order to legally pre-install GMS on an Android device. This license is provided by Google
without any license fees.

• Google LLC is an American multinational technology company that specializes in


Internet-related services and products, which include online advertising technologies, a
search engine, cloud computing, software, and hardware. It is considered one of the Big
Four technology companies alongside Amazon, Apple and Microsoft.

• Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin,
Rich Miner, Nick Sears, and Chris White. Rubin described the Android project as
"tremendous potential in developing smarter mobile devices that are more aware of its
owner's location and preferences".
First android logotype (2007-2014)

Source: www.wikipedia.com
• The early intentions of the company were to develop an advanced operating system
for digital cameras.

• In July 2005, Google acquired Android Inc. for at least $50 million. Its key
employees, including Rubin, Miner and White, joined Google as part of the acquisition.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

• The first commercially available smartphone running Android was the HTC Dream,
also known as T-Mobile G1, announced on September 23, 2008.

• Since 2008, Android has seen numerous updates which have incrementally
improved the operating system. Each major release is named in alphabetical order after a
dessert or sugary treat, with the first few Android versions being called "Cupcake", "Donut",
"Eclair", and "Froyo", in that order. During its announcement of Android KitKat in 2013.

• • In 2010, Google launched its Nexus series of devices, a lineup in which Google
partnered with different device manufacturers to produce new devices and introduce new
Android versions.

• • In June 2014, Google announced Android One, a set of "hardware reference


models" that would "allow [device makers] to easily create high-quality phones at low costs",
designed for consumers in developing countries. In September, Google announced the first
set of Android One phones for release in India.

• • Google introduced the Pixel and Pixel XL smartphones in October 2016, marketed
as being the first phones made by Google.

• In May 2019, the operating system became entangled in the trade war between
China and the United States involving Huawei which like many other tech firms have
become dependent on access to the Android platform.

• • August 22, 2019, it was announced that Android "Q" would officially be branded as
Android 10, ending the historic practice of naming major versions after desserts.

• • Android 10 was released on September 3, 2019 to Google Pixel phones first.

1. Android is a mobile operating system based on a modified version of the Linux kernel and
other open source software, designed primarily for touchscreen mobile devices such as
smartphones and tablets.
2. Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich
Miner, Nick Sears, and Chris White.
3. The first commercially available smartphone running Android was the HTC Dream, also
known as T-Mobile G1, announced on September 23, 2008.
4. Google introduced the Pixel and Pixel XL smartphones in October 2016, marketed as
being the first phones made by Google.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

5. Android 10 was released on September 3, 2019 to Google Pixel phones first.

Why Android is Different and important


• • Android provides users with an access to Google services like Youtube, Google
Maps, Search engine and Gmail etc. hence, users can watch, listen to audio clips, search
information on the web find places, browse, check mails, send mails and perform and other
functions similar to those on a computer.

Features of an Android Phone

▪ Change the look: With android phones, you can change the wallpaper and theme suit
your tastes. You can either download
• pictures or images from the internet or use a photograph as your wallpaper. Android
allows you to change the very look of your devices.
• Downloading applications: On android phones you can download a number of
applications like Facebook, twitter, linkedln, wassup games etc. so you can check
messages from the facebook, tweet from time to time, play games, order pizzas, book cabs,
book cinema shows, buy tickets, manage bank accounts and do almost everything that you
do online on a computer.
• Help Lines: With help line number; people can contact the police station or fire
brigade quickly in case of emergency. Some special apps are made for young girls. They do
not require dialling any number; just pressing the on-off key conveys that they are in need of
help. Their location can also be traced by the police.
• Transferring data: You can transfer data from your computer to the phone and vice
versa easily.
• Saving data: The data or phone numbers that you save on your phone numbers that
you save on your phone is automatically synced with Google and can be recovered even if
the device gets damaged or lost
• Camera Apps: There are hundreds of camera apps that allow you to click
photographs and create special effects.
• Music: Songs and audio clips can be downloaded and you can play any number
playlists.
• Customization: Android enables customization of phones

Native Android Application


 Native App vs. Mobile Web App.
o Native App: is an app for a certain mobile device (smartphone, tablet, etc.) They’re
installed directly onto the device. Users typically acquire these apps through an online store
or marketplace such as The App Store or Android Apps on Google Play. Examples of native
apps are Camera+ for iOS devices and Kee PassDroid for Android devices.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

o Mobile App: Internet-enabled apps that have specific functionality for mobile devices.
They’re accessed through the mobile device’s web browser (i.e. on the iPhone, this is Safari
by default) and they don’t need to be downloaded and installed on the device.

Comparison of Native App vs. Mobile Web App


User interface: Notice that, in terms of the general look-and-feel, there’s little difference
between the two, making for a consistent user experience.

Development:

Capabilities:
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

Monetization:

Method of Delivery:

Versioning of the App:


Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

Strengths:

Weaknesses:
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

Unit 2: Introduction to Android SDK


A software development kit(SDK) that enables developers to create applications for the Android
platform.

Android SDK Features:

Offline Mapping: Dynamically downloading maps for more than 190 countries in over 60
languages.
Dynamic Markers: you can update the position of the icon dynamically in the map.

API Capability: easier to help you migrate from the Google Maps Android API.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

Elements of Android SDK:


o Services: A service in Android is a background process. Services are typically used for
processes that are ongoing or that take a significant period of time. A service doesn't have a
user interface, so they are often combined with other components such as activities .
o Content Providers: A content provider is a component for managing a data set. This
data set can be private to your application or can be shared, with other apps able to query
and modify the data. If you create a content provider to manage data for your own app, your
UI components such as activities will use the content provider, typically through the content
resolver class to interact with the data.
o Broadcasts Receiver: The Android system makes various types of broadcasts an app
can respond to. You can also develop apps to make these broadcasts, but this is far less
likely than to listen for existing broadcasts, at least for your first apps. System
announcements include information about the device's hardware, such as the battery level,
the screen shutting off, the charger being plugged into an outlet, etc.

Unit 3: Android Application Structure Architecture


Android Software Stacks/Android Architecture

Dynamic android architecture or Android software stack is categorized into five parts:

1. Linux Kernel: It is the heart of android architecture that exists at the root of android
architecture. Linux kernel is responsible for device drivers, power management, memory
management, device management and resource access.

2. Native Libraries: On the top of linux kernel, their are Native libraries such as WebKit,
OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc. The WebKit library is
responsible for browser support, SQLite is for database, FreeType for font support, Media for
playing and recording audio and video formats.

3. Android Runtime: In android runtime, there are core libraries and DVM (Dalvik Virtual
Machine) which is responsible to run android application. DVM is like JVM but it is optimized
for mobile devices. It consumes less memory and provides fast performance.

4. Android Framework: On the top of Native libraries and android runtime, there is android
framework. Android framework includes Android API's such as UI (User Interface),
telephony, resources, locations, Content Providers (data) and package managers. It
provides a lot of classes and interfaces for android application development.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

5. Applications: On the top of android framework, there are applications. All applications
such as home, contact, settings, games, browsers are using android framework that uses
android runtime and libraries. Android runtime and native libraries are using linux kernal.

Android Libraries
An Android library is structurally the same as an Android app module. It can include
everything needed to build an app, including source code, resource files, and an Android
manifest. The Android Support Library is a set of code libraries resources that can be used
to build features and/or functions into an app that provide things like features or widgets that
would normally require an actual Android framework API to include in an app.

1. SmoothBottomBar: A lightweight android material bottom navigation library

2. Material Dialogs: This library will be useful to create rich,


animated beautiful dialogs in Android
app easily.

3. Map Drawing Manager: MDM is a library with the help of we can draw many different
shapes like polygon, polyline and many more on the google map with editable mode.

4. HR Vertical Calendar: This awesome calendar is designed


to meet more complex business
requirements for android dev.

5. ExpandableBottomBar: A new way to improve navigation in


your app.

Unit 1: Introduction to Android


Introduction
Android is structured in the form of a software stack comprising applications, an operating
system, run-time environment, middleware, services and libraries.
Each layer of the stack, and the corresponding elements within each layer, are tightly
integrated and carefully tuned to provide the optimal application development and execution
environment for mobile devices. Figure 1 shows the visual representation of the Android
Stack and its layers.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

The Linux Kernel


 It provides a level of abstraction between the device hardware and the upper layers of the
Android software stack.
The Hardware Abstraction Layer (HAL)
 A HAL defines a standard interface for hardware vendors to implement, which enables
Android to be agnostic about lower-level driver implementations. Using a HAL allows you to
implement functionality without affecting or modifying the higher level system.
 You must implement the corresponding HAL (and driver) for the specific hardware your
product provides.
Android Native (Core) Libraries

A summary of some key core Android libraries available to the Android developer is as
follows:

o android.app – Provides access to the application model and is the cornerstone of all
Android applications.
o android.content – Facilitates content access, publishing and messaging between
applications and application components.
o android.database – Used to access data published by content providers and includes
SQLite database management classes.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

o android.graphics – A low-level 2D graphics drawing API including colors, points, filters,


rectangles and canvases.
o android.hardware – Presents an API providing access to hardware such as the
accelerometer and light sensor.
o android.opengl – A Java interface to the OpenGL ES 3D graphics rendering API.
o android.os – Provides applications with access to standard operating system services
including messages, system services and inter-process communication.

o android.media – Provides classes to enable playback of audio and video.


o android.net – A set of APIs providing access to the network stack. Includes
android.net.wifi, which provides access to the device’s wireless stack.
o android.print – Includes a set of classes that enable content to be sent to configured
printers from within Android applications.
o android.provider – A set of convenience classes that provide access to standard
Android content provider databases such as those maintained by the calendar and contact
applications.
o android.text' – Used to render and manipulate text on a device display.
o android.util – A set of utility classes for performing tasks such as string and number
conversion, XML handling and date and time manipulation.
o android.view – The fundamental building blocks of application user interfaces.
o android.widget - A rich collection of pre-built user interface components such as
buttons, labels, list views, layout managers, radio buttons etc.
o android.webkit – A set of classes intended to allow web-browsing capabilities to be built
into applications.

C / C++ LIBRARIES
 The Android runtime core libraries outlined in the preceding section are Java-based and
provide the primary APIs for developers writing Android applications.
 C/C++ libraries are included to fulfill a wide and diverse range of functions including 2D
and 3D graphics drawing, Secure Sockets Layer (SSL) communication, SQLite database
management, audio and video playback, bitmap and vector font rendering, display
subsystem and graphic layer management and an implementation of the standard C system
library (libc).

Android Runtime – The Dalvik Virtual Machine


 Android runtime (ART) is the managed runtime used by applications and some system
services on Android.
 ART and its predecessor Dalvik were originally created specifically for the Android
project. ART as the runtime executes the Dalvik Executable format and Dex bytecode
specification.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

 ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for
Dalvik should work when running with ART.

ANDROID RUNTIME FEATURES

Ahead-of-time (AOT) compilation


o ART introduces ahead-of-time (AOT) compilation, which can improve app performance.
ART also has tighter install-time verification than Dalvik.

Improved garbage collection


o Garbage collection (GC) can impair an app's performance, resulting in choppy display,
poor UI responsiveness, and other problems.

Development and debugging improvements


o ART offers a number of features to improve app development and debugging.

Application Framework
 The Application Framework layer provides many higher-level services to applications in
the form of Java classes.
 Application developers are allowed to make use of these services in their applications.
 The Application Framework is a set of services that collectively form the environment in
which Android applications run and are managed.

The Android framework includes the following key services:


o Activity Manager– Controls all aspects of the application lifecycle and activity stack.
o Content Providers– Allows applications to publish and share data with other
applications.
o Resource Manager– Provides access to non-code embedded resources such as
strings, color settings and user interface layouts.
o Notifications Manager– Allows applications to display alerts and notifications to the
user.
o View System– An extensible set of views used to create application user interfaces.
o Package Manager– The system by which applications are able to find out information
about other applications currently installed on the device.
o Telephony Manager– Provides information to the application about the telephony
services available on the device such as status and subscriber information.
o Location Manager– Provides access to the location services allowing an application to
receive updates about location changes.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

The SDK Tools and Platform Tools


 SDK tools – SDK tools are generally platform independent and are required no matter
which android platform you are working on. When you install the Android SDK into your
system, these tools get automatically installed. The list of SDK tools has been given below:

Sr.No Tool & description


1 Android
 This tool lets you manage AVDs, projects,
and the installed components of the SDK

2 ddms
 This tool lets you debug Android
applications
 DDMS stands for Dalvik Debug Monitor
Server that provide many services on the
device.
 The service could include message
formation, call spoofing, capturing
screenshot, exploring internal threads
and file systems etc.

3 Draw 9-Patch
This tool allows you to easily create a
NinePatch graphic using a WYSIWYG
editor
4 emulator
This tools let you test your applications
without using a physical device
5 mksdcard
Helps you create a disk image (external
sdcard storage) that you can use with
the emulator
6 proguard
Shrinks, optimizes, and obfuscates your
code by removing unused code
7 sqlite3
 Lets you access the SQLite data files
created and used by Android
applications
 Sqlite3 is a command line program
which is used to manage the SQLite
databases created by Android
applications.
Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

 The tool also allow us to execute the


SQL statements on the fly.
 There are two way through which you
can use SQlite , either from remote shell
or you can use locally.

8 traceview
Provides a graphical viewer for
execution logs saved by your application
9 Adb
Android Debug Bridge (adb) is a versatile
command line tool that lets you
communicate with an emulator instance
or connected Android-powered device.

Code name Version API


numbers level

No codename 1.0 1

No codename 1.1 2

Cupcake 1.5 3

Donut 1.6 4

Eclair 2.0 - 2.1 5-7

Froyo 2.2 - 2.2.3 8

Gingerbread 2.3 - 2.3.7 9 - 10

Honeycomb 3.0 - 3.2.6 11 - 13

Ice Cream Sandwich 4.0 - 4.0.4 14 - 15

Jelly Bean 4.1 - 4.3.1 16 - 18

KitKat 4.4 - 4.4.4 19 - 20


Republic of the Philippines
Pangasinan State University
ALAMINOS CITY CAMPUS
Alaminos City, Pangasinan

Lollipop 5.0 - 5.1.1 21- 22

Marshmallow 6.0 - 6.0.1 23

Nougat 7.0 24

Nougat 7.1.0 - 7.1.2 25

Oreo 8.0 26

Oreo 8.1 27

Pie 9.0 28

Android 10 10.0 29

Android 11 11 30

You might also like