0% found this document useful (0 votes)
30 views12 pages

Semester V Core Theory Paper - 9 Mobile Applications Development Objectives

This document discusses mobile applications development. It covers topics like native and web applications, mobile operating systems, categories of mobile apps, and mobile databases. Native apps are installed directly onto a device while web apps function like websites. Popular mobile operating systems include Android, iOS, Blackberry OS, and Windows Mobile. Common app categories are gaming, business, education, lifestyle, entertainment, and utilities. Mobile databases allow accessing data from a main database while offline.

Uploaded by

Mani Kandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views12 pages

Semester V Core Theory Paper - 9 Mobile Applications Development Objectives

This document discusses mobile applications development. It covers topics like native and web applications, mobile operating systems, categories of mobile apps, and mobile databases. Native apps are installed directly onto a device while web apps function like websites. Popular mobile operating systems include Android, iOS, Blackberry OS, and Windows Mobile. Common app categories are gaming, business, education, lifestyle, entertainment, and utilities. Mobile databases allow accessing data from a main database while offline.

Uploaded by

Mani Kandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

SEMESTER V

CORE THEORY PAPER – 9


MOBILE APPLICATIONS DEVELOPMENT
Objectives:

This course aims to provide the students with a detailed knowledge on Mobile Application and
Development and covers Android programming from fundamentals to building mobile applications for
smart gadgets.

UNIT I Introduction to Mobile Applications:

Native and web applications - Mobile operating systems and applications - Mobile Databases. Android:
History of Android - Android Features – OSS – OHA - Android Versions and compatibility - Android
devices - Prerequisites to learn Android -– Setting up software – IDE - XML. Android Architecture:
Android Stack - Linux Kernel - Android Runtime - Dalvik VM - Application Framework - Android
emulator - Android applications.

NATIVE APPs
 A native app is one that is installed directly onto the smart phone and can work, in most cases,
with no internet connectivity depending on the nature of the app.
 Native apps are installed through an application store (such as Google Play or Apple’s App
Store). They are developed specifically for one platform, and can take full advantage of the
device features.
 In some smart phones the app can control devices and act as a controller itself.
 They can also incorporate gestures (either standard operating-system gestures or new, app-
defined gestures). And native apps can use the device’s notification system.
WEB APPs
 Web apps are not real applications; they are websites that, in many ways, look and feel like
native applications, but are not implemented as such.
 They are run by a browser and typically written in HTML. Users first access them as they would
access any web page.
 They navigate to a special URL and then have the option of “installing” them on their home
screen by creating a bookmark to that page.
 Today, as more and more sites use HTML5, the distinction between web apps and regular web
pages has become blurred.
 Web apps require internet access and its operation speeds are dependent on the quality of cell
signal or the speed of the wi-fi broadband you are connected to.

MOBILE OPERATING SYSTEMS


