Professional Documents
Culture Documents
An Overview of Mobile
Applications
by
Zana Azeez Kakarash
Email: zana.azeez@kti.edu.krd
2021 – 2022
One
Mobile Application Development?
• A mobile app itself is application software developed for smartphones and tablets with various
operating systems: iOS, Android, KaiOS, Harmony OS, Tizen, and others.
• A mobile operating system (OS) is a software package that allows smartphones, tablets, and
wearable device to manage resources of a device itself and run applications and programs.
• Most mobile operating systems run only on certain hardware. For example, iOS is made for iPhones,
and Android is used on Samsung, Google Pixel, LG, Nokia, and other smartphones.
• Android is an open source and Linux-based operating system for mobile devices such as
smartphones and tablet computers.
• Android was developed by the Open Handset Alliance, led by Google, and other companies.
• The first beta version of the Android Software Development Kit (SDK) was released by Google in
2007 where as the first commercial version, Android 1.0, was released in September 2008.
• Java language is mainly used to write the android code even though other languages can be used.
• Open Handset Alliance™, a group of 47 technology and mobile companies have come together to
accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile
experience.
• Android is a powerful operating system competing with Apple IOS and supports great features. Few of
them are listed below:
• The code names of android ranges from A to N currently, such as Aestro, Blender, Cupcake, Donut,
Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat, Lollipop,
Marshmallow , Nougat , Oreo and Pie.
• Application Programming Interface (API) is an integer value that uniquely identifies the framework.
• Choosing an API level for an application development should take at least two thing into account :
1) Current distribution - How many devices can actually support my application, if it was developed for
API level 9, it cannot run on API level 8 and below, then "only" around 60% of devices can run it (true
to the date this post was made).
2) Choosing a lower API Level : may support more devices but gain less functionality for your app. you
may also work harder to achieve features you could've easily gained if you chose higher API level.
14
Android - Architecture
• Android operating system which is roughly divided into five sections and four main layers in the
architecture diagram.
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, camera, keypad, display,
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 :
• Android framework includes Android API's such as UI (User Interface), telephony, resources,
locations, Content Providers (data) and package managers.
5) Applications :
• All applications such as home, contact, settings, games, browsers are using android framework
that uses android runtime and libraries.
21
Android - Application Components
• An android component is simply a piece of code that has a well defined life cycle e.g. Activity,
Receiver, Service etc.
• The core building blocks or fundamental components of android are activities, views, intents,
services, content providers, fragments and AndroidManifest.xml.
1 - Activities :
• An activity represents a single screen with a user interface, in-short Activity performs actions on the
screen.
………
……… }
2 - Services
• A service is a component that runs in the background to perform long-running operations.
• For example, a service might play music in the background while the user is in a different
application, or it might fetch data over the network without blocking user interaction with an activity.
24
Android - Application Components
3 - Intent
• Intent is used to call components. It is mainly used to:
- Start the service
- Launch an activity
- Display a web page
- Display a list of contacts
- Broadcast a message
- Dial a phone call etc.
• For example, you may write the following code to view the webpage :
4 - Content Providers
• A content provider component supplies data from one application to others on request.
• Enables sharing of data across applications : E.g. address book, photo gallery.
………
……… }
5 - View
• A view is the UI element such as button, label, text field etc. Anything that you see is a view.
6 - Fragment
• Fragments are like parts of activity. An activity can display one or more fragments on the screen at the
same time.
1. Java
2. Android SDK
• Android SDK
o Class Library
o Developer Tools
o Emulator and System Images
o Documentation and Sample Code
29