Chater 1
Chater 1
Introduction
After Completed this chapter, students able to understand:
Every day the new devices are incoming to the market with innovative options thanks to growing
technology. The evolution of mobile application development technology with new devices
made our lives much easier.
In the smartphone world, simply having a running website is not enough. A recent study, it has
shown that about 45% and more of Google search happens using smartphones.
The number is spectacular and there is growth within the mobile business. Being obtainable on
an internet-enabled device is needed for every and each business which has given the kicking
start to mobile application development.
We can start explaining mobile development, which is not about building phone apps, though it
is a huge part of it. Actually, it’s doing any reasonable development for any kind of mobile
device such as developing apps for phones, tablets, smartwatches, and every form of wearable
device that run any kind of mobile operating system.
Mobile development presents a reasonably distinctive chance for a one-person development team
to build an actual, usable, significant app end-to-end during a comparatively short period.
However, mobile app development represents more than just a chance for the solo developer to
create their own project as it is arguably the longer term of development, as mobile devices are
getting larger and bigger parts of our lives.
iOS
iOS is kind of arguably the “big dog” once it comes to major app development platforms,
partially because it had been the platform that finally brought mobile development into the
modern day and age by fully reworking the concept of a mobile device and mobile software
system. iOS is of course developed by Apple, and it runs exclusively on Apple products.
Apple provides iOS developers with many native tools and libraries to develop iOS applications,
and, though you do not have to be enforced to use Apple’s development tools to create your
apps, you just need to have a mac running OS X to build your application.
Android
Android is the other dominant player in this space, it was a bit later participant to the game, first
being released in Sept 2008, virtually a year later than iOS but it has managed to achieve a
reasonably massive share of the mobile market.
Technically, Android is the mobile OS with the largest most dominant share of the market with
around 80% share compared to iOS’s 18 % share. Those numbers are a bit deceiving since
android may be a fragmented market consisting of the many different devices created by
different manufacturers, running completely different versions of the Android OS.
Mobile computing can be defined as a computing environment over physical mobility. The user
of the mobile computing environment will be able to access data, information or logical objects
from any device in any network while on move. Wireless telecommunications networks are
generally implemented and administered using radio communication. This implementation takes
place at the physical level (layer) of the OSI model network structure.
Mobile Computing is an umbrella term used to describe technologies that enable people to
access network services anyplace, anytime, and anywhere.
Examples of wireless networks include cell phone networks, wireless local area networks
(WLANs), wireless sensor networks, satellite communication networks, and terrestrial
microwave networks.
Mobility/Nomadic is that someone / something can move or be moved easily and quickly from
place to place.
Nomadic Computing: The computing environment is nomadic and moves along with the
mobile user. It refers to limited migration is within a building at a pedestrian speed, interleaved
pattern of user relocation and indoor connections and users carrying laptop with wireless access
are engaged in nomadic computing.
Pervasive Computing: A computing environment, which is pervasive in nature and can be made
available in any environment. It refers to access to computer network all the time at any location
by any person. It cannot be realized unless mobile computing matures.
Ubiquitous Computing: A disappearing (nobody will notice its presence) every place
computing environment. User will be able to use both local and remote services. Global System
for Mobile Communications (GSM): The GSM network is divided into three major systems:
the switching system, the base station system, and the operation and support system. The cell
phone connects to the base system station which then connects to the operation and support
station; it then connects to the switching station where the call is transferred to where it needs to
go. GSM is the most common standard and is used for a majority of cell phones.
Personal Communications Service (PCS): PCS is a radio band that can be used by mobile
phones in North America and South Asia. Sprint happened to be the first service to set up a PCS.
D-AMPS:
Digital Advanced Mobile Phone Service, an upgraded version of AMPS, is being phased out
due to advancement in technology. The newer GSM networks are replacing the older system.
The architectural model of a mobile computing environment is shown in Figure 1.1 and consists
of stationary and mobile components. Fixed hosts are connected together via a fixed high-speed
network (Mbps to Gbps).
Some of the fixed hosts are special computers equipped with wireless interfaces, and are
known as base (radio) stations (BS). They are also known as mobile support stations
(MSS). Base stations, which are placed in the centre of cellular coverage areas, act as access
points between the mobile computers and the fixed network. Mobile computers can be in one of
three states.
fig. mobile computing environment
The first state places a mobile computer within a cell and capable of communicating.
The second state places the mobile computer out of range of any service cell and not
capable of communication.
The third state places a mobile computer in a cell, communicating, but just ready to cross
a cell boundary. These scenarios are depicted in Figure 1.1.
1. User mobility: User should be able to move from one physical location to another location
and use same service
2. Network mobility: User should be able to move from one network to another network and use
same service
3. Device mobility: User should be able to move from one device to another and use same
service
4. Session mobility: A user session should be able to move from one user-agent environment to
another.
5. Service mobility: User should be able to move from one service to another.
6. Host mobility: The user should be either a client or server. The mobile computing functions
can be logically divided into following major segments
1) User with device: The user device, this could be fixed device like desktop computer in
office or a portable device like mobile phone.
E.g Laptop Computers, Desktop Computers, Fixed Telephones, Mobile Phones, Digital TV with
set top box, palmtop computers, pocket PCs, two-way pagers, handheld terminals etc.
Android application development may be performed on any of the following system types:
Before any work can begin on the development of an Android application, the first step is
to configure a computer system to act as the development platform. This involves a number of
steps consisting of installing the Java Development Kit (JDK) and the Android Studio Integrated
Development Environment (IDE) which also includes the Android Software Development Kit
(SDK). This chapter will cover the steps necessary to install the requisite components for
Android application development on Windows, Mac OS X and Linux based systems.
Android Studio runs on Java Runtime Environment (JRE). JRE can be installed on Windows,
Mac and Linux computers. We need to follow the steps given below for the installation of
Android Studio independent of our operating system:
1. Installation of Java:
Java is developed by Oracle Inc. There are basically two Java packages: Java Runtime
Environment (JRE) and Java Software Development Kit (JDK). JRE is used for running software
written in Java programming language whereas JDK is utilized for developing Java software.
Therefore, installing JRE is adequate for running Android Studio because we will not develop
Java software here. Please navigate to the following website to download the JRE:
http://www.oracle.com/technetwork/java/javase/downloads/jre8- downloads-2133155.html.
Android Studio is bundled with Android Software Development Kit (SDK). Please navigate to
the official download site located at: https://developer.android.com/studio/index.html. The
download link for the Windows version is shown at the top of this site but if you scrolldown, you
can find the setup files available for download for other operating systems as shown in Figure
1.2.
Installation of Emulators
Emulators are software that mimics the behavior of real devices. When we develop an
app, we obviously won’t have all the possible devices (Android phones, tablets, etc.)
available at hand. Because of this, we run the apps on emulators for testing on various
devices. Emulators are also called as “Android Virtual Devices (AVDs)” in Android
Studio. When Android Studio is first installed, there is no default AVD. We need to
create one before testing our apps. For this, select Tools à Android AVD Manager as
shown in Figure 2.6.
Figure 7. Launching AVD manager
When AVD Manager appears, there won’t be any AVDs created or installed. Please click
on the + Create a Virtual Device button as shown below:
Within the Android SDK Tools screen, make sure that the following packages are listed as
Google Repository
In the event that any of the above packages are listed as Not Installed or requiring an update,
simply select the checkboxes next to those packages and click on the Apply button to initiate the
installation process.
Once the installation is complete, review the package list and make sure that the selected
packages are now listed as Installed in the Status column. If any are listed as Not installed, make
sure they are selected and click on the Install packages… button again.
An alternative to using the Android SDK settings panel is to access the Standalone SDK
Manager which can be launched using the link in the lower left-hand corner of the settings
screen. The Standalone SDK Manager (Figure 1.13.) provides a similar list of packages together
with options to perform update and installation tasks:
Once the location of the SDK has been identified, the steps to add this to the PATH variable is
operating system dependent.