Mobile Computing. Introduction to Android

Size: px
Start display at page:

Download "Mobile Computing. Introduction to Android"

Transcription

1 Mobile Computing Introduction to Android Mobile Computing 2011/2012

2 What is Android? Open-source software stack for mobile devices OS, middleware and key applications Based upon a modified version of the Linux kernel Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management system, OpenGL ES 1.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. Mobile Computing 2011/2012 2

3 History (1/2) October, Android Inc. founded by Andy Rubin et al. to develop "...smarter mobile devices that are more aware of its owner's location and preferences." August, Google acquired Android Inc. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the premise of providing a flexible, upgradable system. Speculation about Google's intention to enter the mobile communications market continued to build through December September, Google filed several patent applications in the area of mobile telephony. Mobile Computing 2011/2012 3

4 History (2/2) November 5, Unveiling of the Open Handset Alliance, a consortium of several companies whose goal is to develop open standards for mobile devices. Also unveiled is their first product, Android, a mobile device platform built on the Linux kernel version 2.6. Members include Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel and T-Mobile. September 23, 2008 Android 1.0 is released. December 9, new members joined, including PacketVideo, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc. Mobile Computing 2011/2012 4

5 1.0 - Released September 23, Released February 9, (Cupcake) - Released April 30, 2009 Versions 1.6 (Donut) - Released September 15, / 2.1 (Eclair) - Released October 26, 2009 (2.0) and January 12, 2010 (2.1) 2.2 (Froyo) - Released May 20, (Gingerbread) - Released December 6, (Honeycomb) - Released February 22, 2011 Optimized tablet-only release featuring new UI, refined multi-tasking, hardware acceleration and support for multi-core processors. Source was never released. 4.0 (Ice Cream Sandwich) Released October 19, 2011 Phone and tablet release, merging some of the new features of 3.0 (Honeycomb) Mobile Computing 2011/2012 5

