You are on page 1of 36

Introduction to

Development of Mobile
Applications

1
History of Mobile Software development
In 1983

2
3
WHAT IS A “SMARTPHONE”
• Phone that offers features beyond making calls
• E-mail
• Take pictures
• Plays mp3
• …
• Phone that runs a complete Operating System
• Offers a standardized platform for development
• Able to execute arbitrary 3rd party applications
4
QUICK FACTS
• Today Cell phones in use is more than 1.7
billion

• Smartphones account for more than 500


Million

• In last three years 300% Smartphone growth


is observed.
5
The Open Handset Alliance
• The Open Handset Alliance (OHA) was formed in
November 2007
• The OHA is a business alliance comprised of many of
the largest and most successful mobile companies.

• Its members include chip makers, handset


manufacturers, software developers, and service
providers.

• The entire mobile supply chain is well represented.


• OHA is a group of companies allowed to use open
source code of Android and develop applications.
6
OHA
• Manufacturers: Designing the Android
Handsets
• Mobile Operators: Delivering the Android
Experience
• Content Providers: Developing Android
Applications

7
Android Introduction

• A Software platform and Linux Kernel based operating system for mobile.

• Android is Open Source means it is made freely available and may be


redistributed and modified.

• Android was developed in 2003 by Andy Rubin , the father of Android.

• Android was developed by the Andy Rubin, Rich Miner, Nick Sears and
Chris White as a part of Android Inc. – a Start Up.

• Android Inc. was acquired by GOOGLE in AUGUST, 2005 for $50 million.
Google hosts the Android open source project and provides online Android
documentation,
tools, forums, and the Software Development Kit (SDK) for developers. All
major Android news originates at Google.

• 8
Android & It’s Features
1. Free and Open Source
2. Familiar and Inexpensive Development Tools
3. Freely Available Software Development Kit
4. Familiar Language, Familiar Development
Environments
5. Reasonable Learning Curve for Developers
6. Enabling Development of Powerful
Applications
7. Rich, Secure Application Integration
8. No Costly Obstacles to Publication
9. A “Free Market” for Applications

9
• Application framework enabling reuse and replacement of components
 Integrated browser based on the open source WebKit engine
 Optimized graphics powered by a custom 2D graphics library; 3D graphics based
on the OpenGL ES 1.0 specification (hardware acceleration optional)
 SQLite is used for structured data storage
 Media support for common audio, video, and still image formats (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF) and Voice Search
 GSM Telephony (hardware dependent)
 NFC, Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
 Camera, GPS, compass, and accelerometer (hardware dependent)

10
Android Platform Differences
• Complete:
a secure operating system and built a robust software framework on top
that allows for rich application development opportunities.

• Open: The Android platform is provided through open source licensing.


Developers
• Have access to the handset features when developing applications.

• Free: Android applications are free to develop. There are no licensing or


royalty fees
• to develop on the platform. No required membership fees. No required
testing fees.
• No required signing or certification fees. Android applications can be
distributed and commercialized in a variety of ways.

11
Android Releases

Available from
November 3rd
2014 12
Android Architecture

13
Android Architecture
Android Architecture

14
Android Architecture

15
Android Architecture
Linux kernel version is 2.6
 This layer is the core of android architecture.
The Linux 2.6 kernel handles core system services and acts as a hardware abstraction
layer (HAL) between the physical hardware of the handset and the Android software
stack.
 It provides services like power management, memory management, security
etc.,
 And binder for process communication.
the core functions the kernel handles include
n Enforcement of application permissions and security

n Low-level memory management

Process management and threading


n The network stack
n Display, keypad input, camera,Wi-Fi, Flash memory, audio, and binder (IPC)
driver access

16
Native Libraries
 Android has its own libraries, which is written in C/C++ like web libraries to access
web browser, libraries for android video formats.
 Application framework access these libraries

Application Framework
This is the toolkit that enables all the applications use and written in a Java
programming language.

