Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction...
Transcript of Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction...
![Page 1: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/1.jpg)
Mobile Application Mobile Application DevelopmentDevelopment
with ANDROID with ANDROID
Tejas Lagvankar
UMBC29 April 2009
![Page 2: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/2.jpg)
Agenda
• Mobile Application Development (MAD)• Intro to Android platform• Platform architecture• Application building blocks• Development tools• Hello Android• SAM• Resources
![Page 3: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/3.jpg)
Few reasons to go MAD…
• Smart Phones– Internet access anywhere– Social networking
• Millions of mobile users
• Open standards
![Page 4: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/4.jpg)
Introduction to Android
• Open software platform for mobile development
• A complete stack – OS, Middleware, Applications
• An Open Handset Alliance (OHA) project
• Powered by Linux operating system
• Fast application development in Java
• Open source under the Apache 2 license
![Page 5: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/5.jpg)
![Page 6: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/6.jpg)
Linux Kernel
• Works as a HAL
• Device drivers
• Memory management
• Process management
• Networking
![Page 7: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/7.jpg)
Libraries
• C/C++ libraries
• Interface through Java
• Surface manager – Handling UI Windows
• 2D and 3D graphics
• Media codecs, SQLite, Browser engine
![Page 8: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/8.jpg)
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…
![Page 9: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/9.jpg)
Application Framework
• API interface
• Activity manager – manages application life cycle.
![Page 10: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/10.jpg)
Applications
• Built in and user apps
• Can replace built in apps
![Page 11: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/11.jpg)
Agenda
• Mobile Application Development (MAD)• Intro to Android platform• Platform architecture• Application building blocks• Development tools• Hello Android• SAM• Resources
![Page 12: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/12.jpg)
Application Building Blocks
• Activity
• IntentReceiver
• Service
• ContentProvider
![Page 13: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/13.jpg)
Activities
• Typically correspond to one UI screen
• But, they can:– Be faceless– Be in a floating window– Return a value
![Page 14: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/14.jpg)
IntentReceivers
• Components that respond to broadcast ‘Intents’
• Way to respond to external notification or alarms
• Apps can invent and broadcast their own Intent
![Page 15: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/15.jpg)
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
![Page 16: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/16.jpg)
Intents
GMail
Contacts
Home
Blogger
ChatClient component makes a request for a specific action
“Pick photo”
Picasa
System picks best component for that actionNew components can use existing functionalityBlogger
Photo Gallery
![Page 17: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/17.jpg)
Services
• Faceless components that run in the background– E.g. music player, network download etc…
![Page 18: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/18.jpg)
ContentProviders
• 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
![Page 19: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/19.jpg)
Agenda
• Mobile Application Development (MAD)• Intro to Android platform• Platform architecture• Application building blocks• Development tools• Hello Android• SAM• Resources
![Page 20: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/20.jpg)
Development Tools
• Eclipse
• Android SDK
developer.android.com
![Page 21: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/21.jpg)
The Emulator
• QEMU-based ARM emulator• Runs the same image as the
device
• Limitations:– No Camera support
![Page 22: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/22.jpg)
Devices
![Page 23: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/23.jpg)
Hello World
• Generating UIs– Views – building blocks– E.g. TextView, EditText, Button– Placed into Layouts– E.g. LinearLayout, TableLayout,
AbsoluteLayout
![Page 24: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/24.jpg)
SAM Demo
![Page 25: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/25.jpg)
Interesting things to do
• Android is open source
• Opportunities for researchers
• Get the source, compile and update the device image
![Page 26: Mobile Application Development with ANDROID › Seminar-Reports › 015 › 27819844...Introduction to Android • Open software platform for mobile development • A complete stack](https://reader034.fdocuments.us/reader034/viewer/2022042309/5ed6f7dfd2091b626663e312/html5/thumbnails/26.jpg)
References
• http://developer.android.com
• http://sites.google.com/site/io