Mobile Application Development with ANDROID

1,375 views

Published on

This presentation contains; Mobile Application Development (MAD), Platform architecture, Application building blocks, Development tools, Hello Android and Resources...

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,375
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mobile Application Development with ANDROID

  1. 1. Mobile Application Development with ANDROID
  2. 2. Agenda• Mobile Application Development (MAD)• Platform architecture• Application building blocks• Development tools• Hello Android• Resources
  3. 3. Few reasons to go MAD…• Smart Phones – Internet access anywhere – Social networking• Millions of mobile users• Open standards
  4. 4. Linux Kernel• Works as a HAL• Device drivers• Memory management• Process management• Networking
  5. 5. Libraries• C/C++ libraries• Interface through Java• Surface manager – Handling UI Windows• 2D and 3D graphics• Media codecs, SQLite, Browser engine
  6. 6. Android Runtime• Dalvik VM – Dex files – Compact and efficient than class files – Limited memory and battery power• Core Libraries – Java 5 Std edition – Collections, I/O etc…
  7. 7. Application Framework• API interface• Activity manager – manages application life cycle.
  8. 8. Applications• Built in and user apps• Can replace built in apps
  9. 9. Application Building Blocks• Activity• IntentReceiver• Service• ContentProvider
  10. 10. Activities• Typically correspond to one UI screen• But, they can: – Be faceless – Be in a floating window – Return a value
  11. 11. Intent Receivers• Components that respond to broadcast ‘Intents’• Way to respond to external notification or alarms• Apps can invent and broadcast their own Intent
  12. 12. Intents• Think of Intents as a verb and object; a description of what you want done – E.g. VIEW, CALL, PLAY etc..• System matches Intent with Activity that can best provide the service• Activities and IntentReceivers describe what Intents they can service
  13. 13. Services• Faceless components that run in the background – E.g. music player, network download etc…
  14. 14. Content Providers• Enables sharing of data across applications – E.g. address book, photo gallery• Provides uniform APIs for: – querying – delete, update and insert.• Content is represented by URI and MIME type
  15. 15. Development Tools• Eclipse• Android SDK developer.android.com
  16. 16. The Emulator • QEMU-based ARM emulator • Runs the same image as the device • Limitations: – No Camera support
  17. 17. Types ofAndroid Devices 18
  18. 18. HTC Droid Incredible Motorola Droid http://www.androidcentral.com/droid-incredible 19http://homebiss.blogspot.com/2009/11/motorola-droid-iphone-3gs.html
  19. 19. Galaxy Tablet • Retail: $250 with 2 year contract • 7-inch 1024 x 600-pixel LCD screen • 0.84 pounds • 7.48 x 4.74 x 0.47 inches • 1 GHz Coretx A8 processor • 512 MB RAM • 16 or 32 GB internal storage • Front and rear cameras 20http://www.samsung.com/us/mobile/galaxy-tab/SCH-I800BKAVZW
  20. 20. Android-Powered Microwave By Touch Revolution – at CES 2010 http://www.pocket-lint.com/news/30712/android-powered-microwave-cooking- google 21
  21. 21. Google Nexus One • Retail: $530 • Not tied to single provider • 3.7-inch 800 x 400-pixel OLED screen • No support for multitouch • 512 MB of built-in flash memory • Preloaded 4 GB SD card • Ubiquitous voice recognition • 5-megapixel camera with zoom and flash • Navigation system using Google Maps and GPS http://www.wired.com/reviews/product/pr_nexus_one 22
  22. 22. Hello World• Generating UIs – Views – building blocks – E.g. TextView, EditText, Button – Placed into Layouts – E.g. LinearLayout, TableLayout, AbsoluteLayout
  23. 23. Producing an Android AppJava javac Bytecode code dx Dalvik.java .class exe classes.dex aapt Byte code <xml> Other .class files AndroidManifest.xm .apk l <str > Resources 24
  24. 24. Hello Android Tutorial 25 http://developer.android.com/resources/tutorials/hello- world.html
  25. 25. Important Files• src/HelloAndroid.java – Activity which is started when app executes• res/layout/main.xml – Defines & lays out widgets for the activity• res/values/strings.xml – String constants used by app• gen/R.java (Don’t touch!) – Auto-generated file with identifiers from main.xml, strings.xml, and elsewhere• AndroidManifest.xml – Declares all the app’s components – Names libraries app needs to be linked against – Identifies permissions the app expects to be granted 26
  26. 26. src/HelloAndroid.java• Activity which is started when app executes 27
  27. 27. res/layout/main.xml• Declares layouts & widgets for the activity 28 Tree from: http://developer.android.com/guide/topics/ui/index.html
  28. 28. Interesting things to do• Android is open source• Opportunities for researchers• Get the source, compile and update the device image

×