Android app development course

Size: px
Start display at page:

Download "Android app development course"

Transcription

1 Android app development course Unit 5- + Enabling inter-app communication. BroadcastReceivers, ContentProviders. App Widgets 1

2 But first... just a bit more of Intents! Up to now we have been working with explicit Intents to launch a new Activity or Service. startactivity(new Intent(context, MyActivity.class)) startservice(new Intent(context, MyService.class)) But we can also use implicit Intents to do so. Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse( tel: )); It defines an action... and it can deal with specific data (optional)! 2

3 Implicit Intents Implicit Intents Define an action android.intent.action.action_call android.intent.action.show_view org.uab.deic.cursandroid.view_info Are mapped to an Intent Filter, which defines what actions an Activity is able to deal with <activity android:name=".mainactivity"> <intent-filter> <action android:name="android.intent.action.main"/> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> 3

4 Implicit Intents Android defines some standard actions: ACTION_CALL ACTION_EDIT ACTION_MAIN ACTION_SYNC ACTION_BATTERY_LOW ACTION_HEADSET_PLUG ACTION_SCREEN_ON ACTION_TIMEZONE_CHANGED...among others, defined within the Intent class! 4

5 Implicit Intents Intent Filters Filters an Intent according to 3 attributes: action: the action to perform category: context within which the action makes sense data: data type it is able to handle The data type may be specified using the following schemes: android:mimetype defines the data type (e.g. html) An URI with a specific pattern scheme://host:port/path 5

6 Implicit Intents Categories LAUNCHER DEFAULT ALTERNATIVE SELECTED_ALTERNATIVE BROWSABLE TAB HOME PREFERENCE...among others also described in the Intent class! 6

7 Implicit Intents Filtering process All Intent Filters of all applications are queried Those that don't match the action and category are eliminated It must match at least ONE action It must match ALL categories Those whose data tag don't match or are incompatible with the URI specified by the Intent are eliminated All the remaining options are offered to the users, who should chose the most appropriate one 7

8 You might find useful Linkify Helper class that parses a TextView and creates links inside it If the text matches an URL-like pattern, a link is created which contains the following action startactivity(new Intent(Intent.ACTION_VIEW, uri)) The URI contains the actual link created TextView textview = (TextView) findviewbyid(r.id.generalinfo_text); Linkify.addLinks(textView, Linkify.ALL); 8

9 You might find useful PendingIntent Intent designed to be executed a posteriori, not necessarily from the same application. It is executed with the same permissions and identity as if it were executed from the application itself. Intent intent = new Intent(context, SessionDetailsActivity.class); intent.putextra("number_of_session", sessionid); intent.putextra("titleactionbar", context.getresources().getstring(r.string.session_text)); PendingIntent launchintent = PendingIntent.getActivity(context, 0, intent, 0); 9

10 Activity Add an Intent Filter to the Activity hosting the form in order to handle implicit Intents Create a new Android project Add a Button to the MainActivity of the new project to start the Activity hosting the form using an implicit Intent. 10

11 BroadcastReceivers Intents may alert of the occurrence of an system event. Also known as Broadcast Events To create a new Broadcast Event we should call the following method sendbroadcast(intent) These events are captured within BroadcastReceivers! 11

