Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Similar documents
Lecture 2 Android SDK

Android Overview. Most of the material in this section comes from

Android Fundamentals - Part 1

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Minds-on: Android. Session 1

Introduction to Android

Developer s overview of the Android platform

Introduction To Android

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical

Android App Development

Configuring the Android Manifest File

EMBEDDED SYSTEMS PROGRAMMING Application Basics

Mobile development initiation

CS378 -Mobile Computing. Intents

ITG Software Engineering

CS260 Intro to Java & Android 04.Android Intro

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Introduction to Android

Android framework. How to use it and extend it

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license

CS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu

Questions and Answers. Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android?

application components

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Permissions. Lecture 18

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

6.858 Quiz 2 Review. Android Security. Haogang Chen Nov 24, 2014

Software Development & Education Center ANDROID. Application Development

COLLEGE OF ENGINEERING, NASHIK-4

CS378 -Mobile Computing. Services and Broadcast Receivers

Security Philosophy. Humans have difficulty understanding risk

ANDROID SYLLABUS. Advanced Android

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Mobile Application Development - Android

Android Programming in Bluetooth Cochlea Group

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml

Mobile Application Development Android

ANDROID. Curriculum LOCATION CONTACT US SCHEDULE. TurnToTech 40 Rector St. 10th Floor New York, NY

CS378 -Mobile Computing. Anatomy of and Android App and the App Lifecycle

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Android Ecosystem and. Revised v4presenter. What s New

Chapter 5 Defining the Manifest

Android Application Development

Android Application Development Course 28 Contact Hours

Syllabus- Java + Android. Java Fundamentals

ATC Android Application Development

Camera and Intent. Elena Fortini

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Data-Driven Views and Android Components Emmanuel Agu

Mobile Computing. Introduction to Android

MC Android Programming

Mobile Application Development

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

Android Software Development Kit (Part I)

COSC 3P97 Mobile Computing

Android Online Training

Programming Concepts and Skills. Creating an Android Project

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

Java Training Center - Android Application Development

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Mobile Application Development Android

ios vs Android By: Group 2

Android App Development

Android. Operating System and Architecture. Android. Screens. Main features

Android Essentials with Java

LECTURE NOTES OF APPLICATION ACTIVITIES

Contextual Android Education

Application Fundamentals

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

UNDERSTANDING ACTIVITIES

Mobile Application Development

Android Programming (5 Days)

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Mobile Application Development Android

Introduction to Android Development

CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Fragments, Camera Emmanuel Agu

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days

Android Camera. Alexander Nelson October 6, University of Arkansas - Department of Computer Science and Computer Engineering

Luxriot Mobile Manual 28 March 2014

Mobile Application Development Android

Automatically persisted among application sessions

Intents and Intent Filters

Firefox OS App Days. Overview and High Level Architecture. Author: José M. Cantera Last update: March 2013 TELEFÓNICA I+D

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

Lecture 10. Denial of Service Attacks (cont d) Thursday 24/12/2015

CS371m - Mobile Computing. Content Providers And Content Resolvers

ANDROID DEVELOPMENT. Course Details

Lecture 1 - Introduction to Android

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

CS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle

Android ATC Android Security Essentials Course Code: AND-402 version 5 Hands on Guide to Android Security Principles

Android App Development. Ahmad Tayeb

Transcription:

Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used to install the application on an Android device. Each application lives in its own security sandbox on the Android platform. Apps in the Android OS Android operates as a multi user Linux system. By default each application is run under a unique user ID and its own Linux process. Each process runs in its own VM so applications remain isolated. Each app has access to only necessary components that it needs to operate and nothing more. Program Model PC PC PC 1

Mobile Application Model Mobile devices are enhanced user terminals Main task is user interaction with the data and computing hosted by the cloud Hence the UI becomes a primary component MVC Pattern The model, view, controller pattern is a way of breaking up an application in to three separate sections. Model: The application data and rules. View: The visible part of the application. Controller: The interpreter that mediates data between the view and the model. MVC Pattern In Android we can often think of applications using this pattern. Model can be stored in a Java class containing the data. View is usually the XML Layout file the user sees to interact with our app. Controller is often the Java class used to extend Activity. Interacts with both the Model and the View. MVC Mobile App Model 2

Application Components There are four basic components that are used to build Android applications: Activities Services Content Providers Broadcast Receivers Activities An activity is a single screen for user interface. An application can contain many different activities that operate independently. For example a camera application can have a picture taking activity, a gallery activity, a photo editing activity, etc. Services A service is a component that runs in the background that does not have a user interface. It can be used to perform long running operations, fetch data over a network, and so on. It is used to perform a task without blocking the user interface. Activities Apps are composed of activities Activities are self contained tasks made up of one screen full of information Activities start one another and are destroyed commonly Apps can use activities belonging to another app Much more to come... Content Providers A content provider is a way of managing application data, whether it be shared or private. It can be used to access data that it stored on the system, and SQL database, on the web, or another form of persistent data storage that the app can reach. adapted from Utah CS4962 Matt Stoker 3

Broadcast Receivers A broadcast receiver is a component that responds to system wide announcements. For example a broadcast saying battery is low, the screen was turned off, etc. Generally not used to do much work, but just to handle an event. Activating the Components Content providers are activated when targeted by a request from the ContentResolver. The content resolver handles transactions with the content provider so the requesting component does not need to. This extra layer of abstraction also gives added security. Android App Architecture activity Content provider intent service The Manifest file is an XML file that the system needs in order to properly run an app. It is used to keep record of an application s components, permissions, minimum API Level, required features, and more. All components must be declared or the system will not know they exist. Activating the Components Activities, services, and broadcast receiver components are activated via an intent. An intent is an asynchronous message that binds components to each other at run time. The intent for services and activities define the action to perform. For broadcast receivers the intent defines the announcement being broadcast. Here an activity is declared using it s fully qualified class name as the value of the android:name field and a string for the user visible label in the android:label field. 4

Manifest Example All application components must be declared in this way: <activity> elements for activities <service> elements for services <receiver> elements for broadcast receivers <provider> elements for content providers Declaring App Requirements The wide variety of devices available to Android means you must specify clearly what your app requires. In the Manifest file you list these things in a similar manner to declaring your components. Main ones being: <supports screens> for screen size and density. <uses sdk> for minimum API declaration. Declaring Permissions The Manifest file is also where you provide the required permissions for an application. These permissions grant privileges to the application so it can effect other portions of the system. 5