Mobile Application Development  with ANDROID Tejas Lagvankar UMBC 29 April 2009
Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform...
Few reasons to go MAD… <ul><li>Smart Phones </li></ul><ul><ul><li>Internet access anywhere </li></ul></ul><ul><ul><li>Soci...
Introduction to Android <ul><li>Open software platform for mobile development </li></ul><ul><li>A complete stack – OS, Mid...
 
Linux Kernel <ul><li>Works as a HAL </li></ul><ul><li>Device drivers </li></ul><ul><li>Memory management </li></ul><ul><li...
Libraries <ul><li>C/C++ libraries </li></ul><ul><li>Interface through Java </li></ul><ul><li>Surface manager – Handling UI...
Android Runtime <ul><li>Dalvik VM </li></ul><ul><ul><li>Dex files </li></ul></ul><ul><ul><li>Compact and efficient than cl...
Application Framework <ul><li>API interface </li></ul><ul><li>Activity manager – manages application life cycle. </li></ul>
Applications <ul><li>Built in and user apps </li></ul><ul><li>Can replace built in apps </li></ul>
Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform...
Application Building Blocks <ul><li>Activity </li></ul><ul><li>IntentReceiver </li></ul><ul><li>Service </li></ul><ul><li>...
Activities <ul><li>Typically correspond to one UI screen </li></ul><ul><li>But, they can: </li></ul><ul><ul><li>Be faceles...
IntentReceivers <ul><li>Components that respond to broadcast ‘Intents’ </li></ul><ul><li>Way to respond to external notifi...
Intents <ul><li>Think of Intents as a verb and object; a description of what you want done </li></ul><ul><ul><li>E.g. VIEW...
Intents GMail Contacts Home Blogger Chat Client component makes a request for a specific action “ Pick photo” Picasa Syste...
Services <ul><li>Faceless components that run in the background </li></ul><ul><ul><li>E.g. music player, network download ...
ContentProviders <ul><li>Enables sharing of data across applications </li></ul><ul><ul><li>E.g. address book, photo galler...
Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform...
Development Tools <ul><li>Eclipse </li></ul><ul><li>Android SDK </li></ul><ul><ul><li>developer.android.com </li></ul></ul>
The Emulator <ul><li>QEMU-based ARM emulator </li></ul><ul><li>Runs the same image as the device </li></ul><ul><li>Limitat...
Devices
Hello World <ul><li>Generating UIs </li></ul><ul><ul><li>Views – building blocks </li></ul></ul><ul><ul><li>E.g. TextView,...
SAM Demo
Interesting things to do <ul><li>Android is open source </li></ul><ul><li>Opportunities for researchers </li></ul><ul><li>...
References <ul><li>http://developer.android.com </li></ul><ul><li>http://sites.google.com/site/io </li></ul>
Upcoming SlideShare
Loading in...5
×

Download It