A mobile operating system, also called a mobile OS, is an operating system that is specifically designed
to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and other
handheld devices.
1. Android OS (Google Inc.)
The Android mobile operating system is Google's open and free software stack that includes an
operating system, middleware and also key applications for use on mobile devices, including
smartphones. Updates for the open source Android mobile operating system have been developed under
"dessert-inspired" version names (Cupcake, Donut, Eclair, Gingerbread, Honeycomb, Ice Cream
Sandwich) with each new version arriving in alphabetical order with new enhancements and
improvements.
2. Bada (Samsung Electronics)
Bada is a proprietary Samsung mobile OS that was first launched in 2010. The Samsung Wave was the
first smartphone to use this mobile OS. Bada provides mobile features such as multipoint-touch, 3D
graphics and of course, application downloads and installation.
3. BlackBerry OS (Research In Motion)
The BlackBerry OS is a proprietary mobile operating system developed by Research In Motion for use
on the company’s popular BlackBerry handheld devices. The BlackBerry platform is popular with
corporate users as it offers synchronization with Microsoft Exchange, Lotus Domino, Novell
GroupWise email and other business software, when used with the BlackBerry Enterprise Server.
4. iPhone OS / iOS (Apple)
Apple's iPhone OS was originally developed for use on its iPhone devices. Now, the mobile operating
system is referred to as iOS and is supported on a number of Apple devices including the iPhone, iPad,
iPad 2 and iPod Touch. The iOS mobile operating system is available only on Apple's own
manufactured devices as the company does not license the OS for third-party hardware. Apple iOS is
derived from Apple's Mac OS X operating system.
5. MeeGo OS (Nokia and Intel)
A joint open source mobile operating system which is the result of merging two products based on open
source technologies: Maemo (Nokia) and Moblin (Intel). MeeGo is a mobile OS designed to work on a
number of devices including smartphones, netbooks, tablets, in-vehicle information systems and various
devices using Intel Atom and ARMv7 architectures.
6. Palm OS (Garnet OS)
The Palm OS is a proprietary mobile operating system (PDA operating system) that was originally
released in 1996 on the Pilot 1000 handheld. Newer versions of the Palm OS have added support for
expansion ports, new processors, external memory cards, improved security and support for ARM
processors and smartphones. Palm OS 5 was extended to provide support for a broad range of screen
resolutions, wireless connections and enhanced multimedia capabilities and is called Garnet OS.
7. Symbian OS (Nokia)
Symbian is a mobile operating system (OS) targeted at mobile phones that offers a high-level of
integration with communication and personal information management (PIM) functionality. Symbian
OS combines middleware with wireless communications through an integrated mailbox and the
integration of Java and PIM functionality (agenda and contacts). Nokia has made the Symbian platform
available under an alternative, open and direct model, to work with some OEMs and the small
community of platform development collaborators. Nokia does not maintain Symbian as an open source
development project.
8. webOS (Palm/HP)
WebOS is a mobile operating system that runs on the Linux kernel. WebOS was initially developed by
Palm as the successor to its Palm OS mobile operating system. It is a proprietary Mobile OS which was
eventually acquired by HP and now referred to as webOS (lower-case w) in HP literature. HP uses
webOS in a number of devices including several smartphones and HP TouchPads. HP has pushed its
webOS into the enterprise mobile market by focusing on improving security features and management
with the release of webOS 3.x. HP has also announced plans for a version of webOS to run within the
Microsoft Windows operating system and to be installed on all HP desktop and notebook computers in
2012.
9. Windows Mobile (Windows Phone)
Windows Mobile is Microsoft's mobile operating system used in smartphones and mobile devices – with
or without touchscreens. The Mobile OS is based on the Windows CE 5.2 kernel. In 2010 Microsoft
announced a new smartphone platform called Windows Phone

MOBILE APPLICATIONS

A mobile application, most commonly referred to as an app, is a type of application software designed
to run on a mobile device, such as a smartphone or tablet computer. Mobile applications frequently
serve to provide users with similar services to those accessed on PCs

Categories of apps

There are 33 categories of apps in Google Play and 24 categories in Apple’s App Store. And there are
just 7 app categories that have managed to reach more than 3% of users, according to Statistica research.

Gaming apps

Examples of game apps:

 Clash of Clans (Android & IOS)

 Candy Crush Saga (Android & IOS)

 Angry Birds Go (Android & IOS)

 Temple Run (Android & IOS)

 Solitaire (Android & IOS)

 Trivial Crack (Android & IOS)

Business apps

Examples of business apps:

 Adobe Acrobat Reader (Android & IOS)

 Voxer Walkie Talkie Messenger (Android & IOS)

 Indeed Job Search (Android & IOS)

 Facebook Pages Manager (Android & IOS)

 Dragon Dictation
 Square Register – Point of Sale (Android & IOS)

Educational apps

Examples of educational apps:

 Duolingo – Learn Languages for Free (Android & IOS)

 Photomath – Camera Calculator (Android & IOS)

 Quizlet: Flashcard & Language App to Study & Learn (Android & IOS)

 Lumosity – Brain Training (Android & IOS)

 TED (Android & IOS)

Lifestyle apps

Examples of lifestyle apps:

 Tinder (Android & IOS)

 Text Free: Free Texting (Android & IOS)

 AroundMe (Android & IOS)

 PINK Nation (Android & IOS)

 The DailyHoroscope (Android & IOS)

 The Game by Hot or Not (Android & IOS)

Entertainment apps

Examples of entertainment apps:

 Netflix (Android & IOS)

 Dubsmash (Android & IOS)

 Talking Tom Cat (Android & IOS)

 Amazon Prime Video (Android & IOS)

Utility apps

Examples of utility apps:

 Bitmoji – Your Personal Emoji (Android & IOS)


 Flashlight (Android & IOS)

 QR Reader (IOS)

 Speed test (Android & IOS)

 My Verizon (Android & IOS)

 myAT&T (Android & IOS)

