2. Agenda
Programming for Mobile Devices
Google Android – an Introduction
Android – Architecture
Android – Basics
Basic Code Demos
Discussions
3. Programming for Mobile
Devices
Q: Why Mobile Devices are Better then
Computers.
The Advantages of Mobile Computing
Handheld Device access to any required information
Contacts, Calendar, Quick Notes, Photo & Video, Music…
Feature Phones, Smart Phones and PDA
Business Opportunities – Design, Development,
Testing
Edutainment, Business, Infotainment, Social
Networking
Constraints
Small Size and Low power Handsets
Operating Systems, Screen Size, Memory, Processor,
4. Mobile Operating Systems
Quick Review
Symbian OS – Nokia / Samsung [Feature
Phones/ Smart Phones]
I-Phone – Apple iOS
Black berry – Research In Motion [RIM]
Blackberry OS
Android – Google Android OS
Windows Mobile – Microsoft Windows CE /
Windows Phone 7
5. The Business Market of Android
Share of worldwide 2011 Q2 Smartphone
sales to end users by operating system,
according to Gartner. Gartner, Inc.
(NYSE: IT) is an information technology
research and advisory firm
headquartered in Stamford, Connecticut,
United States.
6. Google Android – An
Introduction
Originally released in 2008
Open Source Platform - Android Open Source
Project (AOSP) – from Google Code Project
Hardware Support – Intel, ARM, HTC, Motorola
and Samsung
Google's proprietary applications - Maps,
Calendar, and Gmail, and a full HTML web
browser [a different version of Google Chrome].
Android App Store – User Generated Apps
Jan 2010 – Nexus One Phone with Android OS –
by Google Inc.
7. Android Version History
2.0 (Eclair)
New web browser,
Updated User interface
Support for HTML5 and the W3C Geolocation API.
Enhanced camera app with features like digital zoom,
flash, color effects, and more.
2.1 (Eclair)
Support for voice controls throughout the entire OS.
Launcher, with 5 home-screens, animated
backgrounds
Weather app, and improved functionality in the Email
and Phonebook apps.
8. Android Version History
2.2 (Froyo)
Performance improvements with JIT optimization and
the Chrome V8 JavaScript engine, and added Wi-Fi
hotspot tethering and Adobe Flash support
2.3 (Gingerbread)
Enhanced User interface, improved the soft keyboard and
copy/paste features, and added support for Near Field
Communication
3.0 (Honeycomb)
tablet-oriented larger screen devices and introduces many
new user interface features
supports multi-core processors and hardware acceleration
for graphics.
9. Android Version History
3.1 (Honeycomb)
Google I/O to allow honeycomb devices to
directly transfer content from USB devices
3.2 (Honeycomb)
incremental release
Optimization for a broader range of screen sizes
Load media files directly from the SD card
Future releases that have been announced
include:
4.0(Ice Cream Sandwich) is said to be a
combination of Gingerbread and Honeycomb into
a "cohesive whole". It will be released in Q4 2011
11. Important features of Android
VGA, 2D Graphics Support. 3D Graphics with
OpenGL 2.0 Libraries
Relational Data Storage with SQL-Lite
Connectivity: GSM/Edge, CDMA, Bluetooth,
WiMAX, Wi-Fi
SMS, MMS and Push Messaging
WebKit – Chrome V8 Javascript Engine Browser
Audio, Video, Image – all mobile formats
Streaming Media Support [RTSP]
Video Calling and Voice based Features
Complete Multi-Tasking
13. Android Basics
View
UI Element
Button, Label, Text Field … etc
Activity
Single Screen UI
Intent
Method + Process to do any Task
Launch an Activity or Send a Message, etc
Content Provider
Data Sharing Connectivity between apps.
Service
Background Process
Local
Local services are components that are only accessible by the application that is hosting the service
Remote
remote services are services that are meant to be accessed remotely by other applications
running on the device.
14. AndroidManifest.xml
AndroidManifest.xml, which is similar to the web.xml
file in the J2EE world, defines thecontents and
behavior of your application. For example, it lists your
application’s activities and services, along with the
permissions the application needs to run.
Android Virtual Devices
An Android Virtual Device (AVD) allows developers to
test their applications without hooking up an actual
Android phone. AVDs can be created in various
configurations to emulate different types of real
phones.