Mobile Application Development (MAD)Intro to Android platformPlatform architectureApplication building blocksDevelopment toolsAndroid Apps.
Smart Phones ◦ Internet access anywhere ◦ Social networking Millions of mobile users Open standards
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
Why Android ..? Browsing Multi-notification Endless personalization Market Google integration Open Source Open to carriers
• Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services• Devoted to advancing open standards for mobile devices.
• Application framework• Optimized graphics :3D - OpenGL ES 1.0• SQLite - for data storage• Web Kit - Integrated web browser• Dalvik - Java Virtual Machine• Connectivity - Bluetooth, Wi-Fi, GPS• Media support• GSM Telephony• Rich development environment
• Email client, SMS program, calendar, maps(googles), browser, contacts, and others.• written using the Java programming language.• Can replace built in apps.
Views such as An Activity Manager thatlists, grids, text manages the life cycle ofboxes, buttons, applications and providesand even an a common navigationembeddable web backstackbrowserContent A Notification ManagerProviders that that enables all apps toenable display custom alerts in theapplications to status baraccess data fromother applications A Resource Manager,(such as providing access to non-Contacts), or to code resources such asshare their own localized strings,data graphics, and layout files
Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language Download Android SDK Core http://code.google.com/android/download.htm To Develop with Eclipse IDE, we can add the plugin - Android Development Tools (ADT) https://dl-ssl.google.com/android/eclipse/ 1-13
Apps can invent and broadcast their own IntentThink 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
Home Client component makes a request for a PicasaContacts specific action Photo Gallery “Pick photo” GMail System picks best Chat component for that actionBloggerBlogger
Development requirements • Java • Android SDK • Eclipse IDE (optional)
- Easy to customize the Google Android platform - Android is a multi-process system, in whicheach application (and parts of the system)runs in its own process. Most security betweenapplications and the system is enforced at theprocess level through standard Linuxfacilities,such as user and group IDs that are assigned toapplications.
• How background app interact with users• Consistent notification presentation