Download presentation
Presentation is loading. Please wait.
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.
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>
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.