The Android winds of change. From Kit-Kat to L, and the power of saving power

Size: px
Start display at page:

Download "The Android winds of change. From Kit-Kat to L, and the power of saving power"

Transcription

1 The Android winds of change From Kit-Kat to L, and the power of saving power

2 Why are you here? Info on the new IDE, and setting up projects! Want to know the changes L brings to your Kit-Kat apps! How to analyse your app s performance

3 Android Java based! Approximately annual upgrade! Previous version: Kit-Kat! Based on Holo design! Next version: Something starting with L! Based on Material design

4 The app: Pokedex Master/Detail view of Pokemon! Originally designed for Android Kit-Kat

5 The migration Change the structure of the app! Style it! Improve performance

6 The IDE & project setup

7 A comparison Used Eclipse with ADT plugin to develop! Ant to build, especially via CI! Manual dependency management Build Tool Dependency Management Updates Eclipse with ADT Android Studio Ant Manual via lib imports Gradle Automatic via Gradle ADT plugin not actively being updated Constantly being updated with new IDE features

8 What do I need to change? <manifest xmlns:android=" <uses-sdk! android:minsdkversion="15"! android:targetsdkversion="18" />!!! </manifest>

9 What do I need to change? android {! compilesdkversion 'android-l'! buildtoolsversion '20.0.0'! defaultconfig {! targetsdkversion 'L'! }! } dependencies {! compile 'com.android.support:support-v4:+'! compile 'com.android.support:cardview-v7:+'! compile 'com.android.support:recyclerview-v7:+'! compile 'com.android.support:palette-v7:+'! }

10 New components

11 RecyclerView More advanced and flexible than ListView! Forces the ViewHolder pattern! Recycling process is more efficient! Requires an external LayoutManager

12 RecyclerView in action <android.support.v7.widget.recyclerview xmlns:android=" </android.support.v7.widget.recyclerview>