12 BroadcastReceivers A BroadcastReceiver Captures those events it was registered for. Decides who should continue handling the event! Is active during a very small time frame (~10 seconds). Typically: Starts an Activity Starts an Service Creates a Notification Updates some content (if it doesn't require much computation) 12

13 BroadcastReceivers BroadcastReceivers can be declared in the Manifest file... <receiver android:name=".services.uabdroidreceiver"> <intent-filter> <action android:name="org.uab.deic.uabdroid.update_intent"/> </intent-filter> <intent-filter> <action android:name="org.uab.deic.uabdroid.alarm_intent"/> </intent-filter> </receiver> 13

14 BroadcastReceivers...or created dynamically in code. IntentFilter filter = new IntentFilter(UABDroidReceiver.UPDATE_INTENT); filter.addaction(uabdroidreceiver.alarm_intent); UABDroidReceiver receiver = new UABDroidReceiver(); registerreceiver(receiver, filter); Then we can unregister them also dynamically unregister(receiver) 14

15 BroadcastReceivers What we could find inside a BroadcastReceiver is... public class UABDroidReceiver extends BroadcastReceiver { public static final String UPDATE_INTENT = "org.uab.deic.uabdroid.update_intent"; public static final String ALARM_INTENT = public void onreceive(context context, Intent intent) { } } if ( intent.getaction().equalsignorecase(update_intent) ) { Intent startintent = new Intent(context, UpdateService.class); context.startservice(startintent); } else if (intent.getaction().equalsignorecase(alarm_intent)) { Intent startintent = new Intent(context, AlarmService.class); context.startservice(startintent); } 15

16 BroadcastReceivers There are Broadcast Events generated by the system ACTION_BOOT_COMPLETED ACTION_(CAMERA MEDIA)_BUTTON ACTION_(DATE TIME)_CHANGED ACTION_MEDIA_(EJECT MOUNTED UNMOUNTED) ACTION_NEW_OUTGOING_CALLS ACTION_SCREEN_(ON OFF) ACTION_TIMEZONE_CHANGED ACTION_BATTERY_(CHANGED LOW OKAY) CONNECTIVITY_ACTION (ConnectivityManager) 16

17 Activity Create a BroadcastReceiver within the application containing the form, capable of filtering an action defined by yourselves In its onreceive() method it should start the Activity hosting the form From the new project created in the previous activity, generate a Broadcast Event with your custom action. 17

18 ContentProviders Usually, all the storage options available in Android are accessible only by the same application creating them (or at least this is the typical scenario). Sometimes we need to share information with other applications (e.g. our contacts list). ContentProviders Enables Android applications to share data with third parties. Define a standard data access protocol. 18

19 ContentProviders To access the contents of a ContentProvider We need a ContentResolver which we can access by calling getcontentresolver() of the Context class We need different query methods based on the type of data we are interested in We need a standard reference to access the data source URI: Uniform Resource Identificator 19

20 ContentProviders URI Formatted according to the pattern below Where A: prefix that indicates the access type B: authority or specific provider ID C: path to determine the type of the requested data D: specific register (optional) 20

21 ContentProviders ContentResolver Depending if the provider returns a cursor or a stream, we call one of the following methods query(uri, projection, selection, args, order) (cursors) openinputstream(uri) (files) We could also add new data or modify existing registers if the ContentProvider allows it insert(uri, values) (insert data) update(uri, values, where, args) (update registers) openoutputstream(uri) (files) 21

22 ContentProviders There are some Providers already implemented in Android Browser CallLog ContactsContract MediaStore Settings UserDictionary 22

23 ContentProviders In order to create our own ContentProvider, we must Decide which data we want to share, get from others (insert operation), modify or eliminate Create a new classing extending ContentProvider Define the structure of the URIs to access the data Use an UriMatcher to handle incoming URIs and decide what action should be performed Override the corresponding methods in ContentProvider according to the data they should act upon and the UriMatcher 23

24 ContentProviders Example public class SessionsProvider extends ContentProvider { public static final Uri CONTENT_URI = Uri.parse( "content://org.uab.deic.provider.uabdroid/sessions"); private static final int SESSIONS = 1; private static final int SINGLE_SESSION = 2; private static final UriMatcher urimatcher; static { urimatcher = new UriMatcher(UriMatcher.NO_MATCH); urimatcher.adduri("org.uab.deic.provider.uabdroid", "sessions", SESSIONS); urimatcher.adduri("org.uab.deic.provider.uabdroid", "sessions/#", SINGLE_SESSION); } // 24

25 public Cursor query(uri uri, String[] projection, String selection, String[] selectionargs, String sortorder) { SQLiteQueryBuilder querybuilder = new SQLiteQueryBuilder(); querybuilder.settables(databaseadapter.db_table_sessions); switch ( urimatcher.match(uri) ) { case SINGLE_SESSION: querybuilder.appendwhere( DatabaseAdapter.KEY_ROWID + "=" + uri.getlastpathsegment()); break; default: break; } //... Cursor cursor = querybuilder.query(database, projection, selection, selectionargs, null, null, sortorder); cursor.setnotificationuri(getcontext().getcontentresolver(), uri); } return cursor; 25

26 ContentProviders We must declare the ContentProvider in the Manifest file <provider android:name=".services.sessionsprovider" android:authorities="org.uab.deic.provider.uabdroid"/> 26

27 Activity Create a ContentProvider to encapsulate the SQLite DB we have been working with in the previous sessions Define an URI to get the name of all the applications stored in the DB. 27

28 App Widgets The App Widgets are also known as Home Screen Widgets Are a set of small Views which can be executed in another application (Home Screen / Launcher). Periodically updated. We can create and publish them using the AppWidgetProvider class(direct implementation of BroadcastReceiver). 28

29 App Widgets To create a new widget we need To declare it in the Manifest file using the <receiver> tag To create an XML file in /res/xml containing the widget's configuration parameters To define its layout (in the same way we define an Activity's layout) To create a class extending AppWidgetProvider and implement the methods onreceive() onupdate() 29

30 App Widgets Declaring the App Widget in the Manifest <receiver android:name=".services.nextsessionwidget" <intent-filter> <action android:name="android.appwidget.action.appwidget_update" /> </intent-filter> <meta-data android:name="android.appwidget.provider" </receiver> 30

31 App Widgets XML widget configuration file <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android=" android:minwidth="294dp" android:minheight="142dp" android:updateperiodmillis=" " /> 31

32 App Widgets AppWidgetProvider implementation public class NextSessionWidget extends AppWidgetProvider public void onupdate(context context, AppWidgetManager appwidgetmanager, int[] appwidgetids) { super.onupdate(context, appwidgetmanager, appwidgetids); updatesessioninfo(context, appwidgetmanager, appwidgetids); public void onreceive(context context, Intent intent) { super.onreceive(context, intent); } } private void updatesessioninfo(context context, AppWidgetManager appwidgetmanager, int[] appwidgetids) { //... } 32

33 App Widgets Things you should take into consideration We can't update the content of the widget's Views directly (their executed in a different application) We need a RemoteViews object We need a ContentProvider to access the data in our application We can't use any View to create a widget's layout! We can create an initial configuration screen for the first time the widget is created 33

34 App Widgets final int N = appwidgetids.length; for (int i = 0; i < N; i++) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.nextsession_widget); ContentResolver cr = context.getcontentresolver(); Cursor cursor = cr.query(sessionsprovider.content_uri, null, null, null, null); //... Intent intent = new Intent(context, SessionDetailsActivity.class); intent.putextra("number_of_session", sessionid); PendingIntent pendingintent = PendingIntent.getActivity(context, 0, intent, 0); views.setonclickpendingintent(r.id.next_session_widget_layout, pendingintent); //... views.settextviewtext(r.id.next_session_name, title); views.settextviewtext(r.id.next_session_description, content.substring(3)); views.settextviewtext(r.id.next_session_date, date + " - " + hour); } appwidgetmanager.updateappwidget(appwidgetids[i], views); 34

35 App Widgets Layouts we can use for an App Widget FrameLayout LinearLayout RelativeLayout GridLayout 35

36 App Widgets Views we can use for an AppWidget AnalogClock Button Chronometer ImageButton ImageView ProgressBar TextView ViewFlipper ListView GridView StackView AdapterViewFlipper 36

37 Activity Extend the functionality of our DB ContentProvider to return a single element given its ID Create a simple App Widget to show the info of the register with ID = 1 (the first register) in your applications DB. 37

38 If you want to know more... Professional Android Application Development. Chapters 5, 7 i 10 Pro Android. Chapters 5, 14, 21, 22, 27 i 31 Android Developers: Intents and Intent Filters Android Developers: Content Providers Android Developers: App Widgets 38

Android Framework. How to use and extend it

Android Framework. How to use and extend it Android Framework How to use and extend it Lectures 9/10 Android Security Security threats Security gates Android Security model Bound Services Complex interactions with Services Alberto Panizzo 2 Lecture

More information

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc. Android Application Development Daniel Switkin Senior Software Engineer, Google Inc. Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Walk

More information

Android Application Model

Android Application Model Android Application Model Content - Activities - Intent - Tasks / Applications - Lifecycle - Processes and Thread - Services - Content Provider Dominik Gruntz IMVS [email protected] 1 Android Software

More information

CSE476 Mobile Application Development. Yard. Doç. Dr. Tacha Serif [email protected]. Department of Computer Engineering Yeditepe University

CSE476 Mobile Application Development. Yard. Doç. Dr. Tacha Serif tserif@cse.yeditepe.edu.tr. Department of Computer Engineering Yeditepe University CSE476 Mobile Application Development Yard. Doç. Dr. Tacha Serif [email protected] Department of Computer Engineering Yeditepe University Fall 2015 Yeditepe University 2015 Outline Dalvik Debug

More information

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile

More information

Application Development

Application Development BEGINNING Android Application Development Wei-Meng Lee WILEY Wiley Publishing, Inc. INTRODUCTION xv CHAPTER 1: GETTING STARTED WITH ANDROID PROGRAMMING 1 What Is Android? 2 Android Versions 2 Features

More information

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

App Development for Smart Devices. Lec #4: Services and Broadcast Receivers Try It Out App Development for Smart Devices CS 495/595 - Fall 2013 Lec #4: Services and Broadcast Receivers Try It Out Tamer Nadeem Dept. of Computer Science Try It Out Example 1 (in this slides) Example 2 (in this

More information

Android Services. Android. Victor Matos

Android Services. Android. Victor Matos Lesson 22 Android Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html Portions of this page are reproduced from work created and shared

More information

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean Course Description Getting Started with Android Programming is designed to give students a strong foundation to develop apps

More information

Android Basics. Xin Yang 2016-05-06

Android Basics. Xin Yang 2016-05-06 Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)

More information

Android Fundamentals 1

Android Fundamentals 1 Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks

More information

Chapter 9: Customize! Navigating with Tabs on a Tablet App

Chapter 9: Customize! Navigating with Tabs on a Tablet App Chapter 9: Customize! Navigating with Tabs on a Tablet App Objectives In this chapter, you learn to: Create an Android tablet project using a tab layout Code an XML layout with a TabHost control Display

More information

CHAPTER 1: INTRODUCTION TO ANDROID, MOBILE DEVICES, AND THE MARKETPLACE

CHAPTER 1: INTRODUCTION TO ANDROID, MOBILE DEVICES, AND THE MARKETPLACE FOREWORD INTRODUCTION xxiii xxv CHAPTER 1: INTRODUCTION TO ANDROID, MOBILE DEVICES, AND THE MARKETPLACE 1 Product Comparison 2 The.NET Framework 2 Mono 3 Mono for Android 4 Mono for Android Components

More information

Android Application Development - Exam Sample

Android Application Development - Exam Sample Android Application Development - Exam Sample 1 Which of these is not recommended in the Android Developer's Guide as a method of creating an individual View? a Create by extending the android.view.view

More information

Android. Mobile Computing Design and Implementation. Application Components, Sensors. Peter Börjesson

Android. Mobile Computing Design and Implementation. Application Components, Sensors. Peter Börjesson Android Application Components, Sensors Mobile Computing Design and Implementation Peter Börjesson Application Sandbox Android System & Device Data Contacts, Messages, SD Card, Camera, Bluetooth, etc.

More information

Beginner s Android Development Tutorial!

Beginner s Android Development Tutorial! Beginner s Android Development Tutorial! Georgia Tech Research Network Operations Center (RNOC)! cic.gatech.edu Questions? Get in touch! piazza.com/gatech/spring2015/cic [email protected]

More information

Android Geek Night. Application framework

Android Geek Night. Application framework Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks

More information

Creating a List UI with Android. Michele Schimd - 2013

Creating a List UI with Android. Michele Schimd - 2013 Creating a List UI with Android Michele Schimd - 2013 ListActivity Direct subclass of Activity By default a ListView instance is already created and rendered as the layout of the activity mylistactivit.getlistview();

More information

Using the Android Sensor API

Using the Android Sensor API Using the Android Sensor API Juan José Marrón Department of Computer Science & Engineering [email protected] # Outline Sensors description: - Motion Sensors - Environmental Sensors - Positioning Sensors

More information

@ME (About) Marcelo Cyreno. Skype: marcelocyreno Linkedin: marcelocyreno Mail: [email protected]

@ME (About) Marcelo Cyreno. Skype: marcelocyreno Linkedin: marcelocyreno Mail: marcelocyreno@gmail.com Introduction @ME (About) Marcelo Cyreno Skype: marcelocyreno Linkedin: marcelocyreno Mail: [email protected] Android - Highlights Open Source Linux Based Developed by Google / Open Handset Alliance

More information

Iotivity Programmer s Guide Soft Sensor Manager for Android

Iotivity Programmer s Guide Soft Sensor Manager for Android Iotivity Programmer s Guide Soft Sensor Manager for Android 1 CONTENTS 2 Introduction... 3 3 Terminology... 3 3.1 Physical Sensor Application... 3 3.2 Soft Sensor (= Logical Sensor, Virtual Sensor)...

More information

Getting Started With Android

Getting Started With Android Getting Started With Android Author: Matthew Davis Date: 07/25/2010 Environment: Ubuntu 10.04 Lucid Lynx Eclipse 3.5.2 Android Development Tools(ADT) 0.9.7 HTC Incredible (Android 2.1) Preface This guide

More information

ANDROID APPS DEVELOPMENT FOR MOBILE GAME

ANDROID APPS DEVELOPMENT FOR MOBILE GAME ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences

More information

ITG Software Engineering

ITG Software Engineering Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android

More information

Introduction to Android SDK Jordi Linares

Introduction to Android SDK Jordi Linares Introduction to Android SDK Introduction to Android SDK http://www.android.com Introduction to Android SDK Google -> OHA (Open Handset Alliance) The first truly open and comprehensive platform for mobile

More information

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus 6111 E. Skelly Drive P. O. Box 477200 Tulsa, OK 74147-7200 INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus Course Number: APD-0248 OHLAP Credit: No OCAS Code: None Course Length: 120 Hours Career Cluster:

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) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: [email protected] Facebook: http://www.facebook.com/peterlo111

