Professional Documents
Culture Documents
Unit 1 - 1 - AndroidIntroduction - SettingUpYourEnvironment PDF
Unit 1 - 1 - AndroidIntroduction - SettingUpYourEnvironment PDF
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
7
Android Introduction
• A Software platform and Linux Kernel based operating system for mobile.
• 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.
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
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
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 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.
22
Setting Up your Android Development Environment
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.
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