13 RecyclerView in action protected void oncreate(bundle savedinstancestate) { // Set the content view RecyclerView recyclerview =!! (RecyclerView)findViewById(R.id.my_recycler_view);! RecyclerView.LayoutManager layoutmanager = " " " " new LinearLayoutManager(this); recyclerview.setlayoutmanager(layoutmanager);! } // Setup adapter

14 ViewHolder pattern? View scrolls off screen View is held off screen Scroll RecyclerView up View is recycled when needed avoiding the need to recreate the View, thus improving app performance

15 Implementing the ViewHolder pattern Create a RecyclerView.ViewHolder 1 Bind the data to the element s view in onbindviewholder() 4 2 Create the RecyclerView.Adapter to use the ViewHolder 3 Inflate the element s view in RecyclerView.Adapter s oncreateviewholder()

16 Implementing the ViewHolder pattern Create a RecyclerView.ViewHolder 1 Bind the data to the element s view in onbindviewholder() 4 2 Create the RecyclerView.Adapter to use the ViewHolder 3 Inflate the element s view in RecyclerView.Adapter s oncreateviewholder()

17 Implementing the ViewHolder pattern Create a RecyclerView.ViewHolder 1 Bind the data to the element s view in onbindviewholder() 4 2 Create the RecyclerView.Adapter to use the ViewHolder 3 Inflate the element s view in RecyclerView.Adapter s oncreateviewholder()

18 Implementing the ViewHolder pattern Create a RecyclerView.ViewHolder 1 Bind the data to the element s view in onbindviewholder() 4 2 Create the RecyclerView.Adapter to use the ViewHolder 3 Inflate the element s view in RecyclerView.Adapter s oncreateviewholder()

19 How does this look? public class PokedexHolder extends RecyclerView.ViewHolder {! public CardView card;! public ImageView image;! public TextView text;!! public PokedexHolder(View v) {! super(v);! card = (CardView) v.findviewbyid(r.id.card_view);! image = (ImageView) v.findviewbyid(r.id.img_image);! text = (TextView) v.findviewbyid(r.id.txt_name);! }! }

20 How does this look? public class PokemonArrayAdapter!! extends RecyclerView.Adapter<PokedexHolder>!! implements View.OnClickListener public PokedexHolder oncreateviewholder(viewgroup viewgroup, int pos) {! View v = LayoutInflater.from(viewGroup.getContext()) " " ".inflate(r.layout.row_pokemon, viewgroup, false);" PokedexHolder holder = new PokedexHolder(v);" holder.card.setonclicklistener(this); } return holder;! }!!

21 How does this look? pubic class PokemonAdapter {!! public void onbindviewholder( " " PokedexHolder pokedexholder, int position) {!! Pokemon p = getpokemonfromlist(position);! pokedexholder.image.setimagedrawable(!! context.getresources().getdrawable(p.getimage()));! } }! pokedexholder.text.settext(p.getname());!

22 How does this look? protected void oncreate(bundle savedinstancestate) {!!!! PokemonArrayAdapter adapter =!!! new PokemonArrayAdapter(this, items);!!! recyclerview.setadapter(adapter);! }

23 CardView Material design > Paper > CardView! Mobile, Tablet, Wearables(Glass, Watch), TV, Auto! Rounded corners! Elevations / Shadows

24 CardView <android.support.v7.widget.cardview xmlns:card_view=" xmlns:android=" card_view:cardcornerradius="4dp"> <!-- Insert card layout here --> </android.support.v7.widget.cardview>!

25 Progress

26 Material design: What is it?

27 What is Material design? More paper look and feel! To provide a way to the user to relate to elements on devices using:! cards! shadows! elevations

28 How does it differ from Kit-Kat? Bright bold colours vs splashes of colour! Motion to indicate actions have been performed! Custom palettes! Elevations and shadows

29 Themes Themes aren t new! Base theme: Theme.material! Dark, Light, Light with DarkActionBar

30 Colours Wider gamut of colours! Combinations of primary and secondary colours

31 Palettes & named colours Custom palettes! Named colours

32 Changing the Pokedex theme

33 Changing the Pokedex theme <resources>! <!-- Base application theme. -->! <style name= AppTheme" parent="android:theme.material.light">! <item <item <item <item <item </style>! </resources>

34 Adding custom colours public void onbindviewholder(...) { Palette palette = Palette.generate(image);! if (palette.getdarkmutedcolor()!= null) {! holder.text.setbackgroundcolor(!!! palette.getdarkmutedcolor().getrgb()); } if (palette.getvibrantcolor()!= null) {! holder.text.settextcolor(!!! palette.getvibrantcolor().getrgb()); } }

35 Visually complete!

36 But the battery is draining quickly

37 But the battery is draining quickly We need to fix this before it goes to the Play Store!

38 Battery Performance

39 Project Volta Performance improvements in Android platform! Tools to analyse application efficiency! Increase user awareness of power consumption

40 Project Volta Waking a device for 1 sec = 2 mins of standby time lost

41 Battery stats adb shell dumpsys batterystats --charged <package-name>

42 Battery Historian Python script used to create an HTML visualisation of the data obtained from batterystats command Battery Stats Battery Historian HTML Visualisation

43 What does the output look like?

44 What can we infer from this graph?

45 What can we infer from this graph?

46 Pokedex Performance

47 Power Management Strategies

48 Being lazy is good Make apps Lazy first! Reduce number of time app is active! Coalesce actions together! Defer actions to a later time! eg: when charging

49 Consider this What is the longest time I am willing to wait to complete this task?

50 JobScheduler Allows you to schedule jobs to occur at a later time.

51 What is a job? A job is a non user-facing network call eg:! CPU intensive operations you d prefer when the user isn t around! Some job you need to perform periodically, or in the future

52 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"!

53 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true)!.build();

54 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true) Job ID!.build();

55 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true) Job Endpoint!.build();

56 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true)!.build(); Network Type

57 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true)!.build(); Periodically recur

58 Create a job example #1 Every fifteen hours, perform some database clean-up and upload some logs to the server"! JobInfo uploadjob =! new JobInfo.Builder(mJobId, mservicecomponent)!.setrequirednetworkcapabilities(jobinfo.networktype.any)!.setperiodic(15 * DateUtils.HOURS_IN_MILLIS)!.setRequiresCharging(true)!.build(); Charging constraint