More information

A Short Introduction to Android

A Short Introduction to Android A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview

More information

Android Development. Marc Mc Loughlin

Android Development. Marc Mc Loughlin Android Development Marc Mc Loughlin Android Development Android Developer Website:h:p://developer.android.com/ Dev Guide Reference Resources Video / Blog SeCng up the SDK h:p://developer.android.com/sdk/

More information

Operating System Support for Inter-Application Monitoring in Android

Operating System Support for Inter-Application Monitoring in Android Operating System Support for Inter-Application Monitoring in Android Daniel M. Jackowitz Spring 2013 Submitted in partial fulfillment of the requirements of the Master of Science in Software Engineering

More information

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN. Android in Action Second Edition W. FRANK ABLESON ROBI SEN CHRIS KING Revised Edition of Unlocking Android II MANNING Greenwich (74 w. long.) contents preface xvii preface to the first edition xix acknowledgments

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Android Application Development Course Program

Android Application Development Course Program Android Application Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive data types, variables, basic operators,

More information

APPFORUM2014. Helping the developer community build next-generation, multi-platform apps. SCHAUMBURG, ILLINOIS SEPTEMBER 8-10

APPFORUM2014. Helping the developer community build next-generation, multi-platform apps. SCHAUMBURG, ILLINOIS SEPTEMBER 8-10 APPFORUM2014 Helping the developer community build next-generation, multi-platform apps. SCHAUMBURG, ILLINOIS SEPTEMBER 8-10 NFC OVERVIEW Chuck Bolen Chief Architect Enterprise Mobile Computing APPFORUM2014

