Mobile Programming
Introduction
Course Outline
Introduction to mobile Programming
Types and examples of mobile applications
Android stack
Activity life cycle
Components of a mobile application
User interface design
Introduction to XML
Input controls
Application resources
Data adaptors
Introduction to PHP
Data storage and retrieval
Terminologies
Mobile
Application
Mobile service
Mobile applications development
IDE
Mobile Platform
Mobile Applications Frameworks
Mobile Device
Mobile means “to move”
“able to move freely or easily”
“able or willing to move freely or
easily between occupations, places
of residence and social classes”
Mobile Device
Mobile Device refers to
portable, handheld communications
device connected to a wireless
network that allows users on move to
make voice calls, send text messages
and run applications.
Examples: mobile phones
NB: This definition does not include
laptops
Mobile Network
A mobile Network refers to a cellular network or a
communication network where the last link is wireless.
The network is distributed over
land areas called cells, each
served by at least one fixed-
location transceiver, known as
a cell site or base station. This
base station provides the cell
with the network coverage which
can be used for transmission of
voice, data and others.
The mobile switching station center (MSC) is a 2G core
network element which controls the network switching
subsystem elements.
Mobile Station
A mobile station (MS)
comprises all user equipment
and software needed
for communication with
a mobile network.
For example, a mobile phone
installed with calling and SMS
applications.
Mobile Service
Mobile service refers to a provision that is provided through mobile
devices. Examples are:
1. Short Messaging service(SMS): Provision of text messages to
mobile phones from the Internet or from other mobile devices.
Usually limited to 160 characters.
2. Multimedia Message Service (MMS): A media-rich extension of
SMS, which allows picture, sound or low-quality videos to be sent
on a wireless network.
3. Unstructured Supplementary Service Data (USSD) services are
initiated by the user, who enters a code on the mobile device and
then sends that as a request to the network.
Mobile Application
Mobile Application refers to software that is developed
specifically for smartphones and other mobile devices. Also
known as an app.
These mobile applications can be categorized into three types:
1. Native applications : installed on mobile devices with specific
platforms like android windows, symbian etc.
2. Mobile Web Applications (mobisite): Delivered using server-
side or client-side processing (e.g. JavaScript) to provide an
"application-like“ experience within a Web browser.
3. Hybrid apps : Native apps that combines elements of both
native and Web applications.
Mobile Application Development
Mobile application development refers the act or process by which
application software is developed for mobile devices,
Before developing a mobile application, the following factors needs
to be considered
1. Choosing the mobile platform to build the application for.
2. Familiarize with the application framework for that platform. Mobile
application frameworks. That is, set of class libraries that provide
developers an interface to build applications.
3. Know the specifications of the device you will be developing the
application for E.G. minimum speed, memory, screen size
4. Explore available tools at hand and determine which will best help in
developing the applications. e.g. IDE(eclipse, android studio), available
emulators that can be used to simulate mobile devices on desktops
during testing of applications
Mobile Application Development
Examples of important choices
1. If you want apps that work across multiple platforms, mobile
web apps are a better option.
2. If you want apps that access mobile device functionality (e.g.
camera ,onboard sensors), native apps are a better option.
3. If security is important, mobile web apps are a better option.
4. If you want to sell your apps, native apps are a better option.
5. If you want apps that integrate with existing systems and
databases, mobile web apps are a better option.
Integrated Development Environments(IDEs)
Integrated development Environments(IDEs) refers to a set of
developments tools that give a window interface to
edit/compile/run or view the output of a mobile application
They can also track projects and help generate code for user
interface components
They can be categorised into two categories:
1. Open IDEs are freely available IDEs e.g. Eclipse and Android
Studio for Android).
2. Proprietary IDE that requires subscription fees or licenses
examples: Xcode for iOS and MS Visual Studio for windows
phone.
Integrated Development Environments (IDEs)
IDEs consists of the following tools:
1. Program Editor
2. Compiler
3. Testing tools e.g. Emulator test management, unit tests)
4. Debugging tools
etc.
Mobile applications Platform
Mobile platform is a software environment that allow software and
services to be run on mobile devices (Fling 2009).
It is also called mobile operating system (Mobile OS).
Examples of mobile platforms include:
Android.
ios
Windows Mobile
Symbian
BlackBerry RIM
Samsung Bada
NB: Usually ‘mobile platforms’ and ‘mobile operating system’ are
used interchangeably.
Mobile application frameworks
Mobile application frameworks are set of class libraries that
provide developers an interface to build applications.
Examples are:
1. Java ME
2. Cocoa Touch
3. Android SDK
4. WebKit.
Applications are built using application frameworks on the
given platform.
Motivations of using Mobile device
1. It is potentially available to serve everywhere and any time since
it is portable.
2. They have been Interwoven into daily life . E.g. They are used as
utility when performing almost every activity such as work, play,
study etc.
3. It represents the user .e.g. through phone number.
4. Can be used to develop interactive applications that enables
users to communicate with others through feedback channels
e.g. social media.
5. Allow users to access multi-modal content such as video and
audio clips.
6. Content in the same file can be updated dynamically through
copy and paste features.
Mobile Application Development Challenges
No “standard” device. That is , there is no device for all
platform (iOS, Windows Phone devices)
Low bandwidth input in most cases
Limited screen size
Unreliability in connectivity
Small keyboard