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

Size: px
Start display at page:

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

Transcription

1 Performance - Optimierung mit und ohne Android Developer Tools Dominik Helleberg Köln

2 Performance Analysieren Verstehen Fixen 2

3 Performance-Probleme... Netzwerk / Cache 3

4 Performance-Probleme... Netzwerk / Cache 4

5 Performance-Probleme... Netzwerk / Cache 5

6 Performance-Probleme... Netzwerk / Cache 6

7 Performance-Probleme... User Interface 7

8 Performance-Probleme... User Interface 8

9 Performance Probleme Grrrrrr grrr sookie 9

10 Performance messen Laufzeiten Tacho Thaddäus Zoltkowski 10

11 Performance messen Laufzeiten Log long start = System.nanoTime(); /** Do things... */ Log.d(TAG, Doing took +(System.nanoTime()-start)); 11

12 Performance messen Laufzeiten Timing Logger TimingLogger timings = new TimingLogger(TAG, "murl"); /** Do cache */ timings.addsplit( cache"); /** Do load */ timings.addsplit( load"); /** and scale */ timings.addsplit( scale"); timings.dumptolog(); $> adb shell setprop log.tag.tttask VERBOSE TTTask D murl: begin D murl: 4 ms, cache D murl: 1819 ms, load D murl: 8 ms, scale D murl: end, 1831 ms 12

13 Performance messen Laufzeiten Hugo apply plugin: 'hugo classpath 'com.jakewharton.hugo:hugo-plugin:1.1.+ import protected Bitmap doinbackground(void... arg0) { } " " " D doinbackground(arg0=null) Activity$ThumbnailTask D doinbackground [1015ms] = " " "android.graphics.bitmap@b187ec38 13

14 Performance messen Laufzeiten Traceview 14

15 Performance messen Laufzeiten Traceview 15

16 Performance messen Laufzeiten Systrace ab API Level 16 (4.1) 16

17 Performance messen Laufzeiten Systrace ab API Level 18 (4.3) Trace.beginSection("bind-view"); /*do things... */ Trace.endSection(); systrace - t 20 - b gfx input view sched freq - a de.inovex.samples 17

18 Performance messen Frames 18

19 Performance messen Frames (Blau) Draw is the time spent building display lists in Java. It indicates how much time is spent running methods such as View.onDraw(Canvas). 19

20 Performance messen Frames (ROT) Process is the time spent by Android s 2D renderer to execute the display lists. The more Views in your hierarchy, the more drawing commands must be executed. 20

21 Performance messen Frames (Orange) Execute is the time it took to send a frame to the compositor. This part of the graph is usually small. 21

22 Beispiel App - flickr 22

23 Beispiel App - Anforderung 23

24 Beispiel App - Implementierung flickr API <entry> <title>balkonien, Berlin, 2014.</title> <link rel="alternate" type="text/html" href=" schommsen/ /"/> <id>tag:flickr.com,2005:/photo/ </id> <published> t18:36:13z</published> <updated> t18:36:13z</updated> <author> <name>schommsen</name> <uri> <flickr:buddyicon> @N04.jpg? # @N04</flickr:buddyicon> </author> <link rel="enclosure" type="image/jpeg" href=" 5581/ _f9bb0999d2_b.jpg" />... 24

25 Beispiel App - Implementierung View-Item <RelativeLayout xmlns:android=" android:layout_width="match_parent android:layout_height="match_parent > <ImageView android:id="@+id/fli_picture_imageview" android:layout_width="280dp" android:layout_height="280dp" android:layout_centervertical="true" android:layout_centerhorizontal="true" /> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:id="@+id/fli_authorpic_imageview" android:layout_alignparentbottom="true" android:layout_alignparentleft="true" /> <TextView android:id="@+id/fli_title_textview" android:layout_alignparenttop="true" android:layout_alignparentleft="true" /> <TextView android:textappearance="?android:attr/textappearancesmall android:id="@+id/fli_date_textview" android:layout_alignparentright="true" android:layout_alignparentbottom="true" /> </RelativeLayout> 25

26 Beispiel App - Implementierung public View getview(int position, View convertview, ViewGroup parent) { View view = minflater.inflate(r.layout.flickr_item_list_entry, parent, false); } ImageView imageview = (ImageView) view.findviewbyid(r.id.fli_picture_imageview); ImageView authorpic = (ImageView) view.findviewbyid(r.id.fli_authorpic_imageview); TextView datetaken = (TextView) view.findviewbyid(r.id.fli_date_textview); TextView title = (TextView) view.findviewbyid(r.id.fli_title_textview); title.settext(flickrfeedentry.title); Date nowdate = new Date(); nowdate.settime(nowdate.gettime() - flickrfeedentry.datetaken.gettime()); SimpleDateFormat simpledateformat = new SimpleDateFormat("dd"); datetaken.settext(simpledateformat.format(nowdate) + " Days ago"); // ToDo: Image Loading return view; 26

27 Beispiel App - Implementierung Adapter Image Loading Don t Async Task? even new ThumbnailTask(position, url,imageview).executeonexecutor(mexecutor, null); Picasso think about it Picasso.with(getContext()).load(flickrFeedEntry.imageURL).transform(new CropSquareTransformation()).into(imageView); Picasso.with(getContext()).load(flickrFeedEntry.authorIconURI).transform(new CropSquareTransformation()).into(authorPic); 27

28 Beispiel App - Demo 28

29 Beispiel App - Implementierung Adapter public View getview(int position, View convertview, ViewGroup parent) { View view = minflater.inflate(r.layout.flickr_item_list_entry, parent, false); } ImageView imageview = (ImageView) view.findviewbyid(r.id.fli_picture_imageview); ImageView authorpic = (ImageView) view.findviewbyid(r.id.fli_authorpic_imageview); TextView datetaken = (TextView) view.findviewbyid(r.id.fli_date_textview); TextView title = (TextView) view.findviewbyid(r.id.fli_title_textview); // Image loading here title.settext(flickrfeedentry.title); Date nowdate = new Date(); nowdate.settime(nowdate.gettime() - flickrfeedentry.datetaken.gettime()); SimpleDateFormat simpledateformat = new SimpleDateFormat("dd"); datetaken.settext(simpledateformat.format(nowdate) + " Days ago"); return view; 29

30 Analyse 1 getview TimingLogger timings = new TimingLogger(TAG, getview"); view = minflater.inflate(r.layout.flickr_item_list_entry, parent, false); //... timings.addsplit( find/inflate"); //Picasso.with... timings.addsplit( picasso"); //textview.settext(...) timings.addsplit( filldata"); timings.dumptolog(); 30

31 Analyse 1 getview D getview: begin D getview: 4 ms, find/inflate D getview: 1 ms, picasso D getview: 1 ms, filldata D getview: end, 6 ms D getview: begin D getview: 2 ms, find/inflate D getview: 0 ms, picasso D getview: 2 ms, filldata D getview: end, 4 ms D getview: begin D getview: 5 ms, find/inflate D getview: 1 ms, picasso D getview: 0 ms, filldata D getview: end, 6 ms 31

32 Analyse 1 getview - traceview 32

33 Analyse 1 getview - optimiert public View getview(int position, View convertview, ViewGroup parent) { View view = convertview; if(view == null) { view = minflater.inflate(r.layout.flickr_item_list_entry, parent, false); ViewHolder viewholder = new ViewHolder(); viewholder.imageview = (ImageView)view.findViewById(R.id.fli_picture_imageview); //... view.settag(viewholder); } ViewHolder viewholder = (ViewHolder) view.gettag(); //picasso loading... viewholder.title.settext(flickrfeedentry.title); mnowdate.settime(system.currenttimemillis() - " "flickrfeedentry.datetaken.gettime()); viewholder.datetaken.settext(msimpledateformat.format(mnowdate) + DAYS); return view; } 33

34 App v2 getview - optimiert 34

35 App v2 getview - optimiert D getview: 6 ms, find/inflate D getview: 0 ms, picasso D getview: 1 ms, filldata D getview: end, 7 ms D getview: begin D getview: 0 ms, find/inflate D getview: 0 ms, picasso D getview: 0 ms, filldata D getview: end, 0 ms D getview: begin D getview: 0 ms, find/inflate D getview: 0 ms, picasso D getview: 1 ms, filldata D getview: end, 1 ms 35

36 App v2 Analyse - Systrace $> systrace -a de.inovex.samples gfx input view dalvik res sched 36

37 App v2 Analyse - Logcat dalvikvm D GC_FOR_ALLOC freed 5077K, 30% free 19358K/27632K, paused 20ms, total 20ms D GC_FOR_ALLOC freed 71K, 19% free 22504K/27632K, paused 16ms, total 16ms dalvikvm-heap I Grow heap (frag case) to MB for byte allocation dalvikvm D GC_FOR_ALLOC freed 0K, 17% free 25576K/30708K, paused 21ms, total 21ms 37

38 App v2 Analyse Bild-Größen <link rel="enclosure" type="image/jpeg" href=" farm6.staticflickr.com/5581/ _f9bb0999d2_b.jpg" /> $> curl > out.jpg $> identify out.jpg out.jpg JPEG 600x x bit srgb 183KB 0.000u 0: Speicher: 600 x 900 x 4 = 2.2 Megabytes 4 Zeilen à 2 Bilder: ~ 18 MBytes $> getprop dalvik.vm.heapgrowthlimit 64m 38

39 App v2 Analyse Bild-Größen Flickr - Doku s "small square 75x75 q "large square 150x150 t "thumbnail, 100 on longest side m "small, 240 on longest side n "small, 320 on longest side - "medium, 500 on longest side z "medium 640, 640 on longest side c "medium 800, 800 on longest side b "large, 1024 on longest side* 39

40 App v3 Wie groß ist mein ImageView? int size = Math.max(imageView.getWidth(), imageview.getheight()); Invalidate 0,0 320,300 Measure & Layout Draw 40

41 App v3 Wie groß ist mein ImageView? final ViewTreeObserver viewtreeobserver = mgridview.getviewtreeobserver(); viewtreeobserver.addonpredrawlistener( "new ViewTreeObserver.OnPreDrawListener() public boolean onpredraw() { " "if(viewtreeobserver.isalive()) " "//do things " "return true; }); } viewtreeobserver.removeonpredrawlistener(this); Invalidate Measure & Layout Draw 41

42 App v3 Wie groß ist mein ImageView? public class MyImageView extends ImageView protected void onsizechanged(int w, int h, int oldw, int oldh) { super.onsizechanged(w, h, oldw, oldh); } "//use w and h Invalidate Measure & Layout Draw 42

43 App v3 Wie groß ist mein ImageView? imageview.post(new Runnable() public void run() { }); } "//Do things Invalidate Measure & Layout Draw 43

44 App v3 Bilder optimiert 44

45 App v3 Done? DONE? Not yet... Flensburger Pilsner fleno.de 45

46 App v3 Response Cache (API Level 13) protected void oncreate(bundle savedinstancestate) {... } try { File httpcachedir = new File(context.getCacheDir(), "http"); long httpcachesize = 10 * 1024 * 1024; // 10 MiB HttpResponseCache.install(httpCacheDir, httpcachesize); } catch (IOException ex) { Log.i(TAG, "HTTP response cache installation failed:" + ex); } protected void onstop() { super.onstop(); HttpResponseCache cache = HttpResponseCache.getInstalled(); if (cache = null) { cache.flush(); } } 46

47 App v3 Cache? 47

48 App v3 Prost Flensburger Pilsner fleno.de 48

49 Performance Tipps + Tricks Flache Layout-Hierarchien -> Hierarchy Viewer 49

50 Performance Tipps + Tricks Flache Layout-Hierarchien -> Scalpel 50

51 Performance Tipps + Tricks Flache Layout-Hierarchien -> Droid Inspector 51

52 Performance Tipps + Tricks Overdraw TODO: URL 52

53 Performance Tipps + Tricks Garbarge Collection -> zu viele Objekte? -> Allocation Tracker 53

54 Immer 60 FPS 54

55 Danke

MAP524/DPS924 MOBILE APP DEVELOPMENT (ANDROID) MIDTERM TEST OCTOBER 2013 STUDENT NAME STUDENT NUMBER

MAP524/DPS924 MOBILE APP DEVELOPMENT (ANDROID) MIDTERM TEST OCTOBER 2013 STUDENT NAME STUDENT NUMBER MAP524/DPS924 MOBILE APP DEVELOPMENT (ANDROID) MIDTERM TEST OCTOBER 2013 STUDENT NAME STUDENT NUMBER Please answer all questions on the question sheet This is an open book/notes test. You are allowed to

More information

Memory Management for Android Apps Patrick Dubroy (dubroy.com @dubroy) May 11, 2011

Memory Management for Android Apps Patrick Dubroy (dubroy.com @dubroy) May 11, 2011 Memory Management for Android Apps Patrick Dubroy (dubroy.com @dubroy) May 11, 2011 3 192MB RAM 4 1GB RAM Xoom 1280x800 G1 320x480 5 6 Software Work expands to fill the time available. memory 7 Overview

More information

2. Installieren des MySQL Workbench (Version 5.2.43) 3. Unter Database > Manage Connection folgende Werte eintragen

2. Installieren des MySQL Workbench (Version 5.2.43) 3. Unter Database > Manage Connection folgende Werte eintragen 1. Setup 1. Mit dieser Anleitung (http://www.unimarburg.de/fb12/sys/services/svc_more_html#svc_sql) eine Datenbank einrichten. 2. Installieren des MySQL Workbench (Version 5.2.43) 3. Unter Database > Manage

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

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

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

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

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

The Android winds of change. From Kit-Kat to L, and the power of saving power The Android winds of change From Kit-Kat to L, and the power of saving power 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

More information

Software Environments of Smartphone Applications

Software Environments of Smartphone Applications Software Environments of Smartphone Applications Exercise/Practice Professur Schaltkreisund Systementwurf www.tu-chemnitz.de 1 Introduction The course Software Environments of Smartphone Applications (SESA)

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

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

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

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

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

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

Android Quiz App Tutorial

Android Quiz App Tutorial Step 1: Define a RelativeLayout Android Quiz App Tutorial Create a new android application and use the default settings. You will have a base app that uses a relative layout already. A RelativeLayout is

More information

Report and Opinion 2014;6(7) http://www.sciencepub.net/report. Technical Specification for Creating Apps in Android. Kauser Hameed, Manal Elobaid

Report and Opinion 2014;6(7) http://www.sciencepub.net/report. Technical Specification for Creating Apps in Android. Kauser Hameed, Manal Elobaid Technical Specification for Creating Apps in Android Kauser Hameed, Manal Elobaid Department of Computer Science, CCSIT, King Faisal University, Hofuf, KSA manalobaid@yahoo.com Abstract: As it has been

More information

Developing an Android App. CSC207 Fall 2014

Developing an Android App. CSC207 Fall 2014 Developing an Android App CSC207 Fall 2014 Overview Android is a mobile operating system first released in 2008. Currently developed by Google and the Open Handset Alliance. The OHA is a consortium of

More information

By sending messages into a queue, we can time these messages to exit the cue and call specific functions.

By sending messages into a queue, we can time these messages to exit the cue and call specific functions. Mobile App Tutorial Deploying a Handler and Runnable for Timed Events Creating a Counter Description: Given that Android Java is event driven, any action or function call within an Activity Class must

More information

Android Development Tutorial

Android Development Tutorial 3.2k Android Development Tutorial Free tutorial, donate to support Based on Android 4.2 Lars Vogel Version 11.2 Copyright 2009, 2010, 2011, 2012, 2013 Lars Vogel 20.01.2013 Revision History by Lars Vogel

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

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

Building Your First App

Building Your First App uilding Your First App Android Developers http://developer.android.com/training/basics/firstapp/inde... Building Your First App Welcome to Android application development! This class teaches you how to

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

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

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

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

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

Basics. Bruce Crawford Global Solutions Manager

Basics. Bruce Crawford Global Solutions Manager Android Development Basics Bruce Crawford Global Solutions Manager Android Development Environment Setup Agenda Install Java JDK Install Android SDK Add Android SDK packages with Android SDK manager Install

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

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

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

Android Apps Development Boot Camp. Ming Chow Lecturer, Tufts University DAC 2011 Monday, June 6, 2011 mchow@cs.tufts.edu

Android Apps Development Boot Camp. Ming Chow Lecturer, Tufts University DAC 2011 Monday, June 6, 2011 mchow@cs.tufts.edu Android Apps Development Boot Camp Ming Chow Lecturer, Tufts University DAC 2011 Monday, June 6, 2011 mchow@cs.tufts.edu Overview of Android Released in 2008 Over 50% market share Powers not only smartphones

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 Programming Tutorial. Rong Zheng

Android Programming Tutorial. Rong Zheng Android Programming Tutorial Rong Zheng Outline What is Android OS Setup your development environment GUI Layouts Activity life cycle Event handling Tasks Intent and broadcast receiver Resource What is

More information

Android for Java Developers OSCON 2010. Marko Gargenta Marakana

Android for Java Developers OSCON 2010. Marko Gargenta Marakana Android for Java Developers OSCON 2010 Marko Gargenta Marakana About Marko Gargenta Developed Android Bootcamp for Marakana. Trained over 1,000 developers on Android. Clients include Qualcomm, Sony-Ericsson,

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

ADITION Android Ad SDK Integration Guide for App Developers

ADITION Android Ad SDK Integration Guide for App Developers Documentation Version 0.5 ADITION Android Ad SDK Integration Guide for App Developers SDK Version 1 as of 2013 01 04 Copyright 2012 ADITION technologies AG. All rights reserved. 1/7 Table of Contents 1.

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

Objective. Android Sensors. Sensor Manager Sensor Types Examples. Page 2

Objective. Android Sensors. Sensor Manager Sensor Types Examples. Page 2 Android Sensors Objective Android Sensors Sensor Manager Sensor Types Examples Page 2 Android.hardware Support for Hardware classes with some interfaces Camera: used to set image capture settings, start/stop

More information

Developer Guide. Android Printing Framework. ISB Vietnam Co., Ltd. (IVC) Page i

Developer Guide. Android Printing Framework. ISB Vietnam Co., Ltd. (IVC) Page i Android Printing Framework ISB Vietnam Co., Ltd. (IVC) Page i Table of Content 1 Introduction... 1 2 Terms and definitions... 1 3 Developer guide... 1 3.1 Overview... 1 3.2 Configure development environment...

More information

An Android-based Instant Message Application

An Android-based Instant Message Application An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the

More information

Cloudtarun: Application Simulated over GAE using Android Emulators

Cloudtarun: Application Simulated over GAE using Android Emulators Cloudtarun: Application Simulated over GAE using Android Emulators Tarun Goyal CSE Department BTKIT, Dwarahat Uttarakhand, INDIA Ajit Singh CSE Department BTKIT, Dwarahat Uttarakhand, INDIA Aakanksha Agrawal

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

4. The Android System

4. The Android System 4. The Android System 4. The Android System System-on-Chip Emulator Overview of the Android System Stack Anatomy of an Android Application 73 / 303 4. The Android System Help Yourself Android Java Development

More information

@ME (About) Marcelo Cyreno. Skype: marcelocyreno Linkedin: marcelocyreno Mail: marcelocyreno@gmail.com

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

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

BEGIN ANDROID JOURNEY IN HOURS

BEGIN ANDROID JOURNEY IN HOURS BEGIN ANDROID JOURNEY IN HOURS CS425 / CSE 424 / ECE 428 [Fall 2009] Sept. 14, 2009 Ying Huang REFERENCE Online development guide http://developer.android.com/guide/index.html Book resource Professional

More information

Presenting Android Development in the CS Curriculum

Presenting Android Development in the CS Curriculum Presenting Android Development in the CS Curriculum Mao Zheng Hao Fan Department of Computer Science International School of Software University of Wisconsin-La Crosse Wuhan University La Crosse WI, 54601

More information

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,

More information

HERE SDK for Android. Developer's Guide. Hybrid Plus Version 2.1

HERE SDK for Android. Developer's Guide. Hybrid Plus Version 2.1 HERE SDK for Android Developer's Guide Hybrid Plus Version 2.1 Contents 2 Contents Legal Notices...5 Document Information... 6 Service Support... 7 Chapter1:Overview... 8 What is the HERE SDK for Android?...9

More information

Mini Project - Phase 3 Connexus Mobile App (Android)

Mini Project - Phase 3 Connexus Mobile App (Android) Mini Project - Phase 3 Connexus Mobile App (Android) Click here to get Connexus apk. It is inside the shared folder Here is my github repository: https://github.com/azizclass/nimadini The 3 rd phase is

More information

Affdex SDK for Android. Developer Guide For SDK version 1.0

Affdex SDK for Android. Developer Guide For SDK version 1.0 Affdex SDK for Android Developer Guide For SDK version 1.0 www.affdex.com/mobile-sdk 1 August 4, 2014 Introduction The Affdex SDK is the culmination of years of scientific research into emotion detection,

More information

Create Your Own Android App Tools Using ArcGIS Runtime SDK for Android

Create Your Own Android App Tools Using ArcGIS Runtime SDK for Android Create Your Own Android App Tools Using ArcGIS Runtime SDK for Android Dan O Neill & Xueming Wu Esri UC 2014 Demo Theater Introductions What we do - Redlands Xueming Wu - https://github.com/xuemingrock

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 Programming. Android App. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.19

Android Programming. Android App. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.19 Høgskolen i Telemark Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Android Programming Cuong Nguyen, 2013.06.19 Android App Faculty of Technology,

More information

B.M. Harwani. Android Programming UNLEASHED. 800 East 96th Street, Indianapolis, Indiana 46240 USA

B.M. Harwani. Android Programming UNLEASHED. 800 East 96th Street, Indianapolis, Indiana 46240 USA B.M. Harwani Android Programming UNLEASHED 800 East 96th Street, Indianapolis, Indiana 46240 USA Android Programming Unleashed Copyright 2013 by Pearson Education, Inc. All rights reserved. No part of

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

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

Google s Android: An Overview

Google s Android: An Overview Google s Android: An Overview Yoni Rabkin yonirabkin@member.fsf.org This work is licensed under the Creative Commons Attribution 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/.

More information

Android. Learning Android Marko Gargenta. Tuesday, March 11, 14

Android. Learning Android Marko Gargenta. Tuesday, March 11, 14 Android Learning Android Marko Gargenta Materials Sams Teach Yourself Android Application Development in 24 Hours (Amazon) Android Apps for Absolute Beginners (Amazon) Android Development Tutorial (http://

More information

getsharedpreferences() - Use this if you need multiple preferences files identified by name, which you specify with the first parameter.

getsharedpreferences() - Use this if you need multiple preferences files identified by name, which you specify with the first parameter. Android Storage Stolen from: developer.android.com data-storage.html i Data Storage Options a) Shared Preferences b) Internal Storage c) External Storage d) SQLite Database e) Network Connection ii Shared

More information

Android Application Development. Yevheniy Dzezhyts

Android Application Development. Yevheniy Dzezhyts Android Application Development Yevheniy Dzezhyts Thesis Business Information Technology 2013 Author Yevheniy Dzezhyts Title of thesis Android application development Year of entry 2007 Number of report

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

Android UI Design. Android UI Design

Android UI Design. Android UI Design Android UI Design i Android UI Design Android UI Design ii Contents 1 Android UI Overview 1 1.1 Introduction...................................................... 1 1.2 Android App Structure and UI patterns........................................

More information

Finding Performance and Power Issues on Android Systems. By Eric W Moore

Finding Performance and Power Issues on Android Systems. By Eric W Moore Finding Performance and Power Issues on Android Systems By Eric W Moore Agenda Performance & Power Tuning on Android & Features Needed/Wanted in a tool Some Performance Tools Getting a Device that Supports

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

Lab 1 (Reading Sensors & The Android API) Week 3

Lab 1 (Reading Sensors & The Android API) Week 3 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 1 (Reading Sensors & The Android API) Week 3 Prepared by Kirill Morozov version 1.1 Deadline: You must submit the lab to the SVN repository

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

Secrets of YARN Application Development

Secrets of YARN Application Development Secrets of YARN Application Development Steve Loughran stevel at hortonworks.com @steveloughran Berlin, May 2014 2014 If all you have is a JobTracker Page 2 Everything pretends to be an MR Job Page 3 Page

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

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

AndroLIFT: A Tool for Android Application Life Cycles

AndroLIFT: A Tool for Android Application Life Cycles AndroLIFT: A Tool for Android Application Life Cycles Dominik Franke, Tobias Royé, and Stefan Kowalewski Embedded Software Laboratory Ahornstraße 55, 52074 Aachen, Germany { franke, roye, kowalewski}@embedded.rwth-aachen.de

More information

Accelerate your Mobile Apps and Games for Android on ARM. Matthew Du Puy Software Engineer, ARM

Accelerate your Mobile Apps and Games for Android on ARM. Matthew Du Puy Software Engineer, ARM Accelerate your Mobile Apps and Games for Android on ARM Matthew Du Puy Software Engineer, ARM Problem: This is not a desktop Mobile apps require special design considerations that aren t always clear

More information

A Case Study of an Android* Client App Using Cloud-Based Alert Service

A Case Study of an Android* Client App Using Cloud-Based Alert Service A Case Study of an Android* Client App Using Cloud-Based Alert Service Abstract This article discusses a case study of an Android client app using a cloud-based web service. The project was built on the

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

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

Q1. What method you should override to use Android menu system?

Q1. What method you should override to use Android menu system? AND-401 Exam Sample: Q1. What method you should override to use Android menu system? a. oncreateoptionsmenu() b. oncreatemenu() c. onmenucreated() d. oncreatecontextmenu() Answer: A Q2. What Activity method

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

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

Tutorial: Setup for Android Development

Tutorial: Setup for Android Development Tutorial: Setup for Android Development Adam C. Champion CSE 5236: Mobile Application Development Autumn 2015 Based on material from C. Horstmann [1], J. Bloch [2], C. Collins et al. [4], M.L. Sichitiu

More information

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones Kuo-Chin Lien Develop a Hello World project in Android Studio Capture, process, store, and display an image on Android phones Other sensors on Android phones If you have been using Eclipse with ADT, be

More information

PHA Android Application Development

PHA Android Application Development PHA Android Application Development This semester brought about great change to the Android PHA application and frenzied development. It is important to note that Android has a steep learning curve, and

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

( Modified from Original Source at http://www.devx.com/wireless/article/39239 )

( Modified from Original Source at http://www.devx.com/wireless/article/39239 ) Accessing GPS information on your Android Phone ( Modified from Original Source at http://www.devx.com/wireless/article/39239 ) Using Eclipse, create a new Android project and name it GPS.java. To use

More information

App Development for Smart Devices. Lec #5: Android Sensors

App Development for Smart Devices. Lec #5: Android Sensors App Development for Smart Devices CS 495/595 - Fall 2012 Lec #5: Android Sensors Tamer Nadeem Dept. of Computer Science Objective Working in Background Sensor Manager Examples Sensor Types Page 2 What

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

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

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 pbs@isep.ipp.pt 2016 1 The content of this document is based on the material presented at http://developer.android.com

More information

HybriDroid: Analysis Framework for Android Hybrid Applications

HybriDroid: Analysis Framework for Android Hybrid Applications HybriDroid: Analysis Framework for Android Hybrid Applications Sungho Lee, Julian Dolby, Sukyoung Ryu Programming Language Research Group KAIST June 13, 2015 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid:

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

Android Programming Basics

Android Programming Basics 2012 Marty Hall Android Programming Basics Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/

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

Android Development Tutorial. Human-Computer Interaction II (COMP 4020) Winter 2013

Android Development Tutorial. Human-Computer Interaction II (COMP 4020) Winter 2013 Android Development Tutorial Human-Computer Interaction II (COMP 4020) Winter 2013 Mobile OS Symbian ios BlackBerry Window Phone Android. World-Wide Smartphone Sales (Thousands of Units) Android Phones

More information

ANDROID TUTORIAL. Simply Easy Learning by tutorialspoint.com. tutorialspoint.com

ANDROID TUTORIAL. Simply Easy Learning by tutorialspoint.com. tutorialspoint.com Android Tutorial ANDROID TUTORIAL by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Android Tutorial Android is an open source and Linux-based operating system for mobile devices such as smartphones

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

Adding HTML5 to your Android applications. Martin Gunnarsson & Pär Sikö

Adding HTML5 to your Android applications. Martin Gunnarsson & Pär Sikö Adding HTML5 to your Android applications Martin Gunnarsson & Pär Sikö Martin Gunnarsson Mobility expert, Axis Communications Øredev Program Committee member JavaOne Rock Star Beer aficionado @gunnarsson

More information