App Development for Smart Devices. Lec #7: Windows Azure

Size: px
Start display at page:

Download "App Development for Smart Devices. Lec #7: Windows Azure"

Transcription

1 App Development for Smart Devices CS 495/595 - Fall 2011 Lec #7: Windows Azure Tamer Nadeem Dept. of Computer Science

2 Objective Working in Background AsyncTask Cloud Computing Windows Azure Two Presentation Exploring Urban Characteristics Using Movement History of Mass Mobile Microbloggers Presenter: Robert Lewis SocialCircuits: The Art of Using Mobile Phones for Modeling Personal Interactions Presenter: Wayne Stilwell Page 2 Fall 2011 CS 495/595 - App Development for Smart Devices

3 Stickyness onstartcommand(intent, flags, startid) START_STICKY System will try to re-create the Service and call onstartcommand(). If no pending start commands, it will be called with a null intent object. START_NOT_STICKY If no new start intents to deliver to Service, system will don't recreate until a future explicit call to Context.startService(Intent). START_REDELIVER_INTENT System will schedule to restart Service passing last delivered Intent in onstartcommand(). This continues until the service calls stopself() with the start ID provided to onstartcommand() Page 3 Fall 2011 CS 495/595 - App Development for Smart Devices

4 Stickyness flags parameter You can use the parameter passed to startservice to determine if the service is a system-based restart Null Initial call START_FLAG_REDILIVERY The Intent is a re-delivery of a previously delivered intent. Service returned START_REDELIVER_INTENT but had been killed before calling stopself() for that Intent. START_FLAG_RETRY Service restarted after an abnormal termination when service was set to START_STICKY Page 4 Fall 2011 CS 495/595 - App Development for Smart Devices

