Getting Started with Android - OSSPAC 2009
Upcoming SlideShare
Loading in...5
×
 

Getting Started with Android - OSSPAC 2009

on

  • 12,962 views

Getting Started with Android

Getting Started with Android
OSSPAC conference
Singapore
February 17 2009

Statistics

Views

Total Views
12,962
Views on SlideShare
12,949
Embed Views
13

Actions

Likes
13
Downloads
1,125
Comments
0

2 Embeds 13

http://www.slideshare.net 12
http://ig.gmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Getting Started with Android - OSSPAC 2009 Getting Started with Android - OSSPAC 2009 Presentation Transcript

  • Getting Started with Android Sean Sullivan OSSPAC 17 February 2009
  • 05 February 2009 Singapore Telecommunications Limited (SingTel) and HTC Corporation, a global leader in mobile phone innovation and design, today unveiled the first Android™ powered mobile phone released in Asia - the HTC Dream™
  • What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google
  • August 2005 Google acquires Android November 2007 Open Handset Alliance announcement Android SDK available
  • Open Handset Alliance
  • September 2008 HTC and T-Mobile announce G1 October 2008 Android SDK 1.0 Android Market goes live G1 available in retail stores in USA
  • Technical specs • Qualcomm MSM7201A, 528 MHz • ROM 256 MB • RAM 192 MB • 4.60 in x 2.16 in x 0.62 in • 158 grams • Lithium Ion battery,1150 mAh • WiFi 802.11 b/g
  • Technical specs • 3G (HSDPA) • quad band GSM • touch screen, HVGA 320x480 • QWERTY keyboard • 3.2 megapixel camera • microSD expansion slot • GPS, compass, accelerometer
  • Third party applications lifeaware.net Maverick Android Locale
  • Android applications • multiple applications, running simultaneously • user may switch between running applications • background services • copy and paste
  • Distributing Android apps • Android Market • self-publish on your own web site • use a 3rd party application store
  • Android Market
  • 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/
  • Self-publishing • upload application to your own web server http://icecondor.com/download/icecondor-v20090201.apk • use correct MIME type application/vnd.android.package-archive
  • System Architecture
  • Open source project • http://source.android.com • Apache 2.0 and GPL v2 • Git repository
  • Android applications • are written in the Java language • run on the Dalvik virtual machine • Android != J2ME
  • 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
  • Application API’s java.util.* java.io.* Java java.lang.* etc android.widget.* UI android.view.* android.graphics.* Telephony android.telephony.* SMS android.telephony.gsm.SmsManager
  • Application API’s Web android.webkit.WebView Camera android.hardware.CameraDevice Local database android.database.* Maps com.google.android.maps.MapView Location android.location.LocationManager Multimedia android.media.MediaPlayer HTTP org.apache.http.client.*
  • Getting started http://developer.android.com
  • Development tools • Java SDK • Android SDK • Eclipse • Eclipse plugin
  • Android SDK • Android emulator • command line tools • documentation • example applications
  • Command line tools • aapt - Android asset packaging tool • adb - Android debug bridge • aidl - Android IDL compiler • emulator - Android emulator
  • Android emulator
  • Eclipse plugin https://dl-ssl.google.com/android/eclipse/
  • Android applications • application package file: myapp.apk • an application is composed of one or more activities
  • 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
  • android.app.Activity import android.app.Activity; public class MyActivity extends Activity { public void onCreate(Bundle savedValues) { super.onCreate(savedValues); setContentView(R.layout.main); } }
  • Application building blocks • • AndroidManifest.xml Intents & IntentReceivers • Activities • Services • Views • Notifications • Layouts • ContentProviders
  • Manifest file <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <manifest xmlns:android=quot;http://schemas.android.com/apk/res/androidquot; package=quot;com.my_domain.app.helloactivityquot;> <application android:label=quot;@string/app_namequot;> <activity android:name=quot;.HelloActivityquot;> <intent-filter> <action android:name=quot;android.intent.action.MAINquot;/> <category android:name=quot;android.intent.category.LAUNCHERquot;/> </intent-filter> </activity> </application> </manifest> AndroidManifest.xml
  • UI development • XML • Java code
  • Android UI XML <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <LinearLayout xmlns:android=quot;http://schemas.android.com/apk/res/androidquot; android:orientation=quot;verticalquot; android:layout_width=quot;fill_parentquot; android:layout_height=quot;fill_parentquot; > <TextView android:layout_width=quot;fill_parentquot; android:layout_height=quot;wrap_contentquot; android:text=quot;Hello Worldquot; /> </LinearLayout>
  • Android Views a view is an object that knows how to draw itself on the screen
  • ListView
  • DatePicker
  • MapView
  • Additional topics • • Threading Android IDL (AIDL) • • Security model Data synchronization • • Internationalization WiFi API • • Power management Bluetooth API
  • What’s next for Android? • more phones • virtual keyboard • Bluetooth A2DP • multi-touch?
  • Questions?
  • Thank you
  • 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