Android Application -Architecture.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Programming with Android: System Architecture
Introduction.  Professor  Adam Porter 
Mobile Application Development with ANDROID Mobile Application Development with ANDROID d.
Platform Presentation Second Week Android Platform Team 27 / March / 2009.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Android Platform Overview (1)
CSE2102 Introduction to Software Engineering Lab 2 Sept/4/2013.
All About Android Introduction to Android 1. Creating a New App “These aren’t the droids we’re looking for.” Obi-wan Kenobi 1. Bring up Eclipse. 2. Click.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
1 CSCE 4013: Mobile Systems Programming Nilanjan Banerjee Mobile Systems Programming University of Arkansas Fayetteville, AR
Mobile Application Development
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Middleware Bo Pang
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
Software Architecture of Android Yaodong Bi, Ph.D. Department of Computing Sciences University of Scranton.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Info mostly based on Pro Android 3.  User Applications  Java Libraries – most of Java standard edition ◦ Activities/Services ◦ UI/Graphics/View.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Rajab Davudov. Agenda Eclipse, ADT and Android SDK APK file Fundamentals – Activity – Service – Content Provider – Broadcast Receiver – Intent Hello World.
Особенности разработки под мобильную платформу Almaty GTUG, 2011 Ермек Жумагулов
Android for Java Developers Denver Java Users Group Jan 11, Mike
10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component.
Overview of Android Application Development
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Introduction to Android Programming
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Android Mobile Application Development
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Android Runtime – Dalvik VM
Walk n’ Play Group #8 - Team Murali Krishna Goli Viswanath Patimalla
Activities and Intents
Android Mobile Application Development
Software Engineering in Mobile Computing
The Android Activity Lifecycle
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
Android Programming Lecture 9
Android: System Architecture
Activity Lifecycle Fall 2012 CS2302: Programming Principles.
Application Development A Tutorial Driven Course
HNDIT2417 Mobile Application Development
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Emerging Platform#3 Android & Programming an App
Introduction to Android
CMPE419 Mobile Application Development
Android Development Tools
Activities, Fragments, and Intents
Presentation transcript:

Android Application -Architecture

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

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

Android architecture

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

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

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…

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

Applications Built in and user apps Can replace built in apps

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

Application Building Blocks Activity IntentReceiver Service ContentProvider

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

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

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

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

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

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

Notification Manager How background app interact with users Consistent notification presentation

Notification Manager

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

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

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()

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.

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

Android Security Model Permission-based Security Model

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)

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="http://schemas.android.com/apk/res/android" package="com.google.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>