Domo Arigato Mr. Roboto - Open Source Bridge 2009

42
Domo Arigato Mr. Roboto Sean Sullivan June 17, 2009

description

introduction to Android Open Source Bridge June 17 2009 Portland, Oregon

Transcript of Domo Arigato Mr. Roboto - Open Source Bridge 2009

Page 1: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Domo Arigato Mr. Roboto

Sean SullivanJune 17, 2009

Page 2: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Wednesday June 17

3:50 PM - Morrison Domo Arigato Mr. Roboto

Thursday June 18

11:20 AM - Hawthorne Android Location Services

Page 3: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android is a software stack for mobile devices that includes an operating system, middleware and key applications

source: Google

Page 4: Domo Arigato Mr. Roboto - Open Source Bridge 2009
Page 5: Domo Arigato Mr. Roboto - Open Source Bridge 2009

source: NY Times, May 27 2009

Page 6: Domo Arigato Mr. Roboto - Open Source Bridge 2009

August 2005

Google acquires Android

November 2007

Open Handset Alliance announcement

Android SDK available

Page 7: Domo Arigato Mr. Roboto - Open Source Bridge 2009

September 2008

HTC and T-Mobile announce G1

October 2008

Android 1.0

Android Market goes live

G1 available in retail stores in USA

Android open source project

Page 8: Domo Arigato Mr. Roboto - Open Source Bridge 2009

February 2009

Android 1.1

HTC and Vodafone announce HTC Magic

April 2009

Android 1.5

HTC Magic available in Spain

Page 9: Domo Arigato Mr. Roboto - Open Source Bridge 2009
Page 10: Domo Arigato Mr. Roboto - Open Source Bridge 2009

June 2009

Acer joins Open Handset Alliance

Huawei announces U8230

Page 11: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Huawei U8230

source: http://www.huawei.com/news/view.do?id=10855&cid=42

Page 12: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android applications

• multiple applications, running simultaneously

• user may switch between running applications

• background services

• copy and paste

Page 13: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Third party applications

lifeaware.net Maverick Android Locale

Page 14: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Distributing Android apps

• Android Market

• self-publish on your own web site

• use a 3rd party application store

Page 15: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android Market

Page 16: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android Market

• US$25 registration fee for developers

• developer receives 70% of each sale

• remaining amount goes to carriers

• Google does not take a percentage

• http://www.android.com/market/

Page 17: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Self-publishing

• upload application to your own web serverhttp://icecondor.com/download/icecondor-v20090201.apk

• use correct MIME type

application/vnd.android.package-archive

Page 18: Domo Arigato Mr. Roboto - Open Source Bridge 2009

System Architecture

Page 19: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Open source project

• http://source.android.com

• Apache 2.0 and GPL v2

• Git repository

Page 20: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android applications

• are written in the Java language

• run on the Dalvik virtual machine

• Android != J2ME

Page 21: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Dalvik VM

• not a Java VM

• design constraints: slow CPU, little RAM

• will run on OS without swap space

• http://sites.google.com/site/io/dalvik-vm-internals

Page 22: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Application API’s

Java

java.util.* java.io.*

java.lang.*etc

UIandroid.widget.*android.view.*

android.graphics.*

Telephony android.telephony.*

SMS android.telephony.gsm.SmsManager

Page 23: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Application API’s

Web android.webkit.WebView

Camera android.hardware.CameraDevice

Local database android.database.*

Maps com.google.android.maps.MapView

Location android.location.LocationManagerMultimedia android.media.MediaPlayer

HTTP org.apache.http.client.*

Page 24: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Getting started

http://developer.android.com

Page 25: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Development tools

• Java SDK

• Android SDK

• Eclipse

• Eclipse plugin

Page 26: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android SDK

• Android emulator

• command line tools

• documentation

• example applications

Page 27: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android emulator

Page 28: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Eclipse plugin

https://dl-ssl.google.com/android/eclipse/

Page 29: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android applications

• application package file: myapp.apk

• an application is composed of one or more activities

Page 30: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Activity

• an activity is usually a single screen in your application

• however, activities can also be faceless

• one activity is designated as the entry point for your application

Page 31: Domo Arigato Mr. Roboto - Open Source Bridge 2009

android.app.Activity

import android.app.Activity;

public class MyActivity extends Activity { public void onCreate(Bundle savedValues) { super.onCreate(savedValues); setContentView(R.layout.main); }

}

Page 32: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Application building blocks

• AndroidManifest.xml

• Activities

• Views

• Layouts

• Intents & IntentReceivers

• Services

• Notifications

• ContentProviders

Page 33: Domo Arigato Mr. Roboto - Open Source Bridge 2009

UI development

• XML

• Java code

Page 34: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android Views

a view is an object that knows how to draw itself on the screen

Page 35: Domo Arigato Mr. Roboto - Open Source Bridge 2009

ListView

Page 36: Domo Arigato Mr. Roboto - Open Source Bridge 2009

DatePicker

Page 37: Domo Arigato Mr. Roboto - Open Source Bridge 2009

MapView

Page 38: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Additional topics

• Threading

• Security model

• Internationalization

• Power management

• Android IDL (AIDL)

• Data synchronization

• WiFi API

• Bluetooth API

Page 39: Domo Arigato Mr. Roboto - Open Source Bridge 2009

What’s next for Android?

• more phones

• text to speech API

• “Donut”

Page 40: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Questions?

Page 41: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Thank you

Page 42: Domo Arigato Mr. Roboto - Open Source Bridge 2009

Android resources

• http://developer.android.com

• http://android-developers.blogspot.com

• http://code.google.com/p/apps-for-android/

• http://sites.google.com/site/io/

• http://www.openhandsetalliance.com

• http://source.android.com