Androidoscon20080721 1216843094441821-9

617 views
535 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
617
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×