2,350

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,350
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
194
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Download It

  1. 1. Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009
  2. 2. Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform architecture </li></ul><ul><li>Application building blocks </li></ul><ul><li>Development tools </li></ul><ul><li>Hello Android </li></ul><ul><li>SAM </li></ul><ul><li>Resources </li></ul>
  3. 3. Few reasons to go MAD… <ul><li>Smart Phones </li></ul><ul><ul><li>Internet access anywhere </li></ul></ul><ul><ul><li>Social networking </li></ul></ul><ul><li>Millions of mobile users </li></ul><ul><li>Open standards </li></ul>
  4. 4. Introduction to Android <ul><li>Open software platform for mobile development </li></ul><ul><li>A complete stack – OS, Middleware, Applications </li></ul><ul><li>An Open Handset Alliance (OHA) project </li></ul><ul><li>Powered by Linux operating system </li></ul><ul><li>Fast application development in Java </li></ul><ul><li>Open source under the Apache 2 license </li></ul>
  5. 6. Linux Kernel <ul><li>Works as a HAL </li></ul><ul><li>Device drivers </li></ul><ul><li>Memory management </li></ul><ul><li>Process management </li></ul><ul><li>Networking </li></ul>
  6. 7. Libraries <ul><li>C/C++ libraries </li></ul><ul><li>Interface through Java </li></ul><ul><li>Surface manager – Handling UI Windows </li></ul><ul><li>2D and 3D graphics </li></ul><ul><li>Media codecs, SQLite, Browser engine </li></ul>
  7. 8. Android Runtime <ul><li>Dalvik VM </li></ul><ul><ul><li>Dex files </li></ul></ul><ul><ul><li>Compact and efficient than class files </li></ul></ul><ul><ul><li>Limited memory and battery power </li></ul></ul><ul><li>Core Libraries </li></ul><ul><ul><li>Java 5 Std edition </li></ul></ul><ul><ul><li>Collections, I/O etc… </li></ul></ul>
  8. 9. Application Framework <ul><li>API interface </li></ul><ul><li>Activity manager – manages application life cycle. </li></ul>
  9. 10. Applications <ul><li>Built in and user apps </li></ul><ul><li>Can replace built in apps </li></ul>
  10. 11. Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform architecture </li></ul><ul><li>Application building blocks </li></ul><ul><li>Development tools </li></ul><ul><li>Hello Android </li></ul><ul><li>SAM </li></ul><ul><li>Resources </li></ul>
  11. 12. Application Building Blocks <ul><li>Activity </li></ul><ul><li>IntentReceiver </li></ul><ul><li>Service </li></ul><ul><li>ContentProvider </li></ul>
  12. 13. Activities <ul><li>Typically correspond to one UI screen </li></ul><ul><li>But, they can: </li></ul><ul><ul><li>Be faceless </li></ul></ul><ul><ul><li>Be in a floating window </li></ul></ul><ul><ul><li>Return a value </li></ul></ul>
  13. 14. IntentReceivers <ul><li>Components that respond to broadcast ‘Intents’ </li></ul><ul><li>Way to respond to external notification or alarms </li></ul><ul><li>Apps can invent and broadcast their own Intent </li></ul>
  14. 15. Intents <ul><li>Think of Intents as a verb and object; a description of what you want done </li></ul><ul><ul><li>E.g. VIEW, CALL, PLAY etc.. </li></ul></ul><ul><li>System matches Intent with Activity that can best provide the service </li></ul><ul><li>Activities and IntentReceivers describe what Intents they can service </li></ul>
  15. 16. Intents GMail Contacts Home Blogger Chat Client component makes a request for a specific action “ Pick photo” Picasa System picks best component for that action New components can use existing functionality Blogger Photo Gallery
  16. 17. Services <ul><li>Faceless components that run in the background </li></ul><ul><ul><li>E.g. music player, network download etc… </li></ul></ul>
  17. 18. ContentProviders <ul><li>Enables sharing of data across applications </li></ul><ul><ul><li>E.g. address book, photo gallery </li></ul></ul><ul><li>Provides uniform APIs for: </li></ul><ul><ul><li>querying </li></ul></ul><ul><ul><li>delete, update and insert. </li></ul></ul><ul><li>Content is represented by URI and MIME type </li></ul>
  18. 19. Agenda <ul><li>Mobile Application Development (MAD) </li></ul><ul><li>Intro to Android platform </li></ul><ul><li>Platform architecture </li></ul><ul><li>Application building blocks </li></ul><ul><li>Development tools </li></ul><ul><li>Hello Android </li></ul><ul><li>SAM </li></ul><ul><li>Resources </li></ul>
  19. 20. Development Tools <ul><li>Eclipse </li></ul><ul><li>Android SDK </li></ul><ul><ul><li>developer.android.com </li></ul></ul>
  20. 21. The Emulator <ul><li>QEMU-based ARM emulator </li></ul><ul><li>Runs the same image as the device </li></ul><ul><li>Limitations: </li></ul><ul><ul><li>No Camera support </li></ul></ul>
  21. 22. Devices
  22. 23. Hello World <ul><li>Generating UIs </li></ul><ul><ul><li>Views – building blocks </li></ul></ul><ul><ul><li>E.g. TextView, EditText, Button </li></ul></ul><ul><ul><li>Placed into Layouts </li></ul></ul><ul><ul><li>E.g. LinearLayout, TableLayout, AbsoluteLayout </li></ul></ul>
  23. 24. SAM Demo
  24. 25. Interesting things to do <ul><li>Android is open source </li></ul><ul><li>Opportunities for researchers </li></ul><ul><li>Get the source, compile and update the device image </li></ul>
  25. 26. References <ul><li>http://developer.android.com </li></ul><ul><li>http://sites.google.com/site/io </li></ul>
  1. A particular slide catching your eye?

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

×