59 Schedule Criteria Network activity aware! Idle mode! Run task while charging! Metered/unmetered

60 Schedule features Persistence! Retry / back-off! One-time / periodic

61 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"!

62 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"! JobInfo job = new JobInfo.Builder(mJobId + 1, mservicecomponent)!.setminimumlatency(5 * DateUtils.SECONDS_IN_MILLIS)!.setOverrideDeadline(15 * DateUtils.MINUTES_IN_MILLIS)!.build();

63 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"! JobInfo job = new JobInfo.Builder(mJobId + 1, mservicecomponent)!.setminimumlatency(5 * DateUtils.SECONDS_IN_MILLIS)!.setOverrideDeadline(15 * DateUtils.MINUTES_IN_MILLIS)!.build(); Job ID

64 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"! JobInfo job = new JobInfo.Builder(mJobId + 1, mservicecomponent)!.setminimumlatency(5 * DateUtils.SECONDS_IN_MILLIS)!.setOverrideDeadline(15 * DateUtils.MINUTES_IN_MILLIS)!.build(); Job Endpoint

65 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"! JobInfo job = new JobInfo.Builder(mJobId + 1, mservicecomponent)!.setminimumlatency(5 * DateUtils.SECONDS_IN_MILLIS)!.setOverrideDeadline(15 * DateUtils.MINUTES_IN_MILLIS)!.build(); Start Delay

66 Create a job example #2 Schedule a job to run five seconds from now, but before fifteen minutes have passed"! JobInfo job = new JobInfo.Builder(mJobId + 1, mservicecomponent)!.setminimumlatency(5 * DateUtils.SECONDS_IN_MILLIS)!.setOverrideDeadline(15 * DateUtils.MINUTES_IN_MILLIS)!.build(); Deadline

67 Creating an endpoint System Service! onstartjob() System calls the onstartjob() of your service!!

68 Creating an endpoint System Service! onstartjob() { } System calls the onstartjob() of your service!!

69 Creating an endpoint System Service! onstartjob() { } System calls the onstartjob() of your service! Perform logic!

70 Creating an endpoint System Service! onstartjob() { jobfinished(); } System calls the onstartjob() of your service! Perform logic! Call jobfinished() when job is complete

71 Creating an endpoint System Service! onstartjob() { jobfinished(); } System calls the onstartjob() of your service! Perform logic! Call jobfinished() when job is complete

72 Criteria has changed and not valid System Service! onstartjob()

73 Criteria has changed and not valid System Service! onstartjob() onstopjob() System calls the onstopjob()!!

74 Criteria has changed and not valid System Service! onstartjob() onstopjob() System calls the onstopjob()!!

75 Criteria has changed and not valid System Service! onstopjob() {! } System calls the onstopjob()!!

76 Criteria has changed and not valid System Service! onstopjob() {! } System calls the onstopjob()! Perform logic!

77 Criteria has changed and not valid System Service! onstopjob() { jobfinished(); } System calls the onstopjob()! Perform logic! Call jobfinished() when job is complete

78 Criteria has changed and not valid System Service! onstopjob() { jobfinished(); } System calls the onstopjob()! Perform logic! Call jobfinished() when job is complete

79 Pokedex Performance Before After

80 Battery Historian

81 What just happened Changed structure of app! New IDE! RecyclerView, CardView! Applied colour! Themes! Custom colour palettes! Improved performance! JobScheduler! Battery Historian

82 Where to from here? Download latest Android Studio with Android L-Preview API! Read the Google docs on Material and Android L-Preview! Start coding!!!

83 Final thoughts

84 Questions? OMPodcast

SDK Quick Start Guide

SDK Quick Start Guide SDK Quick Start Guide Table of Contents Requirements...3 Project Setup...3 Using the Low Level API...9 SCCoreFacade...9 SCEventListenerFacade...10 Examples...10 Call functionality...10 Messaging functionality...10

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: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111

More information

Hello World. by Elliot Khazon