5 Determining start public int onstartcommand(intent intent, int flags, int startid) { if ((flags & START_FLAG_RETRY) == 0) { // TODO If it s a restart, do something. } else { // TODO Alternative background process. } return Service.START_STICKY; } Page 5 Fall 2011 CS 495/595 - App Development for Smart Devices

6 AsyncTask Page 6 Spring 2011 CS 752/852 - Wireless and Mobile Networking

7 Background threads To make app responsive, move all time-consuming operations off main app thread to child thread. Very important! Two options: AsyncTask Write own Threads Page 7 Fall 2011 CS 495/595 - App Development for Smart Devices

8 Creating AsyncTask new DownloadFilesTask().execute(url1, url2, url3, url4); private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> protected Long doinbackground(url... urls) { //Background thread. Do not interact with UI int myprogress = 0; long result=0; // [... Perform background processing task, update myprogress...] PublishProgress(myProgress) // [... Continue performing background processing task...] } } // Return the value to be passed to onpostexecute return protected void onprogressupdate(integer... progress) { //Post interim updates to UI thread; access UI // [... Update progress bar, Notification, or other UI element...] protected void onpostexecute(long result) { //Run when doinbackground completed; access UI // [... Report results via UI update, Dialog, or notification...] showdialog("downloaded " + result + " bytes"); } Page 8 Fall 2011 CS 495/595 - App Development for Smart Devices

9 Regular Thread // This method is called on the main GUI thread. private void mainprocessing() { // This moves the time consuming operation to a child thread. Thread thread = new Thread(doBackgroundThreadProcessing); thread.start(); } // Runnable that executes the background processing method. private Runnable dobackgroundthreadprocessing = new Runnable() { public void run() { [... Time consuming operations... ] } }; Page 9 Fall 2011 CS 495/595 - App Development for Smart Devices

10 Important: power management Just because you have code in a BroadcastReceiver or Service doesn t mean it will run if the phone goes into a low-power state Common problem: create a Broadcast receiver. Create a thread from within it to run code... All works fine when phone on and plugged into computer during development Fails under normal use because phone shuts down quickly in power management state Need to use a WakeLock! Page 10 Fall 2011 CS 495/595 - App Development for Smart Devices

11 WakeLock If you start a Service or broadcast an Intent within the onreceive() handler of a BroadcastReceiver, it is possible that the WakeLock it holds will be released before your Service has started! To ensure the Service is executed; you will need to put a separate WakeLock policy in place. Page 11 Fall 2011 CS 495/595 - App Development for Smart Devices

12 WakeLock Control the power state on device (somewhat) Used to Keep the CPU running Prevent screen dimming or going off Prevent backlight from turning on Only use when necessary and release as quickly as possible Page 12 Fall 2011 CS 495/595 - App Development for Smart Devices

13 Creating a WakeLock PowerManager pm = (PowerManager) getsystemservice(context.power_service); WakeLock wakelock = pm.newwakelock(powermanager.partial_wake_lock, "MyWakeLock"); wakelock.acquire(); [... Do things requiring the CPU stay active... ] wakelock.release(); PARTIAL_WAKE_LOCK keeps the CPU running without the screen on For additional Flag Values: Page 13 Fall 2011 CS 495/595 - App Development for Smart Devices

14 Windows Azure Page 14 Spring 2011 CS 752/852 - Wireless and Mobile Networking

15 Cloud Computing Control the power state on device (somewhat) Page 15 Fall 2011 CS 495/595 - App Development for Smart Devices

16 Cloud Computing Page 16 Fall 2011 CS 495/595 - App Development for Smart Devices

17 Windows Azure Windows Azure is a foundation for running applications and storing data in the cloud Customers use it to run applications and store data on Internet-accessible machines owned by Microsoft. Page 17 Fall 2011 CS 495/595 - App Development for Smart Devices

18 Azure Components Page 18 Fall 2011 CS 495/595 - App Development for Smart Devices

19 Compute Page 19 Fall 2011 CS 495/595 - App Development for Smart Devices

20 Storage Page 20 Fall 2011 CS 495/595 - App Development for Smart Devices

21 Fabric Controller Page 21 Fall 2011 CS 495/595 - App Development for Smart Devices

22 Content Delivery Network Page 22 Fall 2011 CS 495/595 - App Development for Smart Devices

23 Connect Page 23 Fall 2011 CS 495/595 - App Development for Smart Devices

24 Example 1: Scalable Web Application Page 24 Fall 2011 CS 495/595 - App Development for Smart Devices

25 Example 2: Parallel Processing Application Page 25 Fall 2011 CS 495/595 - App Development for Smart Devices

26 Example 3: Using Cloud Storage Page 26 Fall 2011 CS 495/595 - App Development for Smart Devices

27 Hawaii/Azure Cloud Services Relay Service Provides a relay point in the cloud that mobile applications can use to communicate Endpoint //Create endpoint. Endpoint endpoint = new Endpoint("DeviceId", "RelayTestClient", TimeSpan.MaxValue); Functions: Join or Leave an existing group Send or receive messages to members Deregister the endpoint Page 27 Fall 2011 CS 495/595 - App Development for Smart Devices

28 Hawaii/Azure Cloud Services OCR in the Cloud takes a photographic image that contains some text and returns the text OcrClient service = new OcrClient("ocr.hawaii-services.net", clientid); service.ocrcompleted += OnOcrCompleted; service.recognizeimageasync(photobits);... private void OnOcrCompleted(object sender, OcrCompletedEventArgs e) {... } Page 28 Fall 2011 CS 495/595 - App Development for Smart Devices

29 Hawaii/Azure Cloud Services Speech to Text Takes a spoken phrase and returns text. SpeechRecognitionClient service = new SpeechRecognitionClient("stt.hawaiiservices.net", clientid) service.speechgrammarsreceived += this.onspeechgrammarsreceived; service.getspeechgrmmarsasync(); service.speechrecognitioncompleted += OnSpeechRecognitionCompleted; service.recognizespeechasync(audiobuffer);... private void OnSpeechGrammarsReceived(object sender, SpeechGrammarsReceivedEventArgs e) {... } Page 29 Fall 2011 CS 495/595 - App Development for Smart Devices

30 Hawaii/Azure Cloud Services Rendezvous Service Mapping service from well-known human-readable names to endpoints in the Hawaii Relay Service. User Identification Using Windows Live ID to identifying visitors to web sites. Mapping Using Virtual Earth to provide maps for given latitude and longitude coordinates. Computation Storage Page 30 Fall 2011 CS 495/595 - App Development for Smart Devices

31 Resources Azure: Hawaii: Supported Schools: Students Projects: Page 31 Fall 2011 CS 495/595 - App Development for Smart Devices

32 Questions? Page 32 Spring 2011 CS 752/852 - Wireless and Mobile Networking

33 To Do Assignment #4: Vision and Scope Think out-of-box Outrageous, but feasible, idea will have high grades Interesting domains for ideas: - Increase driving safety - Traffic monitoring - Enhance education experience - Monitor/support personal health - Monitor/save energy consumption - Support smart environments Page 33 Fall 2011 CS 495/595 - App Development for Smart Devices

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

Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5

Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5 1 Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5 Prof. Hwansoo Han T.A. Sung-in Hong T.A. Minseop Jeong 2 Background processing Every Android app has a main

More information

MOBILE APPLICATION DEVELOPMENT LECTURE 10 SERVICES IMRAN IHSAN ASSISTANT PROFESSOR

MOBILE APPLICATION DEVELOPMENT LECTURE 10 SERVICES IMRAN IHSAN ASSISTANT PROFESSOR MOBILE APPLICATION DEVELOPMENT LECTURE 10 SERVICES IMRAN IHSAN ASSISTANT PROFESSOR WWW.IMRANIHSAN.COM Android Component A Service is an application component that runs in the background, not interacting

More information

Services. Background operating component without a visual interface Running in the background indefinitely

Services. Background operating component without a visual interface Running in the background indefinitely Services Background operating component without a visual interface Running in the background indefinitely Differently from Activity, Service in Android runs in background, they don t have an interface

More information

EMBEDDED SYSTEMS PROGRAMMING Android Services

EMBEDDED SYSTEMS PROGRAMMING Android Services EMBEDDED SYSTEMS PROGRAMMING 2016-17 Android Services APP COMPONENTS Activity: a single screen with a user interface Broadcast receiver: responds to system-wide broadcast events. No user interface Service:

More information

Services. service: A background task used by an app.

Services. service: A background task used by an app. CS 193A Services This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Services service: A background task

More information

App Development for Smart Devices. Lec #4: Services and Broadcast Receivers

App Development for Smart Devices. Lec #4: Services and Broadcast Receivers App Development for Smart Devices CS 495/595 - Fall 2012 Lec #4: Services and Broadcast Receivers Tamer Nadeem Dept. of Computer Science Objective Working in Background Services AsyncTask Student Presentations

More information

Outline. Admin. Example: TipCalc. Android: Event Handler Blocking, Android Inter-Thread, Process Communications. Recap: Android UI App Basic Concepts

Outline. Admin. Example: TipCalc. Android: Event Handler Blocking, Android Inter-Thread, Process Communications. Recap: Android UI App Basic Concepts Outline Android: Event Handler Blocking, Android Inter-Thread, Process Communications 10/11/2012 Admin Android Basic concepts Activity, View, External Resources, Listener Inter-thread communications Handler,

More information

Writing Zippy Android Apps

Writing Zippy Android Apps Writing Zippy Android Apps Brad Fitzpatrick May 20th, 2010 Live Wave: http://bit.ly/au9bpd Outline Me & why I care What is an ANR? Why do you see them? Quantifying responsiveness: jank Android SDK features

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

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

Upcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26

Upcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26 Upcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26 Inject one subtle defect (fault seeding) To be reviewed by a few class members Usability study by CPE 484 students

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

Embedded Systems Programming - PA8001

Embedded Systems Programming - PA8001 Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 9 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering

More information

Small talk with the UI thread. Landon Cox March 9, 2017

Small talk with the UI thread. Landon Cox March 9, 2017 Small talk with the UI thread Landon Cox March 9, 2017 Android threads Thread: a sequence of executing instructions Every app has a main thread Processes UI events (taps, swipes, etc.) Updates the UI Apps

More information

Android. Broadcasts Services Notifications

Android. Broadcasts Services Notifications Android Broadcasts Services Notifications Broadcast receivers Application components that can receive intents from other applications Broadcast receivers must be declared in the manifest They have an associated

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

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

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

Notifications and Services. Landon Cox March 28, 2017

Notifications and Services. Landon Cox March 28, 2017 Notifications and Services Landon Cox March 28, 2017 Networking so far Volley (retrieve quiz stored at URL) User starts app Check with server for new quiz Say you re building a messaging app How else might

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

Hydrogen Car Mobile Display

Hydrogen Car Mobile Display Hydrogen Car Mobile Display Andrew Schulze Course Instructor: Dr. Guilherme DeSouza, PhD ECE 4220 Project Report Department of Electrical and Computer Engineering University of Missouri Columbia December

More information

Software Practice 3 Today s lecture Today s Task

Software Practice 3 Today s lecture Today s Task 1 Software Practice 3 Today s lecture Today s Task Prof. Hwansoo Han T.A. Jeonghwan Park 43 2 MULTITHREAD IN ANDROID 3 Activity and Service before midterm after midterm 4 Java Thread Thread is an execution

More information

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

CS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu CS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu Web Services What are Web Services? Means to call a remote method

More information

CS434/534: Topics in Networked (Networking) Systems

CS434/534: Topics in Networked (Networking) Systems CS434/534: Topics in Networked (Networking) Systems Mobile System: Android Component Composition/ Inter-process Communication (IPC) Yang (Richard) Yang Computer Science Department Yale University 208A

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 4 HTTP Networking in Android Lecturer: Albert C.

More information

32. And this is an example on how to retrieve the messages received through NFC.

32. And this is an example on how to retrieve the messages received through NFC. 4. In Android applications the User Interface (UI) thread is the main thread. This thread is very important because it is responsible with displaying/drawing and updating UI elements and handling/dispatching

More information

The Broadcast Class Registration Broadcast Processing

The Broadcast Class Registration Broadcast Processing The Broadcast Class Registration Broadcast Processing Base class for components that receive and react to events BroadcastReceivers register to receive events in which they are interested When Events occur

More information

CS371m - Mobile Computing. Responsiveness

CS371m - Mobile Computing. Responsiveness CS371m - Mobile Computing Responsiveness An App Idea From Nifty Assignments Draw a picture use randomness Pick an equation at random Operators in the equation have the following property: Given an input

More information

Multiple Inheritance, Abstract Classes, Interfaces

Multiple Inheritance, Abstract Classes, Interfaces Multiple Inheritance, Abstract Classes, Interfaces Written by John Bell for CS 342, Spring 2018 Based on chapter 8 of The Object-Oriented Thought Process by Matt Weisfeld, and other sources. Frameworks

More information

IPN-ESCOM Application Development for Mobile Devices. Extraordinary. A Web service, invoking the SOAP protocol, in an Android application.

IPN-ESCOM Application Development for Mobile Devices. Extraordinary. A Web service, invoking the SOAP protocol, in an Android application. Learning Unit Exam Project IPN-ESCOM Application Development for Mobile Devices. Extraordinary. A Web service, invoking the SOAP protocol, in an Android application. The delivery of this project is essential

More information

Overview of Frameworks: Part 3

Overview of Frameworks: Part 3 : Part 3 d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282 Principles of Operating Systems II Systems

More information

Services. Marco Ronchetti Università degli Studi di Trento

Services. Marco Ronchetti Università degli Studi di Trento 1 Services Marco Ronchetti Università degli Studi di Trento Service An application component that can perform longrunning operations in the background and does not provide a user interface. So, what s

More information

App Development for Smart Devices. Lec #16: Networking

App Development for Smart Devices. Lec #16: Networking App Development for Smart Devices CS 495/595 - Fall 2011 Lec #16: Networking Tamer Nadeem Dept. of Computer Science Objective Bluetooth Managing Bluetooth Properties Device Discovery Bluetooth Communication

More information

CyberOffice: A Smart Mobile Application for Instant Meetings

CyberOffice: A Smart Mobile Application for Instant Meetings , pp.43-52 http://dx.doi.org/10.14257/ijseia.2014.8.1.04 CyberOffice: A Smart Mobile Application for Instant Meetings Dong Kwan Kim 1 and Jae Yoon Jung 2 1 Department of Computer Engineering, Mokpo National

More information

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1 Hands-On Lab Worker Role Communication Lab version: 2.0.0 Last updated: 11/16/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: USING WORKER ROLE EXTERNAL ENDPOINTS... 8 Task 1 Exploring the AzureTalk Solution...

More information

Thread. A Thread is a concurrent unit of execution. The thread has its own call stack for methods being invoked, their arguments and local variables.

Thread. A Thread is a concurrent unit of execution. The thread has its own call stack for methods being invoked, their arguments and local variables. 1 Thread A Thread is a concurrent unit of execution. The thread has its own call stack for methods being invoked, their arguments and local variables. Each virtual machine instance has at least one main

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

Android.Trojan-Spy.Buhsam.A

Android.Trojan-Spy.Buhsam.A G DATA Whitepaper 2018 paper 05 Analysis of Android.Trojan-Spy.Buhsam.A G DATA Software AG September 2018 Analysis by: https://twitter.com/ransombleedzz Contents 1. Introduction... 3 2. Structure... 3

More information

Processes. CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers University

Processes. CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers University Processes Design, Spring 2011 Department of Computer Science Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode instruction Execute instruction CPU

More information

Answers to Exercises

Answers to Exercises Answers to Exercises CHAPTER 1 ANSWERS 1. What is an AVD? Ans: An AVD is an Android Virtual Device. It represents an Android emulator, which emulates a particular configuration of an actual Android device.

More information

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

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II) Lecture 6: Notification and Web Services Notification A notification is a user interface element that you display outside your app's normal

More information

Registering as a parent

Registering as a parent Powered by My Learning Registering as a parent 1 Table of Contents Registering using your browser (PC/tablet/mobile)... 2 What to do if you haven t received your activation code.... 4 What to do if you

More information

Required Core Java for Android application development

Required Core Java for Android application development Required Core Java for Android application development Introduction to Java Datatypes primitive data types non-primitive data types Variable declaration Operators Control flow statements Arrays and Enhanced

More information

Mobile and Ubiquitous Computing: Android Programming (part 4)

Mobile and Ubiquitous Computing: Android Programming (part 4) Mobile and Ubiquitous Computing: Android Programming (part 4) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si Examples from: Mobile and Ubiquitous Computing Jo Vermeulen,

More information

Message Passing & APIs

Message Passing & APIs CS 160 User Interface Design Message Passing & APIs Section 05 // September 25th, 2015 Tricia Fu // OH Monday 9:30-10:30am // triciasfu@berkeley.edu Agenda 1 Administrivia 2 Brainstorm Discussion 3 Message

More information

Course Learning Outcomes (CLO): Student Outcomes (SO):

Course Learning Outcomes (CLO): Student Outcomes (SO): Course Coverage Course Learning Outcomes (CLO): 1. Understand the technical limitations and challenges posed by current mobile devices and wireless communications; be able to evaluate and select appropriate

More information

Android Connectivity & Google APIs

Android Connectivity & Google APIs Android Connectivity & Google APIs Lecture 5 Operating Systems Practical 2 November 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license,

More information

Benefits of Concurrency in Java & Android: Program Structure

Benefits of Concurrency in Java & Android: Program Structure Benefits of Concurrency in Java & Android: Program Structure Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University

More information

CS371m - Mobile Computing. Persistence

CS371m - Mobile Computing. Persistence CS371m - Mobile Computing Persistence Storing Data Multiple options for storing data associated with apps Shared Preferences Internal Storage device memory External Storage SQLite Database Network Connection

More information

Writing Efficient Drive Apps for Android. Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations

Writing Efficient Drive Apps for Android. Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations Writing Efficient Drive Apps for Android Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations Raise your hand if you use Google Drive source: "put your hands up!" (CC-BY) Raise the other

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

CS434/534: Topics in Networked (Networking) Systems

CS434/534: Topics in Networked (Networking) Systems CS434/534: Topics in Networked (Networking) Systems Mobile System: Android (Single App/Process) Yang (Richard) Yang Computer Science Department Yale University 208A Watson Email: yry@cs.yale.edu http://zoo.cs.yale.edu/classes/cs434/

More information

Introduction to Linked Lists. Introduction to Recursion Search Algorithms CS 311 Data Structures and Algorithms

Introduction to Linked Lists. Introduction to Recursion Search Algorithms CS 311 Data Structures and Algorithms Introduction to Linked Lists Introduction to Recursion Search Algorithms CS 311 Data Structures and Algorithms Lecture Slides Friday, September 25, 2009 Glenn G. Chappell Department of Computer Science

More information

CROWDMARK. Examination Midterm. Spring 2017 CS 350. Closed Book. Page 1 of 30. University of Waterloo CS350 Midterm Examination.

CROWDMARK. Examination Midterm. Spring 2017 CS 350. Closed Book. Page 1 of 30. University of Waterloo CS350 Midterm Examination. Times: Thursday 2017-06-22 at 19:00 to 20:50 (7 to 8:50PM) Duration: 1 hour 50 minutes (110 minutes) Exam ID: 3520593 Please print in pen: Waterloo Student ID Number: WatIAM/Quest Login Userid: Sections:

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

Lecture 35. Threads. Reading for next time: Big Java What is a Thread?

Lecture 35. Threads. Reading for next time: Big Java What is a Thread? Lecture 35 Threads Reading for next time: Big Java 21.4 What is a Thread? Imagine a Java program that is reading large files over the Internet from several different servers (or getting data from several

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software 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

CS 160: Interactive Programming

CS 160: Interactive Programming CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2

More information

Lecture 02, Fall 2018 Friday September 7

Lecture 02, Fall 2018 Friday September 7 Anatomy of a class Oliver W. Layton CS231: Data Structures and Algorithms Lecture 02, Fall 2018 Friday September 7 Follow-up Python is also cross-platform. What s the advantage of Java? It s true: Python

More information

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Hello, last two classes we learned about activity life cycles and the call back

More information

Chain of Responsibility

Chain of Responsibility Chain of Responsibility CS356 Object-Oriented Design and Programming http://cs356.yusun.io November 17, 2014 Yu Sun, Ph.D. http://yusun.io yusun@csupomona.edu Chain of Responsibility Intent Decouple sender

More information

Pebbles Kernel Specification September 26, 2004

Pebbles Kernel Specification September 26, 2004 15-410, Operating System Design & Implementation Pebbles Kernel Specification September 26, 2004 Contents 1 Introduction 2 1.1 Overview...................................... 2 2 User Execution Environment

More information

Managing network connectivity

Managing network connectivity Managing network connectivity 0 Android broadcasts Intents that describe the changes in network connectivity 0 3G, WiFi, etc. 0 There are APIs for controlling network settings and connections 0 Android

More information

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 8: Semaphores, Monitors, & Condition Variables

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 8: Semaphores, Monitors, & Condition Variables CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004 Lecture 8: Semaphores, Monitors, & Condition Variables 8.0 Main Points: Definition of semaphores Example of use

More information

Wireless Networked Systems

Wireless Networked Systems Wireless Networked Systems CS 795/895 - Spring 2013 Lec #6: Medium Access Control QoS and Service Differentiation, and Power Management Tamer Nadeem Dept. of Computer Science Quality of Service (802.11e)

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

To enable Mobile Messaging: 1. Simply login to

To enable Mobile Messaging: 1. Simply login to Mobile Messaging Instructor Tutorial Mobile Messaging provides an easy and effective way for students, faculty and staff to communicate, send and receive important information and stay connected. Through

More information

HCA Tech Note 103. Expressions. Example: Conversion

HCA Tech Note 103. Expressions. Example: Conversion Expressions This technical note provides several examples on some of the common uses of expressions and the Compute element. The Compute element opens a lower level of HCA than available from the Visual

More information

Import the code in the top level sdl_android folder as a module in Android Studio:

Import the code in the top level sdl_android folder as a module in Android Studio: Guides Android Documentation Document current as of 12/22/2017 10:31 AM. Installation SOURCE Download the latest release from GitHub Extract the source code from the archive Import the code in the top

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

CS Programming I: Inheritance

CS Programming I: Inheritance CS 200 - Programming I: Inheritance Marc Renault Department of Computer Sciences University of Wisconsin Madison Fall 2017 TopHat Sec 3 (PM) Join Code: 719946 TopHat Sec 4 (AM) Join Code: 891624 Inheritance

More information

Concurrent Programming

Concurrent Programming Concurrency Concurrent Programming A sequential program has a single thread of control. Its execution is called a process. A concurrent program has multiple threads of control. They may be executed as

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

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

SchoolMessenger App. Parent and Student User Guide - Website. West Corporation. 100 Enterprise Way, Suite A-300. Scotts Valley, CA

SchoolMessenger App. Parent and Student User Guide - Website. West Corporation. 100 Enterprise Way, Suite A-300. Scotts Valley, CA SchoolMessenger App Parent and Student User Guide - Website West Corporation 100 Enterprise Way, Suite A-300 Scotts Valley, CA 95066 800-920-3897 www.schoolmessenger.com Table of Contents WELCOME!... 3

More information

Advances in Programming Languages

Advances in Programming Languages Advances in Programming Languages Lecture 8: Concurrency Ian Stark School of Informatics The University of Edinburgh Thursday 11 October 2018 Semester 1 Week 4 https://wp.inf.ed.ac.uk/apl18 https://course.inf.ed.uk/apl

More information

Processes. Process Concept

Processes. Process Concept Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide

More information

Asynchronous Events on Linux

Asynchronous Events on Linux Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy

More information

Homework # 7 Distributed Computing due Saturday, December 13th, 2:00 PM

Homework # 7 Distributed Computing due Saturday, December 13th, 2:00 PM Homework # 7 Distributed Computing due Saturday, December 13th, 2:00 PM In this homework you will add code to permit a calendar to be served to clients, and to open a calendar on a remote server. You will

More information

In-app Billing Version 3

In-app Billing Version 3 13 In-app Billing Version 3 Bruno Oliveira Developer Relations, Android 13 In-app billing! 2 In-app billing! Implement ALL the billing! 2 In-app billing! DO NOT WANT 2 PREVIOUSLY IN IN-APP BILLING 3 Easy

More information

OFFLINE MODE OF ANDROID

OFFLINE MODE OF ANDROID OFFLINE MODE OF ANDROID APPS @Ajit5ingh ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, www.singhajit.com, @Ajit5ingh ) AGENDA Why offline mode? What it takes to build an offline mode Architecture

More information

Lab 5 Periodic Task Scheduling

Lab 5 Periodic Task Scheduling Lab 5 Periodic Task Scheduling Scheduling a periodic task in Android is difficult as it goes against the philosophy of keeping an application active only while the user is interacting with it. You are

More information

LECTURE 12 BROADCAST RECEIVERS

LECTURE 12 BROADCAST RECEIVERS MOBILE APPLICATION DEVELOPMENT LECTURE 12 BROADCAST RECEIVERS IMRAN IHSAN ASSISTANT PROFESSOR WWW.IMRANIHSAN.COM Application Building Blocks Android Component Activity UI Component Typically Corresponding

More information

The system has sixteen mailboxes. They are accessed through 32 register.

The system has sixteen mailboxes. They are accessed through 32 register. Project 3: IPC (4%) ENEE 447: Operating Systems Spring 2012 Assigned: Monday, Feb 15; Due: Friday, Feb 26 Purpose In this project you will design and build an inter-process communication (IPC) facility.

More information

Single processor CPU. Memory I/O

Single processor CPU. Memory I/O Lec 17 Threads Single processor CPU Memory I/O Multi processes Eclipse PPT iclicker Multi processor CPU CPU Memory I/O Multi-core Core Core Core Core Processor Memory I/O Logical Cores Multi-threaded

More information

Android Security Lab WS 2013/14 Lab 2: Android Permission System

Android Security Lab WS 2013/14 Lab 2: Android Permission System Saarland University Information Security & Cryptography Group Prof. Dr. Michael Backes saarland university computer science Android Security Lab WS 2013/14 M.Sc. Sven Bugiel Version 1.2 (November 12, 2013)

More information

CS 251 Intermediate Programming Inheritance

CS 251 Intermediate Programming Inheritance CS 251 Intermediate Programming Inheritance Brooke Chenoweth University of New Mexico Spring 2018 Inheritance We don t inherit the earth from our parents, We only borrow it from our children. What is inheritance?

More information

CS 153 Design of Operating Systems Winter 2016

CS 153 Design of Operating Systems Winter 2016 CS 153 Design of Operating Systems Winter 2016 Lecture 17: Paging Lecture Overview Recap: Today: Goal of virtual memory management: map 2^32 byte address space to physical memory Internal fragmentation

More information

EXPLOITING CLOUD SYNCHRONIZATION TO HACK IOTS

EXPLOITING CLOUD SYNCHRONIZATION TO HACK IOTS SESSION ID: SBX1-R1 EXPLOITING CLOUD SYNCHRONIZATION TO HACK IOTS Alex Jay Balan Chief Security Researcher Bitdefender @jaymzu 2 IoT = hardware + OS + app (+ Cloud) wu-ftpd IIS5.0 RDP Joomla app 3 EDIMAX

More information

ClassLink Student Directions

ClassLink Student Directions ClassLink Student Directions 1. Logging-in Open a web browser, any browser and visit https://launchpad.classlink.com/wssd Your username and password are the same as your WSSD login credentials that you

More information

The Internet. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046

The Internet. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046 The Internet CS 2046 Mobile Application Development Fall 2010 Announcements HW2 due Monday, 11/8, at 11:59pm If you want to know what it means to root your phone, or what this does, see Newsgroup HW1 grades

More information

CS11 C++ DGC. Spring Lecture 6

CS11 C++ DGC. Spring Lecture 6 CS11 C++ DGC Spring 2006-2007 Lecture 6 The Spread Toolkit A high performance, open source messaging service Provides message-based communication Point-to-point messaging Group communication (aka broadcast

More information

Creating Your Parent Account

Creating Your Parent Account Parent Portal Guide for Parents 2016-2017 Creating Your Parent Account Before using the parent portal, you must pick up your access id and password from the school. This information must be picked up in

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management

More information

CS 103 Unit 11. Linked Lists. Mark Redekopp

CS 103 Unit 11. Linked Lists. Mark Redekopp 1 CS 103 Unit 11 Linked Lists Mark Redekopp 2 NULL Pointer Just like there was a null character in ASCII = '\0' whose ue was 0 There is a NULL pointer whose ue is 0 NULL is "keyword" you can use in C/C++

More information

Mobile Computing. Introduction to Android

Mobile Computing. Introduction to Android Mobile Computing Introduction to Android Mobile Computing 2011/2012 What is Android? Open-source software stack for mobile devices OS, middleware and key applications Based upon a modified version of the

More information

CHAPTER 15 ASYNCHRONOUS TASKS

CHAPTER 15 ASYNCHRONOUS TASKS CHAPTER 15 ASYNCHRONOUS TASKS OBJECTIVES After completing Asynchronous Tasks, you will be able to: Describe the process and threading model of Android applications. Use Looper and Handler classes to post

More information

Chapter 4: Field Installation

Chapter 4: Field Installation Chapter 4: Field Installation Table of Contents Introduction... 2 Install the InteliGateway... 2 Configure the InteliGateway... 2 1. Start the Ibis Installer application... 2 2. Connect the InteliGateway

More information

Google Classroom Help Sheet

Google Classroom Help Sheet 1 Google Classroom Help Sheet Table of Contents Introduction Signing into Google Classroom Creating a Class Changing a Class Theme Adding a Teacher Photo to the Class Renaming or Deleting a Class Adding

More information