Lecture03 - Mobile Development Application Process
The document discusses the mobile application development process. It covers choosing a mobile platform, familiarizing with the application framework for that platform, and knowing the specifications of target devices. The document uses Android as an example platform and describes its features and SDK components.
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
23 views
Lecture03 - Mobile Development Application Process
The document discusses the mobile application development process. It covers choosing a mobile platform, familiarizing with the application framework for that platform, and knowing the specifications of target devices. The document uses Android as an example platform and describes its features and SDK components.
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22
Mobile Programming
Mobile Applications development Process
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. 3. Know the specifications of the device you will be developing the application for. 4. Explore available tools at hand and determine which will best help in developing the applications. Mobile Applications development Process
1. Choosing Mobile Platforms
Mobile applications Platform
Mobile platform is an hardware or software environment that
allow software and services to be run on mobile devices (Fling 2009). Examples of mobile platforms include: 1. Palm 2. BlackBerry 3. iPhone 4. Android 5. Windows Mobile. 6. iphone and Android dominates the smartphone and tablet universe Mobile applications Platform
Mobile operating systems is a type of mobile platform that
provide tools for allowing application to share data and services. Examples of mobiles OS includes: Palm OS,
Symbian,
Windows Mobile
Ios
Android.
NB: usually ‘mobile platforms’ and ‘mobile operating system’
are used interchangeably. Required Skills sets for Nine Mobile platforms Choosing Mobile Platform
The very first step in mobile application development is to decide
on which platform to build the application for. This may depend on the following factors: 1. Target users: The BlackBerry platform is known to be dominant in the enterprise market (Gohring 2010) . Therefore, if an application is targeted at enterprise users, BlackBerry may be your best choice, for now. Whereas, if the application is to be used by the mass market, you can decide to develop your application for platforms such as Android and iOS. Choosing Mobile Platform
2. Features: Each platform has some unique features that
determines its capabilities. These features needs to be considered when building mobile application. They include the following: 1. Operating system 2. Application framework 3. Native Libraries 4. Applications An Example of Mobile Platform : Android An Example of Mobile Platform : Android Platform
Features of Android Platform
1. Linux Kernel is the operating system of android that core system services and acts as a hardware abstraction layer (HAL) between the physical hardware of the device and the Android SDK. Some of the major functionalities include low level memory management, process management, networking and other OS related services. 2. Native Libraries are all shared libraries written in C or C++, compiled for the particular hardware architecture used by the phone. Some of the important libraries include OpenGL for 2D and 3D graphics, SQLite database and the WebKit library for browsing HTML content. Features of Android Platform
3. Android Runtime includes the Dalvik Virtual Machine (DVM)
and the core java libraries. Based on java VM, the Dalvik design has been optimized for the low memory requirements of mobile devices. It allows multiple VMs to run concurrently. 4. Application Framework: provides the high-level building blocks with which applications are created. The important classes are Activity manager that controls the life cycle of the applications, Location manager that provide location sensing options and Resource manager. 5. Applications: The highest layer in the Android architecture is the applications themselves. This consists of applications and widgets. Widgets are gadgets that operate only on a small area of the Home screen. Advantages of Android Mobile platform
1. Open: Applications created by developers can access handset
features or the same application framework as the core phone applications.
2. Free: the tools for developing android application are freely
available for download. It requires only a registration charge for publishing your applications for the first time. Consequent updates to the application are free of charge. Mobile Applications development Process
2. Familiarizing with the application framework for mobile platform.
Application framework for Android
Mobile application frameworks are set of class libraries that
provide developers an interface to build applications. • They consists of application programming interface (API) that allow developers to build applications that can execute on a certain mobile platform, inter-operate among themselves and with existing applications Examples of application frameworks include: 1. Java ME, 2. Cocoa Touch 3. Android SDK 4. and WebKit. Example of Application frameworks: Android SDK
Components of Android SDK
The application framework for android consists of the following Components 1. Activity manager: Manages the lifecycle of applications and provides a common navigation backstack 2. package manager: Keeps track what applications are installed in device 3. Window manager: Manages Windows Example of Application frameworks: Android SDK
Components of Android SDK
4.Telephony manager:Contains APIs used to build the phone application 5.content providers: Allows applications to share data with other applications (ex: contact info is available to others) 6. Resource manager: Used to store localized strings, bitmaps, layout file descriptions, etc. Example of Application frameworks: Android SDK
Components of Android SDK
7.View system: Contains all building blocks of the UI. Used to create input controls like command buttons, menus and text field 8. Location manager: Provides support for location-based services
9.Notification manager:Handles notification of users about events
that happen. It enables applications to display alerts in the status bar. Example of Application frameworks: Android SDK
Components of Android SDK
10. Extensible Messaging and Presence Protocol (XMPP) is An open XML technology for real-time communication (instant messaging, shared editing, etc). • XMPP service allows applications to transmit messages between devices. • It works with any gmail account and can used to deliver server to server messages. Mobile Applications development Process
Other tasks during mobile application Development process
Task 3. Knowing specifications of mobile devices to be used Task 4: Exploring Available tools Task 3. Knowing specifications of mobile devices to be used
Knowing specifications of the target device for the application
allows developer to provide a better user experience.
The device is used as the point of interaction between the
users and the mobile application Task 3. Knowing specifications of mobile devices to be used
Examples of device specifications to be known include:
1. Screen dimensions,
2. Position and orientation of buttons,
3. Processing power,
4. Graphics capabilities,
5. Multi-touch capabilities and others.
Task 4: Explore available tools
Exploring the available tools helps to determine the best tool
for developing the applications. Examples are: 1. Emulators: used to simulate mobile conditions on computers to
do some initial testing.
2. Integrated development environment (IDEs) provides full support
for mobile Applications e.g. Eclipse and android studio
3. Text Editors provides environment for editing program code.
Examples are: Note pad ++,sublime text and note pad.