37
Android Presentation of mobile platform

Android Mobile Platform

Embed Size (px)

Citation preview

Page 1: Android Mobile Platform

Android

Presentation of mobile platform

Page 2: Android Mobile Platform

Index

• Introduction to android

• Development enviroment

• Building blocks

• Performance

Page 3: Android Mobile Platform

Introduction to android

• What is android ?

• Android – J2ME - iPhone

• Features

Page 4: Android Mobile Platform

What is android ?

• Android literally means “Robot with human qualities”

• First open source mobile platform

• Software stack

– Operating system

– Middleware

– Key applications

– Rich set of APIs

Page 5: Android Mobile Platform

Android linux kernel

• Android is not linux

• Based on linux 2.6, providing

– Security

– Memory managment

– Process managment

– Network stack

– Driver model

– Abstraction layer

Page 6: Android Mobile Platform

Unique platform characteristics

• Open source

• Android market

• “all applications are equal” model

• Dalvik virtual mashine

Optimized for mobile

Page 7: Android Mobile Platform

Arhitecture

Page 8: Android Mobile Platform

Android - J2ME – iPhone

Foundation

Distribution

SDK cost

Performance

Android

Java

Market

Free

Average

J2ME

J2ME or Java FX

Free

Free

Average

iPhone

Objective C or Java

App store Hype

Free

Best

Page 9: Android Mobile Platform

Features

• Localization

• Widgets

• Security

• Animations

• Multimedia

• Customization

• Compas

• OpenGL ES

Page 10: Android Mobile Platform

Localization

• GoogleMaps

• StreetView

• Language localization

Page 11: Android Mobile Platform

Google Maps

• External library

(com.google.android.maps)

• Maps API Key

• Routing in 2.1

Page 12: Android Mobile Platform

StreetView

• 3D view

• Virtual look of city

Page 13: Android Mobile Platform

Localization

• Default resources

• Done without programming

– res/values/strings.xml

– res/values-fr/strings.xml

• Depends on locale setting on phone

Page 14: Android Mobile Platform

Widgets

• Home screen

• Most important or

timely information

• Provided standard

design

Page 15: Android Mobile Platform

Security and permissions

• AndroidManifest.xml

– Control file

– “Glue” together Activitys

– Specifies permissions

Page 16: Android Mobile Platform

Animations

• In/Out animations

• Alpha-transparency

• Rotate

• Scale

• Translate

• Combination of all 4

Page 17: Android Mobile Platform

Audio and video

• Playback

– MediaPlayer

• Recording

– MediaRecorder

• JET content

Page 18: Android Mobile Platform

Bluetooth

• Network stack for data exchange

• Scan other devices

• Establish RFCOMM channels

• Connect via service discovery

• Manage multiple connections

Page 19: Android Mobile Platform

Style and themes

• Defined in resources

• Changing between themes

• Runtime change

Page 20: Android Mobile Platform

Screen orientation

• Live change

• Landscape / portrait

Page 21: Android Mobile Platform

Development enviroment

• Eclipse

• Plug-ins

• Emulator

Page 22: Android Mobile Platform

Eclipse

Eclipse is an extensible development platform

• Extended with plug-ins

• Lightweight plug-ins

• Common used IDE

• Emulator

Page 23: Android Mobile Platform

Plug-ins

• Android SDK

– Platforms

– Add-ons

– Tools

– API-documentation

• Android ADT

– ADT- Android Development Tools

– Accesing DDMS tool

Page 24: Android Mobile Platform

Emulator

• Ability to

– Prototype

– Develop

– Test

• AVD configurations

• Debuging

Page 25: Android Mobile Platform

Google applications

• Android browser

• Android dialer

Page 26: Android Mobile Platform

Custom components

• Fundamental classes View and ViewGroup

• Button, TextView, EditText ...

• Own View subclass

• Attributes and parameters from XML

Page 27: Android Mobile Platform

Building blocks

AndroidManifest.xml

Act

ivit

ies

Vie

ws

Inte

nts

Serv

ices

No

tifi

cati

on

s

Co

nte

ntP

rovi

der

s

Page 28: Android Mobile Platform

Activities

• Stacked like a deck

of cards

• Only one is visible

• Ony one is active

• New activities are

placed at top

Page 29: Android Mobile Platform

Activities lifecyle

Rectangles are callbacks where we can implement operationsperformed on state changes

Page 30: Android Mobile Platform

Activities states

• Active

– At the top of the stack

• Paused

– Lost focus but still visible

– Can be killed

• Stopped

– Not at the top of the stack

• Dropped

– Killed to reclaim its memory

Page 31: Android Mobile Platform

Views

• Basic class for UI components

• Respond to events

• Described in XML in layout resources

• Organized as trees to build up GUIs

Page 32: Android Mobile Platform

Intent

• Used to move between Activities

• Describes what the application wants

• Provides late runtime binding

• Primary information

– Action ( ACTION_VIEW, ACTION_EDIT...)

– Data ( Data to operate on expressed as Uri)

Page 33: Android Mobile Platform

Services

• Run in background

• Don’t interact with the user

• Run on the main thread of the process

• Run as long as

– Is started

– Has connections

Page 34: Android Mobile Platform

Notifications

• Notify user about events

• Sent through NotificationManager

• Types

– Persistent icon

– Turning leds

– Sound or vibration

Page 35: Android Mobile Platform

Content provider

• Objects that can – Retrieve data

– Store data

• Data is available to all applications

• Only way to share data between packages

• Usually the backend is SQLite

• Data exposed as a unique URI

Page 36: Android Mobile Platform

Android key points

• Open source platform

• Android Apps Market

• Google Power Products

– Google voice

– Google maps

• Rapidly increasing market share

Page 37: Android Mobile Platform

Primož Fideršek

Software engineer

[email protected]

www.tridens.si

37

Copyright (c) 2010 Tridens d.o.o. All rights reserved. Logotype is a registered trademark of Tridens d.o.o.

All other names/logos may be registered trademarks of their respective owners.