More information

High-performance Android apps. Tim Bray

High-performance Android apps. Tim Bray High-performance Android apps Tim Bray Two Questions How do you make your app run fast? When your app has to do some real work, how do keep the user experience pleasant? Jank Chrome team's term for stalling

More information

Address Phone & Fax Internet

Address Phone & Fax Internet Smilehouse Workspace 1.13 Payment Gateway API Document Info Document type: Technical document Creator: Smilehouse Workspace Development Team Date approved: 31.05.2010 Page 2/34 Table of Content 1. Introduction...

More information

Android Security Lab WS 2014/15 Lab 1: Android Application Programming

Android Security Lab WS 2014/15 Lab 1: Android Application Programming Saarland University Information Security & Cryptography Group Prof. Dr. Michael Backes saarland university computer science Android Security Lab WS 2014/15 M.Sc. Sven Bugiel Version 1.0 (October 6, 2014)

More information

Getting started with Android and App Engine

Getting started with Android and App Engine Getting started with Android and App Engine About us Tim Roes Software Developer (Mobile/Web Solutions) at inovex GmbH www.timroes.de www.timroes.de/+ About us Daniel Bälz Student/Android Developer at

More information

Android Basic XML Layouts

Android Basic XML Layouts Android Basic XML Layouts Notes are based on: The Busy Coder's Guide to Android Development by Mark L. Murphy Copyright 2008-2009 CommonsWare, LLC. ISBN: 978-0-9816780-0-9 & Android Developers http://developer.android.com/index.html

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

