Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android Application -Architecture.

Similar presentations


Presentation on theme: "Android Application -Architecture."— Presentation transcript:

1 Android Application -Architecture

2 Course Objectives Platform architecture Application building blocks
Application Lifecycle Android security model

3 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

4 Android architecture

5 Linux Kernel Works as a HAL Device drivers Memory management
Process management Networking

6 Libraries C/C++ libraries Interface through Java
Surface manager – Handling UI Windows 2D and 3D graphics Media codecs, SQLite, Browser engine

7 Android Runtime Dalvik VM Core Libraries Dex files
Compact and efficient than class files Limited memory and battery power Core Libraries Java 5 Std edition Collections, I/O etc…

8 Application Framework
API interface Activity manager – manages application life cycle.

9 Applications Built in and user apps Can replace built in apps

10 Course Objectives Platform architecture Application building blocks
Application Lifecycle Android security model

11 Application Building Blocks
Activity IntentReceiver Service ContentProvider

12 Activities Typically correspond to one UI screen But, they can:
Be faceless Be in a floating window Return a value

13 IntentReceivers Components that respond to broadcast ‘Intents’
Way to respond to external notification or alarms Apps can invent and broadcast their own Intent

14 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

15 Intents System picks best component for that action
Home Photo Gallery Contacts “Pick photo” GMail Client component makes a request for a specific action Chat Blogger Blogger New components can use existing functionality

16 Services Faceless components that run in the background
E.g. music player, network download etc…

17 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

18 Notification Manager How background app interact with users
Consistent notification presentation

19 Notification Manager

20 Course Objectives Platform architecture Application building blocks
Application Lifecycle Android security model

21 Application Lifecycle
Application run in their own processes (VM, PID) Processes are started and stopped as needed to run an application's components Processes may be killed to reclaim resources

22 Lifecycles Notifications
As an activity transitions from state to state, it is notified of the change by calls to the following protected methods: void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy()

23 Lifecycles Notifications
All of these methods are hooks that you can override to do appropriate work when the state changes. All activities must implement onCreate() to do the initial setup when the object is first instantiated. Many will also implement onPause() to commit data changes and otherwise prepare to stop interacting with the user.

24

25 Course Objectives Platform architecture Application building blocks
Application Lifecycle Android security model

26 Android Security Model
Permission-based Security Model

27 Android Security Model
Android is a privilege-separated operating system, in which each application runs with a distinct system identity(Linux user ID and group ID)

28 Android Security Model
User Permissions in the AndroidManifest.xml • INTERNET: Access the Internet. • READ_CONTACTS: Read (but don’t write) the user’s contacts data. • RECEIVE_SMS: Monitor incoming SMS (text) messages. • ACCESS_COARSE_LOCATION: Use a coarse location provider such as cell towers or Wi-Fi. • ACCESS_FINE_LOCATION: Use a more accurate location provider such as GPS. For example, to monitor incoming SMS messages you’d specify this in the manifest file: <manifest xmlns:android=" package="com.google.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>


Download ppt "Android Application -Architecture."

Similar presentations


Ads by Google