95-702 Distributed SystemsPlan For TodayPowerPoint PresentationWhy Android?What is Android?Slide 6Linux ProvidesNative LibrariesApplication Framework in Java (1)Application Framework in Java (2)Application Framework in Java (3)Application Framework in Java (4)Application Framework in Java (5)Application Framework in Java (6)Application Framework in Java (7)Application Framework in Java (8)Application Framework in Java (9)Application Framework in Java (10)Application Framework in Java (11)Example(1): Using The Telephony ManagerExample (2): Using The Location ManagerExample (3): Maps in Two WaysApplication FundamentalsAndroid’s Component ModelActivity ComponentsSlide 26Service ComponentsIntent or Broadcast Receiver ComponentsContent Provider ComponentMessagingA Linux ProcessInter-Process CommunicationInter-Process Communication - IntentsSlide 34Some Intent ConstantsIntent FiltersSlide 37Inter-Process Communication – Remote Methods and AIDLSlide 3995-702 Distributed Systems1Master of Information System Management95-702 Distributed SystemsJava RMI Project and Android Architecture95-702 Distributed SystemsPlan For Today•Demonstrate a solution to the Java RMI project•Lecture on Core Android•Please watch the Three U-Tube Videos: - Architecture Overview http://www.youtube.com/watch?v=Mm6Ju0xhUW8 - Application Lifecycle http://www.youtube.com/watch?v=fL6gSd4ugSI - Application Programmer Interfaces http://www.youtube.com/watch?v=MPukbH6D-lY 2Master of Information System Management95-702 Distributed Systems3Master of Information System Management3The Dealing Room System from Coulouris assigned in Project 4Dealer’s computerInformationproviderDealerExternalsourceExternalsourceInformationproviderDealerDealerDealerNotificationNotificationNotificationNotificationNotificationNotificationNotificationNotificationDealer’s computerDealer’s computerDealer’s computerNotificationNotification95-702 Distributed Systems95-702 Distributed SystemsWhy Android?•Mobile platforms represent important components of distributed systems. •Android is a new and interesting mobile platform.•We will look at Android from a developers point of view.•Notes taken from Google’s Android SDK and Google’s Android Application Fundamentals4Master of Information System Management95-702 Distributed SystemsWhat is Android?5Master of Information System ManagementApplicationsContacts Phone Browser Home…Application FrameworkWindow ManagerContent ProvidersLocation ManagerActivity Manager …Libraries SQLite SSL WebKit Android Runtime VM…Linux KernelWiFi Driver Binder (IPC) driverCamera Driver…95-702 Distributed Systems6Master of Information System ManagementSystem Architecture Diagram from Google95-702 Distributed SystemsLinux Provides•Hardware abstraction – drivers•Memory management•Process Management•Security Model•Networking7Master of Information System Management95-702 Distributed SystemsNative Libraries•Sit on top of Linux•Written in C/C++•Drawing, Graphics (3D and 2D)•Media framework (codecs like MP4 to code and decode MP4 bit streams)•Font rendering•Database (SQLLite)•WebKit•Android runtime (VM) – mutiple instances8Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (1)•Activity Manager•Package Manager•Windows Manager•Telephony Manager•Content Providers•Resource Manager•View System•Location Manager•Notification Manager•XMPP Service9Master of Information System Management This is a toolkit for applications. Applications are such things as the phone application and the contacts application.95-702 Distributed SystemsApplication Framework in Java (2)•Activity Manager Manages the lifecycle of applications. Applications cycle through various states: started, running, background, killed. Maintains a common stack allowing the user to navigate from one application to another.10Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (3)•Package Manager Maintains information on the available applications on the device.11Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (4)•Windows Manager The windows manager creates surfaces that applications can draw on.12Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (5)•Telephony Manager Provides API’s needed to build the phone application and SMS.13Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (6)•Content Provider Allows one application to make its data available to another. For example, the contacts application makes its data available to other applications that may need it. The phone or email application may need to consult contacts.14Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (7)•Resource Manager Manages the storing of strings and layout files and bitmaps. “Android will run on many devices in many regions. To reach the most users, your application should handle text, audio files, numbers, currency, and graphics in ways appropriate to the locales where your application will be used”. (From the SDK)15Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (8)•View System Contains the building blocks of the user interface – buttons, text boxes and so on. Handles event dispatching, layouts and drawing. The View class is the base class for the Widget class. All views in a window are organized in a single tree.16Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (9)•Location Manager - Uses GPS – most accurate, slow, battery drain, and primarily for outdoor use. - Uses the Android Network provider which uses cell tower and wi-fi signals.17Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (10)•Notification Manager Alerts the user about events. These include status bar updates, flashing lights, vibrations and the like.18Master of Information System Management95-702 Distributed SystemsApplication Framework in Java (11)- XMPP Service IETF Standard: The Extensible Messaging and Presence Protocol (“Presence = ‘who’s online?) XML Based Internet Instant Messaging Provides for offline
View Full Document