Tutorial #1. Android Application Development Advanced Hello World App

Tutorial #1. Android Application Development Advanced Hello World App Tutorial #1 Android Application Development Advanced Hello World App 1. Create a new Android Project 1. Open Eclipse 2. Click the menu File -> New -> Other. 3. Expand the Android folder and select Android

More information

Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik

Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik Mobile Solutions for Data Collection Sarah Croft and Laura Pierik Presentation Overview Project Overview Benefits of using Mobile Technology Mobile Solutions- two different approaches Results and Recommendations

More information

Mobile App Design and Development

Mobile App Design and Development Mobile App Design and Development The course includes following topics: Apps Development 101 Introduction to mobile devices and administrative: Mobile devices vs. desktop devices ARM and intel architectures

More information

Android Application Development

Android Application Development Android Application Development Self Study Self Study Guide Content: Course Prerequisite Course Content Android SDK Lab Installation Guide Start Training Be Certified Exam sample Course Prerequisite The

More information

ELET4133: Embedded Systems. Topic 15 Sensors

ELET4133: Embedded Systems. Topic 15 Sensors ELET4133: Embedded Systems Topic 15 Sensors Agenda What is a sensor? Different types of sensors Detecting sensors Example application of the accelerometer 2 What is a sensor? Piece of hardware that collects