6 Features Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, accelerometer and gyroscope (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE Mobile Computing 2011/2012 6

7 Architecture Mobile Computing 2011/2012 7

8 Message-driven component-based framework Loose-coupling allows component sharing between applications thus improving code reuse, reducing development time and providing for better resource usage Components of core applications (e.g. Browser, phone caller, contact list, media player, map viewer, etc.) are all available to the app developer provided that the required permissions are granted (see below) Security is still an important issue! Each component specifies a set of permissions which the caller is required to be granted with by the user (at install time) Each application runs within its own process space If an application makes use of components belonging to other apps those components will run within their own separate processes Mobile Computing 2011/2012 8

9 Intent Object which encapsulates a message sent between components Component name (optional) Action operation to be performed Data URI and MIME type of the data to be acted upon (see about content providers later on) Category additional information about the kind of component that should handle the message Extras key-value pairs providing extra information to the component which will handle the message Flags various sorts, many instruct the Android system on how a component should be launched Mobile Computing 2011/2012 9

10 Intent resolution and intent filters Intent resolution Explicit intents the name of the target component is specified Implicit intents no target is specified, the intent is broadcast in the system and its properties are matched to the intent filters of all available components Intent filter Matched properties: action, data and category Extras and flags play no part in intent resolution A component which does not have any intent filters can only receive explicit intents Two different kinds of broadcasts! For foreground operations (changes what the user is interacting with): startactivity For background operations: sendbroadcast Mobile Computing 2011/

11 Components Activity provides a screen for the user to interact with Service performs long-running background operations, does not provide UI Content provider allows the sharing of data across applications, provides store and retrieve operations Can use any kind of persistent storage (filesystem, SQLite, cloud, etc.) Data is identified by a URI For each MIME type there is a corresponding registered content provider Broadcast receiver responds to system-wide broadcast announcements (sent with sendbroadcast) Intended to do minimal amount of work, just a gateway to other components Mobile Computing 2011/

12 Activities Each activity represents a single screen with a user interface Activities work together to provice a cohesive user experience, however each one is independent of the others Different activities can be started by different apps (as long as the application allows it) UI for an activity is provided by a hierarchy of views (more on this later) An activity can start another activity by calling startactivity() or startactivityforresult() (the result will be passed as an argument to the onactivityresult() callback) Shutdown of the current activity by calling finish() or by a different one calling finishactivity() Mobile Computing 2011/

13 Back stack Running activities for the same task are managed in a back stack Current activity is the one on top of the stack Starting a new activity will push it to the top of the stack Pressing the back button or finishing the activity will pop the current activity from the top of the stack and go back to the previous Activity management can be modified by use of flags. Examples: The application can bring forward an existing activity instead of creating a new one on top of the back stack A new activity can be started in a new task (i.e. a new back stack) instead of the current one On leaving an activity the back stack can be cleared of all activities with exception of the root activity Use with care! Most apps won t need to change the defaults. Always test if you do! Mobile Computing 2011/

14 Activity lifecycle Mobile Computing 2011/

15 Views UI building blocks Each view is an object derived from the View class Each view controls a rectangular space within the activity s window and responds to user interaction Two basic kinds of views: Widgets basic interactive screen elements (e.g. button, checkbox, etc.) Layouts views derived from ViewGroup which define how their children are arranged in the screen (e.g. linear, grid, relative, etc.) Layouts (view hierarchies) can be defined programatically or in a XML file (most common approach) Use setcontentview() to specify an activity s root ViewGroup Mobile Computing 2011/

16 Services Components which perform long-running operations in the background (e.g. network communication, file I/O, media file playing, etc.) Can continue running even if the user switches to another application A service can be started by calling startservice() The service can run indefinitely even if the calling component is terminated The service should stop itself after the operation is completed A service can be bound by calling bindservice() A bound service offers a client-server interface for allowing client components to interact with it (send requests, get results) Binding can be performed across process boundaries with IPC A bound service runs only as long as the component bound to it Multiple components can be bound to the service When the last component is unbound the service is destroyed Mobile Computing 2011/

17 Service lifecycle Mobile Computing 2011/

18 Broadcast receivers Listen to system-wide broadcast intents Two major classes of broadcast: Normal broadcasts sent with sendbroadcast() completely asynchronous, all receivers are run in an undefined order, often at the same time Ordered broadcasts sent with sendorderedbroadcast each receiver is called one at a time Order is defined by the priority of each receiver Each receiver propagates a result to the next one, or can abort the broadcast so it won t be passed to the others A BroadcastReceiver object is only valid for the duration of the call to onreceive(context, Intent) Therefore asynchronous operations are not available Use the NotificationManager API for showing dialogs Use Context.startService() to send a command to a service Mobile Computing 2011/

19 Content providers Android provides a number of content providers for common data types (audio, video, images, personal contact information, etc.) Two ways to share your data with other apps: Add your data to an existing provider for your data type (as long as you have write permissions) Write your own by extending the ContentProvider class Implement the following methods: query(), insert(), update(), delete(), gettype() and oncreate() Both content providers and their data are identified by URIs A record URI consists of the URI for its content provider appended with the record s ID A query receives the URI for the provider and a set of filtering arguments and return a cursor object Format of the filtering arguments is based on SQL syntax Mobile Computing 2011/

20 Process lifecycle (1/3) 1. Foregroung process: A process that is required for what the user is currently doing. A process is considered to be in the foreground if any of the following conditions are true: It hosts an Activity that the user is interacting with (the Activity's onresume() method has been called). It hosts a Service that's bound to the activity that the user is interacting with. It hosts a Service that's running "in the foreground" the service has called startforeground(). It hosts a Service that's executing one of its lifecycle callbacks (oncreate(), onstart(), or ondestroy()). It hosts a BroadcastReceiver that's executing its onreceive() method. Mobile Computing 2011/

21 Process lifecycle (2/3) 2. Visible process: A process that doesn't have any foreground components, but still can affect what the user sees on screen. A process is considered to be visible if either of the following conditions are true: It hosts an Activity that is not in the foreground, but is still visible to the user (its onpause() method has been called). This might occur, for example, if the foreground activity started a dialog, which allows the previous activity to be seen behind it. It hosts a Service that's bound to a visible (or foreground) activity. A visible process is considered extremely important and will not be killed unless doing so is required to keep all foreground processes running. Mobile Computing 2011/

22 Process lifecycle (3/3) 3. Service process: A process that is running a service that has been started with the startservice() method and does not fall into either of the two higher categories. Although service processes are not directly tied to anything the user sees, they are generally doing things that the user cares about so the system keeps them running unless there's not enough memory to retain them along with all foreground and visible processes. 4. Background process: A process holding an activity that's not currently visible to the user (the activity's onstop() method has been called). These processes have no direct impact on the user experience, and the system can kill them at any time to reclaim memory for a foreground, visible, or service process. 5. Empty process: A process that doesn't hold any active application components. Mobile Computing 2011/

23 Threads (1/2) UI thread (main thread) created on application launch Responsible for event dispatch to UI widgets Thread where interaction occurs between the application and the Android UI toolkit components All components running in the same process are instantiated in the UI thread Long running operations will block the UI thread! (the app will appear to freeze) Use worker threads to perform long-running background operations However the Android UI toolkit is not thread-safe! UI components should not be updated from outside the UI thread! Mobile Computing 2011/

24 Threads (2/2) Android offers several ways to access the UI thread from other threads Activity.runOnUiThread(Runnable) View.post(Runnable) View.post(Runnable, long) Handler class for handling more complex interactions by processing messages posted to the thread s message queue Extend AsyncTask class (usually the best solution) doinbackground(): runs operation in worker thread onpostexecute(): runs in UI thread, receives the result from doinbackground() Mobile Computing 2011/

25 Security and permissions Android is a privilege-separated OS Each app runs with a distinct system identity (Linux user ID and group ID) Parts of the system are also separated into distinct identities Finer-grained security is provided through the permission mechanism Restrictions on the specific operations that a particular process can perform Every additional capability not provided by the basic sandbox must be explicitly authorized Per-URI permissions for granting ad-hoc access to specific pieces of data Permissions must be declared statically No support for setting permissions dinamically (at run-time) because it complicates the user experience All apps must be signed with a developer certificate (can be self-signed) Allows the system to grant/deny access to signature-level permissions and requests to be given the same Linux identity as another application Mobile Computing 2011/

26 Manifest file AndroidManifest.xml file is required in the app root directory Java package name for the application (serves as a unique identifier) Describes the components of the application (activities, services, broadcast receivers, and content providers) and publishes their capabilities (e.g. intent filters) Determines which processes will host application components Requested permissions for accessing protected parts of the API and interact with other applications Required permissions for others to interact with the application's components Minimum level of the Android API that the application requires. Libraries the application must be linked against. Mobile Computing 2011/

27 Today s class assignment Follow the tutorials available from: Mobile Computing 2011/

28 Useful links Android Developers: SDK Dev Guide Reference Resources Videos Blog Remember, Google is your friend! Mobile Computing 2011/

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

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life

More information

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

Android Overview. Most of the material in this section comes from Android Overview Most of the material in this section comes from http://developer.android.com/guide/ Android Overview A software stack for mobile devices Developed and managed by Open Handset Alliance

More information

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY: PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY: K.VENU 10JE1A0555 Venu0555@gmail.com B.POTHURAJU 10JE1A0428 eswr10je1a0410@gmail.com ABSTRACT early prototypes, basic building blocks of an android

More information

Android Software Development Kit (Part I)

Android Software Development Kit (Part I) Android Software Development Kit (Part I) Gustavo Alberto Rovelo Ruiz October 29th, 2010 Look & Touch Group 2 Presentation index What is Android? Android History Stats Why Andriod? Android Architecture

More information

Android Ecosystem and. Revised v4presenter. What s New

Android Ecosystem and. Revised v4presenter. What s New Android Ecosystem and Revised v4presenter What s New Why Mobile? 5B 4B 3B 2B 1B Landlines PCs TVs Bank users Mobiles 225M AOL 180M 135M 90M 45M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Quarters

More information

SHWETANK KUMAR GUPTA Only For Education Purpose

SHWETANK KUMAR GUPTA Only For Education Purpose Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It

More information

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Teodoro Montanaro Politecnico di Torino, 2016/2017 Disclaimer This is only a fast introduction: It is not complete (only scrapes the surface) Only superficial

More information

Android Fundamentals - Part 1

Android Fundamentals - Part 1 Android Fundamentals - Part 1 Alexander Nelson September 1, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Projects Project 1 due Wednesday, September 13th

More information

Application Fundamentals

Application Fundamentals Application Fundamentals CS 2046 Mobile Application Development Fall 2010 Announcements CMS is up If you did not get an email regarding this, see me after class or send me an email. Still working on room

More information

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

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie Android Anatomy Android Anatomy 2! Agenda

More information

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

Android. Operating System and Architecture. Android. Screens. Main features Android Android Operating System and Architecture Operating System and development system from Google and Open Handset Alliance since 2008 At the lower level is based on the Linux kernel and in a higher

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE ARCHITECTURE OF ANDROID IN SMART PHONES RAVNEET KAUR T. BAGGA 1,

More information

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU Introduction to Android Application Development Mike Kvintus Principal Engineer JDSU Agenda Android Background What is Android? Android Fundamentals Getting Started with App Development Demo Tips/Links

More information

Developer s overview of the Android platform

Developer s overview of the Android platform Developer s overview of the Android platform Erlend Stav SINTEF November 10, 2009 mailto:erlend.stav@sintef.no 1 Overview Vendors and licensing Application distribution Platform architecture Application

More information

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

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java

More information

Lecture 2 Android SDK

Lecture 2 Android SDK Lecture 2 Android SDK This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a

More information

Praktikum Entwicklung von Mediensystemen mit Android

Praktikum Entwicklung von Mediensystemen mit Android LFE Medieninformatik Andreas Butz (Dozent), Florence Balagtas-Fernandez, Gregor Broll, Alexander De Luca Praktikum Entwicklung von Mediensystemen mit Android Introduction to Android Outline Schedule Organizational

More information

Mobile and Wireless Systems Programming

Mobile and Wireless Systems Programming to Android Android is a software stack for mobile devices that includes : an operating system middleware key applications Open source project based on Linux kernel 2.6 Open Handset Alliance (Google, HTC,

More information

Android - open source mobile platform

Android - open source mobile platform Android - open source mobile platform Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2009 Alexander Schreiber Android - open source mobile

More information

Introduction To Android

Introduction To Android Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.

More information

Chapter 1 Hello, Android

Chapter 1 Hello, Android Chapter 1 Hello, Android OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE A commitment to openness, a shared vision for the future, and concrete plans to make the vision a reality. To

More information

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

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java

More information

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008 An Introduction to Android Jason Chen Developer Advocate Google I/O 2008 Background What is Android? Latest News 4,000,000,000 Internet and Mobile Phone Users, Worldwide 3,000,000,000 2,000,000,000 1,000,000,000

More information

Android Basics. - Bhaumik Shukla Android Application STEALTH FLASH

Android Basics. - Bhaumik Shukla Android Application STEALTH FLASH Android Basics - Bhaumik Shukla Android Application Developer @ STEALTH FLASH Introduction to Android Android is a software stack for mobile devices that includes an operating system, middleware and key

More information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement. CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.

More information

Android App Development. Ahmad Tayeb

Android App Development. Ahmad Tayeb Android App Development Ahmad Tayeb Ahmad Tayeb Lecturer @ Department of Information Technology, Faculty of Computing and Information Technology, KAU Master degree from Information Sciences and Technologies,

More information

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

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Java Virtual Machine Android

More information

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011 Android for Ubiquitous Computing Researchers Andrew Rice University of Cambridge 17-Sep-2011 Getting started Website for the tutorial: http://www.cl.cam.ac.uk/~acr31/ubicomp/ Contains links to downloads

More information

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

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml Understand applications and their components activity service broadcast receiver content provider intent AndroidManifest.xml Android Application Written in Java (it s possible to write native code) Good

More information

UNIT:2 Introduction to Android

UNIT:2 Introduction to Android UNIT:2 Introduction to Android 1 Syllabus 2.1 Overview of Android 2.2 What does Android run On Android Internals? 2.3 Android for mobile apps development 2.5 Environment setup for Android apps Development

More information

ios vs Android By: Group 2

ios vs Android By: Group 2 ios vs Android By: Group 2 The ios System Memory Section A43972 Delta Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta Aaron Josephs Core OS Layer - Core OS has

More information

Minds-on: Android. Session 2

Minds-on: Android. Session 2 Minds-on: Android Session 2 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Activities UI Events Intents Practice Assignment 1 / 33 2 / 33 Activities Activity An activity provides

More information

COSC 3P97 Mobile Computing

COSC 3P97 Mobile Computing COSC 3P97 Mobile Computing Mobile Computing 1.1 COSC 3P97 Prerequisites COSC 2P13, 3P32 Staff instructor: Me! teaching assistant: Steve Tkachuk Lectures (MCD205) Web COSC: http://www.cosc.brocku.ca/ COSC

More information

Android Development Tutorial. Yi Huang

Android Development Tutorial. Yi Huang Android Development Tutorial Yi Huang Contents What s Android Android architecture Android software development Hello World on Android More 2 3 What s Android Android Phones Sony X10 HTC G1 Samsung i7500

More information

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

CS378 -Mobile Computing. Anatomy of and Android App and the App Lifecycle CS378 -Mobile Computing Anatomy of and Android App and the App Lifecycle Hello Android Tutorial http://developer.android.com/resources/tutorials/hello-world.html Important Files src/helloandroid.java Activity

More information

CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu Android Activity LifeCycle Starting Activities Android applications don't start with a call to main(string[])

More information

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

CS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle CS378 - Mobile Computing Anatomy of an Android App and the App Lifecycle Application Components five primary components different purposes and different lifecycles Activity single screen with a user interface,

More information

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

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android Ing. Elton Domnori December 7, 2011 Mobile OS Symbian BlackBerry Window mobile Android ios Mobile OS OS First release Last release Owner Android Android 1.0 September 2008 Android 4.0 May 2011 Open Handset

More information

Android App Development

Android App Development Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel

More information

Activities and Fragments

Activities and Fragments Activities and Fragments 21 November 2017 Lecture 5 21 Nov 2017 SE 435: Development in the Android Environment 1 Topics for Today Activities UI Design and handlers Fragments Source: developer.android.com

More information

Praktikum Entwicklung von Mediensystemen mit Android Introduction to Android

Praktikum Entwicklung von Mediensystemen mit Android Introduction to Android LFE Medieninformatik Ÿ Andreas Butz (Dozent), Gregor Broll, Alexander De Luca, Max-Emanuel Maurer Praktikum Entwicklung von Mediensystemen mit Android Introduction to Android Today Schedule Organizational

More information

CS378 -Mobile Computing. Services and Broadcast Receivers

CS378 -Mobile Computing. Services and Broadcast Receivers CS378 -Mobile Computing Services and Broadcast Receivers Services One of the four primary application components: activities content providers services broadcast receivers 2 Services Application component

More information

CS260 Intro to Java & Android 04.Android Intro

CS260 Intro to Java & Android 04.Android Intro CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Entire Lifetime An activity begins its lifecycle when entering the oncreate() state If not interrupted

More information

Ahmed Ali Big fan of Android

Ahmed Ali Big fan of Android Ahmed Ali Big fan of Android Mobile Operating Systems What is your Mobile OS? What is your opinion about it? Why you are using it? Do you know any other OSs?? Mobile Operating Systems Click to edit Master

More information

Android Programmierung leichtgemacht. Lars Vogel

Android Programmierung leichtgemacht. Lars Vogel Android Programmierung leichtgemacht Lars Vogel Twitter: @vogella Lars Vogel Arbeitet als unabhängiger Eclipse und Android Berater und Trainer Arbeit zusätzlichen für SAP AG als Product Owner in einem

More information

application components

application components What you need to know for Lab 1 code to publish workflow application components activities An activity is an application component that provides a screen with which users can interact in order to do something,

More information

Android App Development

Android App Development Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount

More information

IJRDTM Kailash ISBN No Vol.17 Issue

IJRDTM Kailash ISBN No Vol.17 Issue ABSTRACT ANDROID OPERATING SYSTEM : A CASE STUDY by Pankaj Research Associate, GGSIP University Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

More information

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

DROID. By S.Gokulakrishnan AP/CSE SCSVMV Mobile Applicatio on Development with AND DROID By S.Gokulakrishnan AP/CSE SCSVMV The Players Android Open source mobile OS developed ny the Open Handset Alliance led by Google. Based on Linux 2.6 kernel

More information

Understanding Application

Understanding Application Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 4 Understanding Application Components Chapter 4 Overview Master important terminology Learn what the application

More information

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer

More information

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

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015 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

More information

Programming in Android. Nick Bopp

Programming in Android. Nick Bopp Programming in Android Nick Bopp nbopp@usc.edu Types of Classes Activity This is the main Android class that you will be using. These are actively displayed on the screen and allow for user interaction.

More information

Syllabus- Java + Android. Java Fundamentals

Syllabus- Java + Android. Java Fundamentals Introducing the Java Technology Syllabus- Java + Android Java Fundamentals Key features of the technology and the advantages of using Java Using an Integrated Development Environment (IDE) Introducing

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 - recap Views and Layouts Events Basic application components Activities Intents 9/15/2014

More information

Android Programming - Jelly Bean

Android Programming - Jelly Bean 1800 ULEARN (853 276) www.ddls.com.au Android Programming - Jelly Bean Length 5 days Price $4235.00 (inc GST) Overview This intensive, hands-on five-day course teaches programmers how to develop activities,

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 - recap Views and Layouts Events Basic application components Activities Intents 9/22/2017

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Android Lifecycle An activity begins its lifecycle when entering the oncreate() state If not

More information

COLLEGE OF ENGINEERING, NASHIK-4

COLLEGE OF ENGINEERING, NASHIK-4 Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily

More information

ANDROID SYLLABUS. Advanced Android

ANDROID SYLLABUS. Advanced Android Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.

More information

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

CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu Announcements Group formation: Projects 2, 3 and final project will be

More information

Introduction to Android

Introduction to Android Introduction to Android http://myphonedeals.co.uk/blog/33-the-smartphone-os-complete-comparison-chart www.techradar.com/news/phone-and-communications/mobile-phones/ios7-vs-android-jelly-bean-vs-windows-phone-8-vs-bb10-1159893

More information

Android-Basics. Praktikum Mobile und Verteilte Systeme

Android-Basics. Praktikum Mobile und Verteilte Systeme Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Thomy Phan, Robert Müller, Steffen Illium http://www.mobile.ifi.lmu.de WS 2018/19 Programming with Android

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 -recap Views and Layouts Events Basic application components Activities Intents BroadcastReceivers

More information

Android In Industrial Applications. A Field Report

Android In Industrial Applications. A Field Report Garz & Fricke Android In Industrial Applications A Field Report Android In Industrial Applications A Field Report Contents What we will talk about Garz & Fricke Company Overview Introduction to Android

More information

SD Module- Android Programming

SD Module- Android Programming Assignment No. 1 SD Module- Android Programming R (2) C (4) V (2) T (2) Total (10) Dated Sign Title: Download Install and Configure Android Studio on Linux /windows platform. Problem Definition: Install

More information

East West University. Submitted by. Md. Asif Iqbal ID: Supervised by. Dr. Shaikh Muhammad Allayear. Assistant Professor

East West University. Submitted by. Md. Asif Iqbal ID: Supervised by. Dr. Shaikh Muhammad Allayear. Assistant Professor East West University Submitted by Md. Asif Iqbal ID: 2009-1-60-005 Supervised by Dr. Shaikh Muhammad Allayear Assistant Professor Department of Computer Science and Engineering, East West University, Dhaka,

More information

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus] 1 Android OS Operating System based on Linux [24-02-16] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus] 1 https://www.androidpit.com/android-marshmallow-update-overview-for-smartphones-and-tablets 2 https://blog.idrsolutions.com/2014/12/android-apps-ide-for-java-coder-programmers/

More information

Android Overview. Francesco Mercaldo, PhD

Android Overview. Francesco Mercaldo, PhD Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what

More information

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

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de SoSe 2018 Programming with Android Today: Android basics

More information

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu Administrivia Moved back deadlines for projects 2, 3 and final project See updated schedule

More information

EMBEDDED SYSTEMS PROGRAMMING Application Basics

EMBEDDED SYSTEMS PROGRAMMING Application Basics EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Basics APPLICATIONS Application components (e.g., UI elements) are objects instantiated from the platform s frameworks Applications are event driven ( there

More information

BCA 6. Question Bank

BCA 6. Question Bank BCA 6 030010601 : Introduction to Mobile Application Development Question Bank Unit 1: Introduction to Android and Development tools Short questions 1. What kind of tool is used to simulate Android application?

More information

Android. (XKE Mars 2009) Erwan Alliaume.

Android. (XKE Mars 2009) Erwan Alliaume. Android (XKE Mars 2009) Erwan Alliaume ealliaume(*at*)xebia(*dot*)fr http://www.xebia.fr http://blog.xebia.fr History August 2005 Google acquires Android November 2007 Open Handset Alliance announcement

More information

Android Programming (5 Days)

Android Programming (5 Days) www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android

More information

Xin Pan. CSCI Fall

Xin Pan. CSCI Fall Xin Pan CSCI5448 2011 Fall Outline Introduction of Android System Four primary application components AndroidManifest.xml Introduction of Android Sensor Framework Package Interface Classes Examples of

More information

An Android Application for Remote Ringer

An Android Application for Remote Ringer Governors State University OPUS Open Portal to University Scholarship All Capstone Projects Student Capstone Projects Spring 2016 An Android Application for Remote Ringer Ugendra Bhuvan Bobba Governors

More information

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

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18 Why Android? Android Overview Dr. Siddharth Kaza Dr. Josh Dehlinger A lot of students have them 2010 survey by University of CO 1 : 22% of college students have Android phone (26% Blackberry, 40% iphone)

More information

Android-Basics. Praktikum Mobile und Verteilte Systeme. 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 Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de WS 2017/18 Programming with Android Today: Android basics

More information

Security Philosophy. Humans have difficulty understanding risk

Security Philosophy. Humans have difficulty understanding risk Android Security Security Philosophy Humans have difficulty understanding risk Safer to assume that Most developers do not understand security Most users do not understand security Security philosophy

More information

Distributed Systems Introduction. Matthias Kovatsch Distributed Systems Group

Distributed Systems Introduction. Matthias Kovatsch Distributed Systems Group Matthias Kovatsch Distributed Systems Group Friday, 24 September 2010 Team Prof. Friedemann Mattern Matthias Kovatsch Wilhelm Kleiminger Iulia Ion Simon Mayer Benedikt Ostermaier 2 Web Site http://www.vs.inf.ethz.ch/edu/hs2010/vs/

More information

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students Duration:40hours IGEEKS TECHNOLOGIES Software Training Division Academic Live Projects For BE,ME,MCA,BCA and PHD Students IGeekS Technologies (Make Final Year Project) No: 19, MN Complex, 2nd Cross, Sampige

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS

ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS 1 Instructor: Mazhar Hussain Services A Service is an application component that can perform long-running operations in the background

More information

Android Application Development

Android Application Development Android Application Development Octav Chipara What is Android A free, open source mobile platform A Linux-based, multiprocess, multithreaded OS Android is not a device or a product It s not even limited

More information

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

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Fragments, Camera Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 4a: Fragments, Camera Emmanuel Agu Fragments Recall: Fragments Sub-components of an Activity (screen) An activity can contain multiple fragments, organized

More information

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

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg. Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 3 Applications: A Quick Glimpse

More information

MC Android Programming

MC Android Programming MC1921 - Android Programming Duration: 5 days Course Price: $3,395 Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse

More information

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.

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. 9. Android is an open-source operating system for mobile devices. Nowadays, it has more than 1.4 billion monthly active users (statistic from September 2015) and the largest share on the mobile device

More information

Lifecycle-Aware Components Live Data ViewModel Room Library

Lifecycle-Aware Components Live Data ViewModel Room Library Lifecycle-Aware Components Live Data ViewModel Room Library Multiple entry points launched individually Components started in many different orders Android kills components on reconfiguration / low memory

More information

Services are software components designed specifically to perform long background operations.

Services are software components designed specifically to perform long background operations. SERVICES Service Services are software components designed specifically to perform long background operations. such as downloading a file over an internet connection or streaming music to the user, but

More information

Software Development & Education Center ANDROID. Application Development

Software Development & Education Center ANDROID. Application Development Software Development & Education Center ANDROID Application Development Android Overview and History ANDROID CURRICULUM How it all got started Why Android is different (and important) Android Stack Overview

More information

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

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license Android Android Mobile operating system developed by Google A complete stack OS, framework A rich set of applications Email, calendar, browser, maps, text messaging, contacts, camera, dialer, music player,

More information

Language-Based Security on Android (call for participation) Avik Chaudhuri

Language-Based Security on Android (call for participation) Avik Chaudhuri + Language-Based Security on Android (call for participation) Avik Chaudhuri + What is Android? Open-source platform for mobile devices Designed to be a complete software stack Operating system Middleware

More information

Customization of Android and Performance Analysis of Android Applications in Different Environments

Customization of Android and Performance Analysis of Android Applications in Different Environments Customization of Android and Performance Analysis of Android Applications in Different Environments Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering

More information

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different.

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different. Overview and History How it all get started. Why is different. Syllabus Stack Overview of the stack. Linux kernel. Native libraries. Dalvik. App framework. Apps. SDK Overview Platforms. Tools & Versions.

More information

Lecture 1 - Introduction to Android

Lecture 1 - Introduction to Android Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/

More information

Android Development Tools = Eclipse + ADT + SDK

Android Development Tools = Eclipse + ADT + SDK Lesson 2 Android Development Tools = Eclipse + ADT + SDK Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Google and used according to terms

More information

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi ACTIVITY, FRAGMENT, NAVIGATION Roberto Beraldi Introduction An application is composed of at least one Activity GUI It is a software component that stays behind a GUI (screen) Activity It runs inside the

More information