17
Security and Permissions
• Applications as Operating System Users
• Explicitly Defined Application Permissions
• Limited Ad-Hoc Permissions
• Application Signing for Trust Relationships
• Marketplace Developer Registration

18
Android Application Runtime
Environment
• Each Android application runs in a separate
process, with its own instance of the Dalvik
• virtual machine (VM). Based on the Java VM,
the Dalvik design has been optimized for
• mobile devices.The Dalvik VM has a small
memory footprint, and multiple instances of
• the Dalvik VM can run concurrently on the
handset.

19
Android Runtime

Takes time to launch an


app,
Less device storage

Takes very less time to launch an app,


More device Storage.
Note : Introduced in Kitkat version. Now its
Dead in Lollipop version
20
Setting up the Environment

21
Setting up & Configuring Your
Development Environment
• To develop Android applications, the following software’s are installed on the computer:

• The Java Development Kit (JDK) Version 6 or latest, available for download at
http://java.sun.com/javase/downloads/index.jsp.

• A compatible Java IDE such as Eclipse along with its JDT plug-in, available for
download at http://www.eclipse.org/downloads/.

• The Android SDK, tools and documentation, available for download at


http://developer.android.com/sdk/index.html.

• The Android Development Tools (ADT) plug-in for Eclipse, available for
download through the Eclipse software update mechanism. For instructions on how
to install this plug-in, see http://developer.android.com/sdk/eclipse-adt.html.
This tool is optional and its used based on the requirement.

• A complete list of Android development system requirements is available at


http://developer.android.com/sdk/requirements.html.
• Installation instructions are at http://developer.android.com/sdk/installing.html.

22
Setting Up your Android Development Environment

1. To develop applications for Android platform, you need


 Java SE Development Kit (JDK),
 Android SDK Integrated IDE (Android Studio)

2. Download the Android Studio


http://developer.android.com/sdk/index.html

23
Just 25$ for Registration.
https://play.google.com/app
s/publish/signup/

upload free /
paid apps.

24
25
26
Android Tools
• Android SDK provides many tools to design, develop,
debug, and deploy Android applications.

• The Eclipse Plug-In incorporates these tools into


development environment and provides various wizards
for creating and debugging Android projects.

• Settings for the ADT plug-in are found in Eclipse under


Window, Preferences, Android.

 set the disk location where the Android SDK and Tools
are installed , as well as numerous other build and
debugging settings.
27
1. Android SDK and AVD Manager
• The Android SDK and AVD Manager is a tool
integrated into Eclipse.
• This tool performs two major functions:
1.management of multiple versions of the
Android SDK on the development machine
2.management of the developer’s Android
Virtual Device (AVD) configurations.

28
29
2 .Android Emulator
• The Android emulator is one of the most
important tools provided with the Android
SDK.
• this tool is frequently used when designing
and developing Android applications.
• The emulator runs on the computer and
behaves much as a mobile device would.
• Android applications are loaded into the
emulator, test, and debug them.
30
31
3. Dalvik Debug Monitor Server
(DDMS)
• The Dalvik Debug Monitor Server (DDMS) is a
command-line tool that has also been
integrated into Eclipse.
• This tool provides direct access to the device—
whether it’s the emulator virtual device or the
physical device.
• DDMS is used to view and manage processes
and threads running on the device, view heap
data, attach to processes to debug, and a
variety of other tasks.
32
33
4.Android Debug Bridge (ADB)
• The Android Debug Bridge (ADB) is a client-
server tool used to enable developers to debug
Android code on the emulator and the device
using a standard Java IDE such as Eclipse.
• The DDMS and the Android Development Plug-
In for Eclipse both use the ADB to facilitate
interaction between the development
environment and the device (or emulator).

34
5. Android Hierarchy Viewer
• The Android Hierarchy Viewer is a visual tool
that illustrates layout component
relationships
• It helps developers design and debug user
interfaces.
• Developers uses this tool to inspect the View
properties and develop pixel-perfect layouts.

35
36

You might also like