Your SlideShare is downloading. ×
0
Getting started with Google Android       Sean Sullivan       July 21, 2008
Topics• Android platform• Developer tools• Android programming
Android November 5, 2007
What is Android?“Android is a software stack for mobile devicesthat includes an operating system, middlewareand key applic...
The Big Picture
Android applications• are written in the Java language• run on the Dalvik virtual machine
Dalvik VM• not a Java VM• design constraints: slow CPU, little RAM• will run on OS without swap space•   http://sites.goog...
Application API’s                        java.util.*                         java.io.*  J2SE                       java.la...
Application API’s    Web              android.webkit.WebView   Camera        android.hardware.CameraDeviceLocal database  ...
Demo
Getting started   http://code.google.com/android
Development tools• Android SDK• 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
Emulator limitations•   No support for placing or receiving actual phone    calls•   No support for camera/video capture (...
Eclipse pluginhttps://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 activ...
android.app.Activityimport android.app.Activity;public class MyActivity extends Activity{    public void onCreate(Bundle s...
Application            building blocks•   AndroidManifest.xml   •   Intents &                              IntentReceivers...
Manifest file<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    ...
Implementing your     application UI• Java code• XML
Android UI: XML<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro...
Android UI: Views• an object that knows how to draw itself on  the screen• examples: •   android.widget.ListView •   andro...
Intents• “an Intent is a simple message object that  represents an ‘intention’ to do something”• “an intent is an abstract...
android.content.Intent• VIEW_ACTION• EDIT_ACTION• PICK_ACTION• WEB_SEARCH_ACTION• SYNC_ACTION• ...
Application Contextandroid.app.ApplicationContext •   startActivity(Intent) •   getSystemService •   createDatabase •   op...
Additional topics•   Threading              •   AIDL - Android IDL•   Security model         •   Data synchronization•   I...
Android resources• http://code.google.com/android/• http://android-developers.blogspot.com• http://code.google.com/p/apps-...
Upcoming SlideShare
Loading in...5
×

Androidoscon20080721 1216843094441821-9

279

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
279
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Androidoscon20080721 1216843094441821-9"

  1. 1. Getting started with Google Android Sean Sullivan July 21, 2008
  2. 2. Topics• Android platform• Developer tools• Android programming
  3. 3. Android November 5, 2007
  4. 4. What is Android?“Android is a software stack for mobile devicesthat includes an operating system, middlewareand key applications”
  5. 5. The Big Picture
  6. 6. Android applications• are written in the Java language• run on the Dalvik virtual machine
  7. 7. 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
  8. 8. Application API’s java.util.* java.io.* J2SE java.lang.* etc android.widget.* UI android.view.* android.graphics.*Telephony android.telephony.IPhone SMS android.telephony.gsm.SmsManager
  9. 9. Application API’s Web android.webkit.WebView Camera android.hardware.CameraDeviceLocal database android.database.* Maps com.google.android.maps.MapView Location android.location.LocationManager Multimedia android.media.MediaPlayer HTTP org.apache.http.client.*
  10. 10. Demo
  11. 11. Getting started http://code.google.com/android
  12. 12. Development tools• Android SDK• Eclipse plugin
  13. 13. Android SDK• Android emulator• command line tools• documentation• example applications
  14. 14. Command line tools• aapt - Android asset packaging tool• adb - Android debug bridge• aidl - Android IDL compiler• emulator - Android emulator
  15. 15. Android emulator
  16. 16. Android emulator
  17. 17. Emulator limitations• No support for placing or receiving actual phone calls• No support for camera/video capture (input)• No support for audio input• No support for determining connected state• No support for determining battery charge level• No support for Bluetooth
  18. 18. Eclipse pluginhttps://dl-ssl.google.com/android/eclipse/
  19. 19. Android applications• application package file: myapp.apk• an application is composed of one or more activities
  20. 20. 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
  21. 21. android.app.Activityimport android.app.Activity;public class MyActivity extends Activity{ public void onCreate(Bundle savedValues) { super.onCreate(savedValues); setContentView(R.layout.main); }}
  22. 22. Application building blocks• AndroidManifest.xml • Intents & IntentReceivers• Activities • Services• Views • Notifications• Layouts • ContentProviders
  23. 23. Manifest file<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my_domain.app.helloactivity"> <application android:label="@string/app_name"> <activity android:name=".HelloActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest> AndroidManifest.xml
  24. 24. Implementing your application UI• Java code• XML
  25. 25. Android UI: XML<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World" /></LinearLayout>
  26. 26. Android UI: Views• an object that knows how to draw itself on the screen• examples: • android.widget.ListView • android.widget.DatePicker • android.widget.Button • android.widget.ImageView
  27. 27. Intents• “an Intent is a simple message object that represents an ‘intention’ to do something”• “an intent is an abstract description of an operation to be performed”
  28. 28. android.content.Intent• VIEW_ACTION• EDIT_ACTION• PICK_ACTION• WEB_SEARCH_ACTION• SYNC_ACTION• ...
  29. 29. Application Contextandroid.app.ApplicationContext • startActivity(Intent) • getSystemService • createDatabase • openDatabase • deleteDatabase • ...
  30. 30. Additional topics• Threading • AIDL - Android IDL• Security model • Data synchronization• Internationalization • API for WiFi• Power management
  31. 31. Android resources• http://code.google.com/android/• http://android-developers.blogspot.com• http://code.google.com/p/apps-for-android/• http://sites.google.com/site/io/• http://www.openhandsetalliance.com/• http://git.android.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×