Travel apps

Examples of travel apps:

 Google Earth (Android & IOS)

 Uber (Android & IOS)

 United Airlines (Android & IOS)

 Fly Delta (Android & IOS)

 Airbnb (Android & IOS)

 United Airlines (Android & IOS)

MOBILE DATABASES

Mobile databases are separate from the main database and can easily be transported to various places.
Even though they are not connected to the main database, they can still communicate with the database
to share and exchange data.
The mobile database includes the following components −
 The main system database that stores all the data and is linked to the mobile database.
 The mobile database that allows users to view information even while on the move. It shares
information with the main database.
 The device that uses the mobile database to access data. This device can be a mobile phone,
laptop etc.
 A communication link that allows the transfer of data between the mobile database and the main
database.
Advantages of Mobile Databases
Some advantages of mobile databases are −
 The data in a database can be accessed from anywhere using a mobile database. It provides
wireless database access.
 The database systems are synchronized using mobile databases and multiple users can access the
data with seamless delivery process.
 Mobile databases require very little support and maintenance.
 The mobile database can be synchronized with multiple devices such as mobiles, computer
devices, laptops etc.
Disadvantages of Mobile Databases
Some disadvantages of mobile databases are −
 The mobile data is less secure than data that is stored in a conventional stationary database. This
presents a security hazard.
 The mobile unit that houses a mobile database may frequently lose power because of limited
battery. This should not lead to loss of data in database.

History of Android

The history and versions of android are interesting to know. The code names of android ranges
from A to J currently, such
as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream
Sandwitch, Jelly Bean, KitKat and Lollipop

Android Versions, Codename and API

Let's see the android versions, codenames and API Level provided by Google.

Version Code name API Level


1.5 Cupcake 3
1.6 Donut 4
2.1 Éclair 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
4.4 KitKat 19
5.0 Lollipop 21
6.0 Marshmallow 23
7.0 Nougat 24-25
8.0 Oreo 26-27

ANDROID FEATURES

With Android operating system (OS) KitKat version 4.4 rolling out to mobile devices across the globe,
Google is on to something—Android is now more popular than iOS or the Windows phone. The OS
tends to garner rave reviews for its ease of use and open source, but many iOS or Windows phone users
argue that their preferred operating system can do just as much. In some respects that’s true, but here are
10 features unique to Android’s OS.

1) Near Field Communication (NFC)


Most Android devices support NFC, which allows electronic devices to easily interact across short
distances. The main aim here is to create a payment option that is simpler than carrying credit cards or
cash, and while the market hasn’t exploded as many experts had predicted, there may be an alternative
in the works, in the form of Bluetooth Low Energy (BLE).
2) Alternate Keyboards
Android supports multiple keyboards and makes them easy to install; the SwiftKey, Skype, and 8pen
apps all offer ways to quickly change up your keyboard style. Other mobile operating systems either
don’t permit extra keyboards at all, or the process to install and use them are tedious and time-
consuming.

3) Infrared Transmission
The Android operating system supports a built-in infrared transmitter, allowing you to use your phone
or tablet as a remote control.

4) No-Touch Control
Using Android apps such as Wave Control, users can control their phones touch-free, using only
gestures. Have messy hands but need to turn off your screen or change a song? Simple. This could prove
especially useful if you’re driving, so you can keep both eyes on the road.
5) Automation
The Tasker app lets you not only control app permissions but also automate them.location services to be
active during the day wants to create a customized way to start your music. for example, with a voice
command and at a certain volume. Tasker can help.
6) Wireless App Downloads
Accessing app stores on any mobile device can be frustrating, but iOS makes it a little more difficult—
download an app on your computer, and it won’t sync to your mobile device until you plug in and
access iTunes. Using the Android Market or third-party options like AppBrain, meanwhile, let you
download apps on your PC and then automatically sync them your Droid, no plugging required.
7) Storage and Battery Swap
Android phones also have unique hardware capabilities. Google’s OS makes it possible to remove and
upgrade your battery or to replace one that no longer holds a charge. In addition, Android phones come
with SD card slots for expandable storage.

8) Custom Home Screens


While it’s possible to hack certain phones to customize the home screen, Android comes with this
capability from the get-go. Download a third-party launcher like Nova, Apex or Slide and you can add
gestures, new shortcuts, or even performance enhancements for older-model devices.