Hello World. by Elliot Khazon Hello World by Elliot Khazon Prerequisites JAVA SDK 1.5 or 1.6 Windows XP (32-bit) or Vista (32- or 64-bit) 1 + more Gig of memory 1.7 Ghz+ CPU Tools Eclipse IDE 3.4 or 3.5 SDK starter package Installation

More information

Developing Android Apps: Part 1

Developing Android Apps: Part 1 : Part 1 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

Boardies IT Solutions info@boardiesitsolutions.com Tel: 01273 252487

Boardies IT Solutions info@boardiesitsolutions.com Tel: 01273 252487 Navigation Drawer Manager Library H ow to implement Navigation Drawer Manager Library into your A ndroid Applications Boardies IT Solutions info@boardiesitsolutions.com Tel: 01273 252487 Contents Version

More information

Mocean Android SDK Developer Guide

Mocean Android SDK Developer Guide Mocean Android SDK Developer Guide For Android SDK Version 3.2 136 Baxter St, New York, NY 10013 Page 1 Table of Contents Table of Contents... 2 Overview... 3 Section 1 Setup... 3 What changed in 3.2:...

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

How to build your first Android Application in Windows

How to build your first Android Application in Windows APPLICATION NOTE How to build your first Android Application in Windows 3/30/2012 Created by: Micah Zastrow Abstract This application note is designed to teach the reader how to setup the Android Development

More information

Setting up Sudoku example on Android Studio

Setting up Sudoku example on Android Studio Installing Android Studio 1 Setting up Sudoku example on Android Studio Installing Android Studio Android Studio provides everything you need to start developing apps for Android, including the Android

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

Wireless Systems Lab. First Lesson. Wireless Systems Lab - 2014

Wireless Systems Lab. First Lesson. Wireless Systems Lab - 2014 Wireless Systems Lab First Lesson About this course Internet of Things Android and sensors Mobile sensing Indoor localization Activity recognition others.. Exercises Projects :) Internet of Things Well-known

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts

More information

How to develop your own app

How to develop your own app How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that

More information

PubMatic Android SDK. Developer Guide. For Android SDK Version 4.3.5

PubMatic Android SDK. Developer Guide. For Android SDK Version 4.3.5 PubMatic Android SDK Developer Guide For Android SDK Version 4.3.5 Nov 25, 2015 1 2015 PubMatic Inc. All rights reserved. Copyright herein is expressly protected at common law, statute, and under various

More information

OpenCV on Android Platforms

OpenCV on Android Platforms OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it moltisanti@dmi.unict.it http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android

More information

Getting Started: Creating a Simple App

Getting Started: Creating a Simple App Getting Started: Creating a Simple App What You will Learn: Setting up your development environment Creating a simple app Personalizing your app Running your app on an emulator The goal of this hour is

More information

Arduino & Android. A How to on interfacing these two devices. Bryant Tram

Arduino & Android. A How to on interfacing these two devices. Bryant Tram Arduino & Android A How to on interfacing these two devices Bryant Tram Contents 1 Overview... 2 2 Other Readings... 2 1. Android Debug Bridge -... 2 2. MicroBridge... 2 3. YouTube tutorial video series

More information

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 Tutorial: Android Object API Application Development SAP Mobile Platform 2.3 DOCUMENT ID: DC01939-01-0230-01 LAST REVISED: March 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication

More information

Introduction to Android Development. Daniel Rodrigues, Buuna 2014

Introduction to Android Development. Daniel Rodrigues, Buuna 2014 Introduction to Android Development Daniel Rodrigues, Buuna 2014 Contents 1. Android OS 2. Development Tools 3. Development Overview 4. A Simple Activity with Layout 5. Some Pitfalls to Avoid 6. Useful

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

Android App Development. Rameel Sethi

Android App Development. Rameel Sethi Android App Development Rameel Sethi Relevance of Android App to LFEV Would be useful for technician at Formula EV race course to monitor vehicle conditions on cellphone Can serve as useful demo of LFEV

More information

Mobile Application Development