More information

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources Homework 2 questions 10/9/2012 Y. Richard Yang 1 2 Recap: TinyOS Hardware components motivated design

More information

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development. Android Development 101 Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development. Activity In Android, each application (and perhaps each screen

More information

Jordan Jozwiak November 13, 2011

Jordan Jozwiak November 13, 2011 Jordan Jozwiak November 13, 2011 Agenda Why Android? Application framework Getting started UI and widgets Application distribution External libraries Demo Why Android? Why Android? Open source That means

More information

A qbit on Android Security

A qbit on Android Security A qbit on Android Security Sergey Gorbunov One of the problems with modern desktop operating system is that there is no isolation between applications and the system. As we saw in class, a buggy application

More information

Basics of Android Development 1

Basics of Android Development 1 Departamento de Engenharia Informática Minds-On Basics of Android Development 1 Paulo Baltarejo Sousa [email protected] 2016 1 The content of this document is based on the material presented at http://developer.android.com

More information

Pedometer Project 1 Mr. Michaud / www.nebomusic.net

Pedometer Project 1 Mr. Michaud / www.nebomusic.net Mobile App Design Project Pedometer Using Accelerometer Sensor Description: The Android Phone has a three direction accelerometer sensor that reads the change in speed along three axis (x, y, and z). Programs

More information

An In-Depth Introduction to the Android Permission Model and How to Secure Multi-Component Applications. OWASP 3 April 2012 Presented at AppSecDC 2012

An In-Depth Introduction to the Android Permission Model and How to Secure Multi-Component Applications. OWASP 3 April 2012 Presented at AppSecDC 2012 An In-Depth Introduction to the Android Permission Model and How to Secure Multi-Component Applications Jeff Six jeffsix.com 3 April 2012 Presented at AppSecDC 2012 Copyright The Foundation Permission

More information

Google Android Syllabus

Google Android Syllabus Google Android Syllabus Introducing the Android Computing Platform A New Platform for a New Personal Computer Early History of Android Delving Into the Dalvik VM Understanding the Android Software Stack

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

Developing for MSI Android Devices

Developing for MSI Android Devices Android Application Development Enterprise Features October 2013 Developing for MSI Android Devices Majority is the same as developing for any Android device Fully compatible with Android SDK We test using

More information

Saindo da zona de conforto resolvi aprender Android! by Daniel Baccin

Saindo da zona de conforto resolvi aprender Android! by Daniel Baccin Saindo da zona de conforto resolvi aprender Android! by Daniel Baccin Mas por que Android??? Documentação excelente Crescimento no número de apps Fonte: http://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/

More information

Les Broadcast Receivers...

Les Broadcast Receivers... Les Broadcast Receivers... http://developer.android.com/reference/android/content/broadcastreceiver.html Mécanisme qui, une fois «enregistré» dans le système, peut recevoir des Intents Christophe Logé

More information

Android Development Introduction

Android Development Introduction Android Development Introduction Notes are based on: Unlocking Android by Frank Ableson, Charlie Collins, and Robi Sen. ISBN 978 1 933988 67 2 Manning Publications, 2009. & Android Developers http://developer.android.com/index.html

More information

Developing Android Apps: Part 1

Developing Android Apps: Part 1 : Part 1 [email protected] 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

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2. Testing Dynamic Web Applications How To You can use XML Path Language (XPath) queries and URL format rules to test web sites or applications that contain dynamic content that changes on a regular basis.

More information

My IC Customizer: Descriptors of Skins and Webapps for third party User Guide

My IC Customizer: Descriptors of Skins and Webapps for third party User Guide User Guide 8AL 90892 USAA ed01 09/2013 Table of Content 1. About this Document... 3 1.1 Who Should Read This document... 3 1.2 What This Document Tells You... 3 1.3 Terminology and Definitions... 3 2.

More information

SCanDroid: Automated Security Certification of Android Applications

SCanDroid: Automated Security Certification of Android Applications SCanDroid: Automated Security Certification of Android Applications Adam P. Fuchs, Avik Chaudhuri, and Jeffrey S. Foster University of Maryland, College Park {afuchs,avik,jfoster}@cs.umd.edu Abstract Android

More information

Android Application Development Lecture Notes INDEX

Android Application Development Lecture Notes INDEX Android Application Development Lecture Notes INDEX Lesson 1. Introduction 1-2 Mobile Phone Evolution 1-3 Hardware: What is inside a Smart Cellular Phone? 1-4 Hardware: Reusing Cell Phone Frequencies 1-5

More information

TomTom PRO 82xx PRO.connect developer guide

TomTom PRO 82xx PRO.connect developer guide TomTom PRO 82xx PRO.connect developer guide Contents Introduction 3 Preconditions 4 Establishing a connection 5 Preparations on Windows... 5 Preparations on Linux... 5 Connecting your TomTom PRO 82xx device

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone - 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone - 2012 Android Development Lecture 2 Android Platform Università Degli Studi di Parma Lecture Summary 2 The Android Platform Dalvik Virtual Machine Application Sandbox Security and Permissions Traditional Programming

More information

Introduction to Android Programming (CS5248 Fall 2015)

Introduction to Android Programming (CS5248 Fall 2015) Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni ([email protected]) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android

More information

Android Application Development Cookbook. 93 Recipes for Building Winning Apps

Android Application Development Cookbook. 93 Recipes for Building Winning Apps Brochure More information from http://www.researchandmarkets.com/reports/2246409/ Android Application Development Cookbook. 93 Recipes for Building Winning Apps Description: A must-have collection of ready-to-use

More information

Technical Manual Login for ios & Android

Technical Manual Login for ios & Android Technical Manual Login for ios & Android Version 15.1 November 2015 Index 1 The DocCheck App Login....................................... 3 1.1 App Login Basic The classic among apps..........................

More information

1. Introduction to Android

1. Introduction to Android 1. Introduction to Android Brief history of Android What is Android? Why is Android important? What benefits does Android have? What is OHA? Why to choose Android? Software architecture of Android Advantages

More information

Composite.Community.Newsletter - User Guide

Composite.Community.Newsletter - User Guide Composite.Community.Newsletter - User Guide Composite 2015-11-09 Composite A/S Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.composite.net Contents 1 INTRODUCTION... 4 1.1 Who Should Read This

More information

1. To start Installation: To install the reporting tool, copy the entire contents of the zip file to a directory of your choice. Run the exe.

1. To start Installation: To install the reporting tool, copy the entire contents of the zip file to a directory of your choice. Run the exe. CourseWebs Reporting Tool Desktop Application Instructions The CourseWebs Reporting tool is a desktop application that lets a system administrator modify existing reports and create new ones. Changes to

More information

INFORMATION BROCHURE

INFORMATION BROCHURE INFORMATION BROCHURE OF ADVANCE COURSE ON MOBILE APPLICATION DEVELOPMENT USING ANDROID PROGRAMMING (Specialization: Android Programming) National Institute of Electronics & Information Technology (An Autonomous

More information

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be

More information

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc. «compl*tc IDIOT'S GUIDE Android App Development by Christopher Froehlich A ALPHA A member of Penguin Group (USA) Inc. Contents Part 1: Getting Started 1 1 An Open Invitation 3 Starting from Scratch 3 Software

More information

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing

More information

Android For Java Developers. Marko Gargenta Marakana

Android For Java Developers. Marko Gargenta Marakana Android For Java Developers Marko Gargenta Marakana Agenda Android History Android and Java Android SDK Hello World! Main Building Blocks Debugging Summary History 2005 Google buys Android, Inc. Work on

More information

2. Click the download button for your operating system (Windows, Mac, or Linux).

2. Click the download button for your operating system (Windows, Mac, or Linux). Table of Contents: Using Android Studio 1 Installing Android Studio 1 Installing IntelliJ IDEA Community Edition 3 Downloading My Book's Examples 4 Launching Android Studio and Importing an Android Project

More information

Android Development Introduction

Android Development Introduction Android Development Introduction Notes are based on: Unlocking Android by Frank Ableson, Charlie Collins, and Robi Sen. ISBN 978-1-933988-67-2 Manning Publications, 2009. & Android Developers http://developer.android.com/index.html

More information

Android app development course

Android app development course Android app development course Unit 7- + Beyond Android Activities. SMS. Audio, video, camera. Sensors 1 SMS We can send an SMS through Android's native client (using an implicit Intent) Intent smsintent

More information

Application Notes: MaxACD Connector For Salesforce

Application Notes: MaxACD Connector For Salesforce Application Notes: MaxACD Connector For Salesforce March 2013 Contents Introduction... 3 Requirements... 3 Installing the MaxACD Salesforce Connector... 4 Step 1: Import the Call Center File into Salesforce...

More information

Aura Kitchen Monitor. 2012 Coherent Software Solutions

Aura Kitchen Monitor. 2012 Coherent Software Solutions Part Introduction I 1 Introduction Introduction Kitchen Items is an alternative method for alerting kitchen staff about new orders waiting to be prepared. When compared to the standard method of passing

More information

Android Framework. How to use and extend it

Android Framework. How to use and extend it Android Framework How to use and extend it Lecture 3: UI and Resources Android UI Resources = {XML, Raw data} Strings, Drawables, Layouts, Sound files.. UI definition: Layout example Elements of advanced

More information