9) Widgets
Apps are versatile, but sometimes you want information at a glance instead of having to open an app and
wait for it to load. Android widgets let you display just about any feature you choose, right on the home
screen—including weather apps, music widgets, or productivity tools that helpfully remind you of
upcoming meetings or approaching deadlines.

10) Custom ROMs


This is a big one. Because the Android operating system is open source, developers can tweak the
current OS and build their own versions, which users can download and install in place of the stock OS.
Some are filled with features, while others change the look and feel of a device. Chances are if there’s a
feature you want, someone has already built a custom ROM for it.

Android OSS

Android is an open source operating system for mobile devices and a corresponding open source project
led by Google. This site and the Android Open Source Project (AOSP) repository offer the information
and source code needed to create custom variants of the Android OS, port devices and accessories to the
Android platform, and ensure devices meet the compatibility requirements that keep the Android
ecosystem a healthy and stable environment for millions of users.

An operational support system (OSS) is a set of programs that help a communications service provider
monitor, control, analyze and manage a telephone or computer network. As the traditional voice
telephone systems converges with packet-oriented Internet traffic
(including VoIP), broadband applications such as teleconferencing and DSL, more sophisticated
systems like OSS are needed activities like ordering and tracking network components (including IP
addresses), usage and traffic patterns, billing and reporting.

OPEN HANDSET ALLIANCE (OHA)


The Open Handset Alliance (OHA) is a business alliance that was created for the purpose of developing
open mobile device standards. The OHA has approximately 80 member companies, including HTC,
Dell, Intel, Motorola, Qualcomm and Google. The OHA's main product is the Android platform - the
world's most popular smartphone platform.

OHA members are primarily mobile operators, handset manufacturers, software development firms,
semiconductor companies and commercialization companies. Members share a commitment to
expanding the commercial viability of open platform development.

OHA member companies back the open platform concept for a number of reasons, as follows:
Lower overall handset costs: Opens up resources, which facilitates the focus on creating innovative
applications, solutions and services.

 Developer-friendly environment: In the open-source community, developers share notes to


expedite application development.
 Post-development: Provides an ideal channel for application marketing and distribution.

DEVICE COMPATIBILITY

Android is designed to run on many different types of devices, from phones to tablets and televisions.
As a developer, the range of devices provides a huge potential audience for your app. In order for your
app to be successful on all these devices, it should tolerate some feature variability and provide a
flexible user interface that adapts to different screen configurations.

ANDROID DEVICES

Popular Android devices include smartphones, tablets and e-readers. The Android OS is also built into a
limited number of other devices, such as netbooks, portable music players, the Binatone iHome Phone
and Odroid handheld game consoles.

Android device developers and programmers can find information at the Android website, which offers
an Android software development kit.

Within a short period, the Android platform became so popular that it surpassed Windows Mobile and
Symbian for a number of applications. Various mobile device manufacturers embraced the Android
platform due to its overwhelming popularity. The reasons behind this success are as follows:

 Cutting-edge technology offered by Google


 Extremely user friendly platform
 Can be used in smartphones as well as tablets
 Any user can do modifications to the platform as the Android SDK is open to users
 Availability of huge volume of applications

5 Things to Know Before Building Your First Android App

 You need to learn Java, there is no way around it


 Android part encompasses learning XML for the app design, understanding concepts of Android
and using said concepts programmatically with Java
 Beginners should probably use an IDE (Android Studio over Eclipse)
 Building your first app is time-consuming: it won't happen overnight. This is not a project for
those looking for a fast result
 When stuck on a problem (which will inevitably happen), turn to Stack Overflow. If no luck
there, look to the Android Subreddit where there is a helpful community

ANDROID ARCHITECTURE

Android operating system is a stack of software components which is roughly divided into five sections
and four main layers as shown below in the architecture diagram.

Linux kernel

At the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This provides a level
of abstraction between the device hardware and it contains all the essential hardware drivers like
camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as
networking and a vast array of device drivers, which take the pain out of interfacing to peripheral
hardware.

Libraries

On top of Linux kernel there is a set of libraries including open-source Web browser engine WebKit,
well known library libc, SQLite database which is a useful repository for storage and sharing of
application data, libraries to play and record audio and video, SSL libraries responsible for Internet
security etc.

Android Libraries

This category encompasses those Java-based libraries that are specific to Android development.
Examples of libraries in this category include the application framework libraries in addition to those
that facilitate user interface building, graphics drawing and database access. A summary of some key
core Android libraries available to the Android developer is as follows −
 android.app − Provides access to the application model and is the cornerstone of all Android