Mobile Application Development Mobile Application Development (Android & ios) Tutorial Emirates Skills 2015 3/26/2015 1 What is Android? An open source Linux-based operating system intended for mobile computing platforms Includes a

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 Concepts and Programming TUTORIAL 1

Android Concepts and Programming TUTORIAL 1 Android Concepts and Programming TUTORIAL 1 Kartik Sankaran kar.kbc@gmail.com CS4222 Wireless and Sensor Networks [2 nd Semester 2013-14] 20 th January 2014 Agenda PART 1: Introduction to Android - Simple

More information

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction Title: Appium Automation for Mac OS X Created By: Prithivirajan M Abstract This document aims at providing the necessary information required for setting up mobile testing environment in Mac OS X for testing

More information

Chapter 2 Getting Started

Chapter 2 Getting Started Welcome to Android Chapter 2 Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample Code Best development environment is Eclipse with the Android Developer Tool (ADT)

More information

Trepn plug-in for Eclipse FAQ

Trepn plug-in for Eclipse FAQ Trepn plug-in for Eclipse FAQ Introduction and Technical Problem Q: What is Trepn plug-in for Eclipse? A: The Trepn plug-in for Eclipse is a power profiling tool created by Qualcomm Technologies Inc. for

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends

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

Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02

Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02 Tutorial: Android Object API Application Development Sybase Unwired Platform 2.2 SP02 DOCUMENT ID: DC01734-01-0222-01 LAST REVISED: January 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This

More information

Performance - Optimierung. mit und ohne Android Developer Tools. Dominik Helleberg

Performance - Optimierung. mit und ohne Android Developer Tools. Dominik Helleberg Performance - Optimierung mit und ohne Android Developer Tools Dominik Helleberg Köln - 25.09.2014 Performance Analysieren Verstehen Fixen 2 Performance-Probleme... Netzwerk / Cache 3 Performance-Probleme...

More information

HTTPS hg clone https://bitbucket.org/dsegna/device plugin library SSH hg clone ssh://hg@bitbucket.org/dsegna/device plugin library

HTTPS hg clone https://bitbucket.org/dsegna/device plugin library SSH hg clone ssh://hg@bitbucket.org/dsegna/device plugin library Contents Introduction... 2 Native Android Library... 2 Development Tools... 2 Downloading the Application... 3 Building the Application... 3 A&D... 4 Polytel... 6 Bluetooth Commands... 8 Fitbit and Withings...

More information

Android app development course

Android app development course Android app development course Unit 8- + Beyond the SDK. Google Play Store. Monetization 1 Google Play Google offers Play Store as a distribution platform for our applications. Present on all Android-powered

More information

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android

More information

How To Use Titanium Studio

How To Use Titanium Studio Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration

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

Overview. About Interstitial Ads: About Banner Ads: About Offer-Wall Ads: ADAttract Account & ID

Overview. About Interstitial Ads: About Banner Ads: About Offer-Wall Ads: ADAttract Account & ID Overview About Interstitial Ads: Interstitial ads are full screen ads that cover the interface of their host app. They are generally displayed at usual transformation points in the flow of an app, such

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

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

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

Android Introduction. Hello World. @2010 Mihail L. Sichitiu 1

Android Introduction. Hello World. @2010 Mihail L. Sichitiu 1 Android Introduction Hello World @2010 Mihail L. Sichitiu 1 Goal Create a very simple application Run it on a real device Run it on the emulator Examine its structure @2010 Mihail L. Sichitiu 2 Google

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

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Ø Today: How

More information

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly Part 2 a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Introduction to Android Development. Jeff Avery CS349, Mar 2013 Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android

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

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013 WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013 The informations contained in this document are subject to change without notice and should not be construed as a commitment by Si14

More information

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT TUTORIALS AND QUIZ ANDROID APPLICATION by SANDEEP REDDY PAKKER B. Tech in Aurora's Engineering College, 2013 A REPORT submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE

More information

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android

More information

Beginning Android Programming

Beginning Android Programming Beginning Android Programming DEVELOP AND DESIGN Kevin Grant and Chris Haseman PEACHPIT PRESS WWW.PEACHPIT.COM C Introduction Welcome to Android xii xiv CHAPTER 1 GETTING STARTED WITH ANDROID 2 Exploring

