Getting Started with Android - OSSPAC 2009

  • 10,181 views
Uploaded on

Getting Started with Android …

Getting Started with Android
OSSPAC conference
Singapore
February 17 2009

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,181
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1,126
Comments
0
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Getting Started with Android Sean Sullivan OSSPAC 17 February 2009
  • 2. 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™
  • 3. What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google
  • 4. August 2005 Google acquires Android November 2007 Open Handset Alliance announcement Android SDK available
  • 5. Open Handset Alliance
  • 6. 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
  • 7. 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
  • 8. Technical specs • 3G (HSDPA) • quad band GSM • touch screen, HVGA 320x480 • QWERTY keyboard • 3.2 megapixel camera • microSD expansion slot • GPS, compass, accelerometer
  • 9. Third party applications lifeaware.net Maverick Android Locale
  • 10. Android applications • multiple applications, running simultaneously • user may switch between running applications • background services • copy and paste
  • 11. Distributing Android apps • Android Market • self-publish on your own web site • use a 3rd party application store
  • 12. Android Market
  • 13. 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/
  • 14. 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
  • 15. System Architecture
  • 16. Open source project • http://source.android.com • Apache 2.0 and GPL v2 • Git repository
  • 17. Android applications • are written in the Java language • run on the Dalvik virtual machine • Android != J2ME
  • 18. 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
  • 19. 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
  • 20. 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.*
  • 21. Getting started http://developer.android.com
  • 22. Development tools • Java SDK • Android SDK • Eclipse • Eclipse plugin
  • 23. Android SDK • Android emulator • command line tools • documentation • example applications
  • 24. Command line tools • aapt - Android asset packaging tool • adb - Android debug bridge • aidl - Android IDL compiler • emulator - Android emulator
  • 25. Android emulator
  • 26. Eclipse plugin https://dl-ssl.google.com/android/eclipse/
  • 27. Android applications • application package file: myapp.apk • an application is composed of one or more activities
  • 28. 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
  • 29. android.app.Activity import android.app.Activity; public class MyActivity extends Activity { public void onCreate(Bundle savedValues) { super.onCreate(savedValues); setContentView(R.layout.main); } }
  • 30. Application building blocks • • AndroidManifest.xml Intents & IntentReceivers • Activities • Services • Views • Notifications • Layouts • ContentProviders
  • 31. 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
  • 32. UI development • XML • Java code
  • 33. 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>
  • 34. Android Views a view is an object that knows how to draw itself on the screen
  • 35. ListView
  • 36. DatePicker
  • 37. MapView
  • 38. Additional topics • • Threading Android IDL (AIDL) • • Security model Data synchronization • • Internationalization WiFi API • • Power management Bluetooth API
  • 39. What’s next for Android? • more phones • virtual keyboard • Bluetooth A2DP • multi-touch?
  • 40. Questions?
  • 41. Thank you
  • 42. 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