applications.
 android.content − Facilitates content access, publishing and messaging between applications
and application components.
 android.database − Used to access data published by content providers and includes SQLite
database management classes.
 android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API.
 android.os − Provides applications with access to standard operating system services including
messages, system services and inter-process communication.
 android.text − Used to render and manipulate text on a device display.
 android.view − The fundamental building blocks of application user interfaces.
 android.widget − A rich collection of pre-built user interface components such as buttons,
labels, list views, layout managers, radio buttons etc.
 android.webkit − A set of classes intended to allow web-browsing capabilities to be built into
applications.
Having covered the Java-based core libraries in the Android runtime, it is now time to turn our
attention to the C/C++ based libraries contained in this layer of the Android software stack.

Android Runtime

This is the third section of the architecture and available on the second layer from the bottom. This
section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual
Machine specially designed and optimized for Android.
The Dalvik VM makes use of Linux core features like memory management and multi-threading,
which is intrinsic in the Java language. The Dalvik VM enables every Android application to run in its
own process, with its own instance of the Dalvik virtual machine.
The Android runtime also provides a set of core libraries which enable Android application developers
to write Android applications using standard Java programming language.
Dalvik Virtual Machine | DVM

Modern JVM is high performance and provides excellent memory management. But it needs to be
optimized for low-powered handheld devices as well.

The Dalvik Virtual Machine (DVM) is an android virtual machine optimized for mobile devices. It
optimizes the virtual machine for memory, battery life and performance.

Dalvik is a name of a town in Iceland. The Dalvik VM was written by Dan Bornstein.

The Dex compiler converts the class files into the .dex file that run on the Dalvik VM. Multiple class
files are converted into one dex file.

Compiling and packaging process from the source file:

The javac tool compiles the java source file into the class file.

The dx tool takes all the class files of your application and generates a single .dex file. It is a platform-
specific tool.

The Android Assets Packaging Tool (aapt) handles the packaging process.

ANDROID EMULATOR

The Android Emulator simulates Android devices on your computer so that you can test your
application on a variety of devices and Android API levels without needing to have each physical
device.

The emulator provides almost all of the capabilities of a real Android device. You can simulate
incoming phone calls and text messages, specify the location of the device, simulate different network
speeds, simulate rotation and other hardware sensors, access the Google Play Store, and much more.

Testing your app on the emulator is in some ways faster and easier than doing so on a physical device.
For example, you can transfer data faster to the emulator than to a device connected over USB.

The emulator comes with predefined configurations for various Android phone, tablet, Wear OS, and
Android TV devices.

Watch the following video for an overview of some emulator features.

You can use the emulator manually through its graphical user interface and programmatically through
the command line and the emulator console. For a comparison of the features available through each
interface.

Requirements and recommendations

The Android Emulator has additional requirements beyond the basic system requirements for Android
Studio, which are described below:

 SDK Tools 26.1.1 or higher


 64-bit processor
 Windows: CPU with UG (unrestricted guest) support
 HAXM 6.2.1 or later (HAXM 7.2.0 or later recommended)
The use of hardware acceleration has additional requirements on Windows and Linux:

 Intel processor on Windows or Linux: Intel processor with support for Intel VT-x, Intel EM64T (Intel
64), and Execute Disable (XD) Bit functionality
 AMD processor on Linux: AMD processor with support for AMD Virtualization (AMD-V)
and Supplemental Streaming SIMD Extensions 3 (SSSE3)
 AMD processor on Windows: Android Studio 3.2 or higher and Windows 10 April 2018 release or
higher for Windows Hypervisor Platform (WHPX) functionality

To work with Android 8.1 (API level 27) and higher system images, an attached webcam must have the
capability to capture 720p frames.

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 Android framework includes the following key services −
 Activity Manager − Controls all aspects of the application lifecycle and activity stack.
 Content Providers − Allows applications to publish and share data with other applications.
 Resource Manager − Provides access to non-code embedded resources such as strings, color
settings and user interface layouts.
 Notifications Manager − Allows applications to display alerts and notifications to the user.
 View System − An extensible set of views used to create application user interfaces.

Applications

All the Android application at the top layer. You will write your application to be installed on this layer
only. Examples of such applications are Contacts Books, Browser, Games etc.

You might also like