More information

Generate Android App

Generate Android App Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can

More information

Running a Program on an AVD

Running a Program on an AVD Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run

More information

Advertiser Campaign SDK Your How-to Guide

Advertiser Campaign SDK Your How-to Guide Advertiser Campaign SDK Your How-to Guide Using Leadbolt Advertiser Campaign SDK with Android Apps Version: Adv2.03 Copyright 2012 Leadbolt All rights reserved Disclaimer This document is provided as-is.

More information

As it relates to Android Studio. By Phil Malone: phil.malone@mr-phil.com

As it relates to Android Studio. By Phil Malone: phil.malone@mr-phil.com As it relates to Android Studio By Phil Malone: phil.malone@mr-phil.com *Jargon, Jargon and More Jargon *Where to find tools/documentation *The Software Components *Driver Station *Robot Controller *The

More information

-Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of

-Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of 1 2 3 -Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of Internet Telephony Magazine s 2012 Product of the Year

More information

Kotlin for Android Developers (Preview)

Kotlin for Android Developers (Preview) Kotlin for Android Developers (Preview) Learn Kotlin in an easy way while developing an Android App Antonio Leiva Kotlin for Android Developers (Preview) Learn Kotlin in an easy way while developing an

More information

5.1 Features 1.877.204.6679. sales@fourwindsinteractive.com Denver CO 80202

5.1 Features 1.877.204.6679. sales@fourwindsinteractive.com Denver CO 80202 1.877.204.6679 www.fourwindsinteractive.com 3012 Huron Street sales@fourwindsinteractive.com Denver CO 80202 5.1 Features Copyright 2014 Four Winds Interactive LLC. All rights reserved. All documentation

More information

Android Development. http://developer.android.com/develop/ 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

Android Development. http://developer.android.com/develop/ 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系 Android Development http://developer.android.com/develop/ 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系 Android 3D 1. Design 2. Develop Training API Guides Reference 3. Distribute 2 Development Training Get Started Building

More information

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI 5115-9/19/14 HANNAH MILLER

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI 5115-9/19/14 HANNAH MILLER ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI 5115-9/19/14 HANNAH MILLER DISCLAIMER: Main focus should be on USER INTERFACE DESIGN Development and implementation: Weeks 8-11 Begin thinking about targeted

More information

Intro to Android Development 2. Accessibility Capstone Nov 23, 2010

Intro to Android Development 2. Accessibility Capstone Nov 23, 2010 Intro to Android Development 2 Accessibility Capstone Nov 23, 2010 Outline for Today Application components Activities Intents Manifest file Visual user interface Creating a user interface Resources TextToSpeech

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

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012 Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android

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

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Eclipse Classic version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended. Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting

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

Android Java Live and In Action

Android Java Live and In Action Android Java Live and In Action Norman McEntire Founder, Servin Corp UCSD Extension Instructor norman.mcentire@servin.com Copyright (c) 2013 Servin Corp 1 Opening Remarks Welcome! Thank you! My promise

More information

Operational Decision Manager Worklight Integration

Operational Decision Manager Worklight Integration Copyright IBM Corporation 2013 All rights reserved IBM Operational Decision Manager V8.5 Lab exercise Operational Decision Manager Worklight Integration Integrate dynamic business rules into a Worklight

More information

Smartphone market share

Smartphone market share Smartphone market share Gartner predicts that Apple s ios will remain the second biggest platform worldwide through 2014 despite its share deceasing slightly after 2011. Android will become the most popular

More information

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02 Tutorial: Android Object API Application Development SAP Mobile Platform 2.3 SP02 DOCUMENT ID: DC01939-01-0232-01 LAST REVISED: May 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication

More information

The power of root on Android emulators

The power of root on Android emulators The power of root on Android emulators Command line tooling for Android Development Gabe Martin LinuxFest Northwest 2013 10:00 AM to 10:50 AM, CC 239 Welcome Describe alternative title Questions can be

More information

Disfer. Sink - Sensor Connectivity and Sensor Android Application. Protocol implementation: Charilaos Stais (stais AT aueb.gr)

Disfer. Sink - Sensor Connectivity and Sensor Android Application. Protocol implementation: Charilaos Stais (stais AT aueb.gr) Disfer Sink - Sensor Connectivity and Sensor Android Application Protocol implementation: Charilaos Stais (stais AT aueb.gr) Android development: Dimitri Balerinas (dimi.balerinas AT gmail.com) Supervised

More information

Customize Bluefin Payment Processing app to meet the needs of your business. Click here for detailed documentation on customizing your application

Customize Bluefin Payment Processing app to meet the needs of your business. Click here for detailed documentation on customizing your application STEP 1 Download and install Bluefin Payment Processing app STEP 2 Sign up for a Bluefin merchant account Once you install the application, click the Get Started link from the home page to get in touch

More information

AdFalcon Android SDK 2.1.4 Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group

AdFalcon Android SDK 2.1.4 Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group AdFalcon Android SDK 214 Developer's Guide AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group Table of Contents 1 Introduction 3 Supported Android version 3 2 Project Configurations 4 Step

More information

A) What Web Browser do I need? B) Why I cannot view the most updated content? C) What can we find on the school website? Index Page Layout:

A) What Web Browser do I need? B) Why I cannot view the most updated content? C) What can we find on the school website? Index Page Layout: A) What Web Browser do I need? - Window 7 / Window 8.1 => Internet Explorer Version 9 or above (Best in Version 11+) Download Link: http://windows.microsoft.com/zh-hk/internet-explorer/download-ie - Window

More information

Mobile Application Frameworks and Services

Mobile Application Frameworks and Services Mobile Application Frameworks and Services Lecture: Programming Basics Dr. Panayiotis Alefragis Professor of Applications Masters Science Program: Technologies and Infrastructures for Broadband Applications

More information

Homework 9 Android App for Weather Forecast

Homework 9 Android App for Weather Forecast 1. Objectives Homework 9 Android App for Weather Forecast Become familiar with Android Studio, Android App development and Facebook SDK for Android. Build a good-looking Android app using the Android SDK.

More information

MMI 2: Mobile Human- Computer Interaction Android

MMI 2: Mobile Human- Computer Interaction Android MMI 2: Mobile Human- Computer Interaction Android Prof. Dr. michael.rohs@ifi.lmu.de Mobile Interaction Lab, LMU München Android Software Stack Applications Java SDK Activities Views Resources Animation

More information

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application

More information

Dominik Helleberg inovex GmbH. Moderne Android Builds mit Gradle

Dominik Helleberg inovex GmbH. Moderne Android Builds mit Gradle Dominik Helleberg inovex GmbH Moderne Android Builds mit Gradle Gradle is the most advanced, next generation build system Hans Dockter You should really give it a try (not only for android) Dominik Helleberg

More information

How To Write A File Station In Android.Com (For Free) On A Microsoft Macbook Or Ipad (For A Limited Time) On An Ubuntu 8.1 (For Ubuntu) On Your Computer Or Ipa (For

How To Write A File Station In Android.Com (For Free) On A Microsoft Macbook Or Ipad (For A Limited Time) On An Ubuntu 8.1 (For Ubuntu) On Your Computer Or Ipa (For QtsHttp Java Sample Code for Android Getting Started Build the develop environment QtsHttp Java Sample Code is developed using ADT Bundle for Windows. The ADT (Android Developer Tools) Bundle includes:

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

QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY. SECTOR:TELECOM SUB-SECTOR: Handset (Terminal Applications) REFERENCE ID: TEL/Q2300

QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY. SECTOR:TELECOM SUB-SECTOR: Handset (Terminal Applications) REFERENCE ID: TEL/Q2300 QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY Contents 1. Introduction and Contacts....... 1 2. Qualifications Pack.... 2 3. OS Units....5 OS describe what individuals need to do, know

More information

Names of Parts. English 1. Mic. Record Button. Status Indicator Micro SD Card Slot Speaker Micro USB Port Strap Hook

Names of Parts. English 1. Mic. Record Button. Status Indicator Micro SD Card Slot Speaker Micro USB Port Strap Hook User Manual Names of Parts Record Button Mic Status Indicator Micro SD Card Slot Speaker Micro USB Port Strap Hook Video Mode Photo Mode Local Mode Cloud Mode Mode Button Power Button Tripod Mount Clip

More information

Login with Amazon Getting Started Guide for Android. Version 2.0

Login with Amazon Getting Started Guide for Android. Version 2.0 Getting Started Guide for Android Version 2.0 Login with Amazon: Getting Started Guide for Android Copyright 2016 Amazon.com, Inc., or its affiliates. All rights reserved. Amazon and the Amazon logo are

More information

IOIO for Android Beginners Guide Introduction

IOIO for Android Beginners Guide Introduction IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to

More information

Android Programming and Security

Android Programming and Security Android Programming and Security Dependable and Secure Systems Andrea Saracino andrea.saracino@iet.unipi.it Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System

More information

ICAPRG409A Develop mobile applications

ICAPRG409A Develop mobile applications ICAPRG409A Develop mobile applications Release: 1 ICAPRG409A Develop mobile applications Modification History Release Release 1 Comments This Unit first released with ICA11 Information and Communications

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.aditya.kulkarni@gmail.com) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android

More information

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.18

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.18 Høgskolen i Telemark Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Cuong Nguyen, 2013.06.18 Faculty of Technology, Postboks 203, Kjølnes ring

More information

J A D E T U TO R I A L

J A D E T U TO R I A L J A D E T U TO R I A L J A D E P R O G R A M M I N G F O R A N D R O I D USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 14 June 2012. JADE 4.2.0 Authors: Giovanni Caire (Telecom Italia S.p.A.)

More information

Introduction to Android. CSG250 Wireless Networks Fall, 2008

Introduction to Android. CSG250 Wireless Networks Fall, 2008 Introduction to Android CSG250 Wireless Networks Fall, 2008 Outline Overview of Android Programming basics Tools & Tricks An example Q&A Android Overview Advanced operating system Complete software stack

More information

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

directory to d:\myproject\android. Hereafter, I shall denote the android installed directory as 1 of 6 2011-03-01 12:16 AM yet another insignificant programming notes... HOME Android SDK 2.2 How to Install and Get Started Introduction Android is a mobile operating system developed by Google, which

More information

Android (2009.12.30) Frank Ducrest

Android (2009.12.30) Frank Ducrest Android (2009.12.30) Frank Ducrest Android 2 Android mobile operating system based on a monolithic Linux kernel (all OS operations take place in the kernel space) suited to Java apps by design (Dalvik

More information

Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作

Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作 Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作 Android Application Development 賴 槿 峰 (Chin-Feng Lai) Assistant Professor, institute of CSIE, National Ilan University Nov. 10 th 2011 2011 MMN Lab. All Rights Reserved

More information

Introduction to NaviGenie SDK Client API for Android

Introduction to NaviGenie SDK Client API for Android Introduction to NaviGenie SDK Client API for Android Overview 3 Data access solutions. 3 Use your own data in a highly optimized form 3 Hardware acceleration support.. 3 Package contents.. 4 Libraries.

More information

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients. Android: Setup Hello, World: Android Edition due by noon ET on Wed 2/22 Ingredients. Android Development Tools Plugin for Eclipse Android Software Development Kit Eclipse Java Help. Help is available throughout

More information

Example Connection between USB Host and Android

Example Connection between USB Host and Android Example connection between USB Host and Android Example Connection between USB Host and Android This example illustrates the connection between Board ETMEGA2560-ADK and Android through Port USB Host. In

More information

TUTORIAL. BUILDING A SIMPLE MAPPING APPLICATION

TUTORIAL. BUILDING A SIMPLE MAPPING APPLICATION Cleveland State University CIS493. Mobile Application Development Using Android TUTORIAL. BUILDING A SIMPLE MAPPING APPLICATION The goal of this tutorial is to create a simple mapping application that

More information