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

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

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

Transcription

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

2 Outline Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit8000 2

3 Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit8000 3

4 4 Android Application Layer

5 Android Application Layer Activity manager Manage the life cycle of applications Content Provider Share data between applications Service A Service is an application component that can perform long-running operations in the background and does not provide a user interface Broadcast Intent Receiver if the service does not also provide binding, the intent delivered with startservice() is the only mode of communication between the application component and the service 5

6 Android Application Layer Activity manager Manage the life cycle of applications Activity Lifecycle Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity Developers have to care about the implementation of each stage of lifecycle 6

7 Android Application Layer Activity.class: public class Activity extends ApplicationContext { protected void oncreate(bundle savedinstancestate); protected void onstart(); protected void onrestart(); protected void onresume(); protected void onpause(); protected void onstop(); } protected void ondestroy(); Activity Lifecycle 7

8 Android Application Layer Activity Stack Launch Activity 1 (By Home Launcher) Launch Activity 2 (By Activity 1) Back to Activity 1 (Back button on Activity 2) Activity1 onstart onstart Activity2 Activity1 onpause onpause Activity2 Activity1 onrestart onstop Activity2 Activity1 onstart ondestory Activity2 Activity1 running Activity1 onstop ondestory Back to Home (Back button on Activity 1) 8

9 Android Application Layer Content Provider Content providers store and retrieve data and make it accessible to all applications. The only way to share data across applications in android The accessible data like: Contact, phone number, call logs, dictionary, etc 9

10 Android Application Layer Content Provider Content://com.android.example/appname/#<id> ContentResolver Activity Services. Query() Insert() Delete() Update().. ContentProvider./data/data/.. Network AndroidManifest.xml <provider android:name=".example " android:authorities="com.android.example"... > DataBase (sqlite3) File 10

11 Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit

12 Dalvik Virtual Machine Since the development language of Android application is Java. Need a Java virtual machine for running application. Content in Android Runtime Core Libraries Dalvik Virtual Machine Compile Java code to Dalvik Excutable (dex format) Run in dalvik VM 12

13 Dalvik Virtual Machine Register-based virtual machine for efficient execution, not stack-based in traditional Java Managed by zygote, using fork() in linux kernel to create Each application has its own virtual machine for running Compare traditional stack-based JVM with register-based JVM Before interpret Stack-based Register-based A=B+C ILOAD C ILOAD B IADD ISTORE A IADD A B C 13

14 Dalvik Virtual Machine Advantages of register-based JVM Reducing the data movement(constants stored in register) Reducing the number of instructions Reducing memory access times More real-time reactions More easier to implement optimization on computation than stack-based JVM 14

15 Dalvik Virtual Machine Android Application Program Flow AndroidManifest.xml R.java Resource res/* Java souce src/* Java Compiler Dex Converter ApK Builder Xml resource compilation + Other resource pre-process Java Class android.jar Dalvik dex Android APK 15

16 Dalvik Virtual Machine Jar to Dex 16

17 Dalvik Virtual Machine Zygote Fork APP dex Heap Core library Dex file Zygote Heap APP dex Heap Core library Dex file Zygote Heap Structure Dex Structure Structure Dex Structure Daemons usdb adbd debuggerd rlid Service Manager runtime Fork() zygote Zygote Fork() zygote Core library Dex file init Binder Driver Kernel Zygote Heap Dex Structure zygote 17

18 Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit

19 Android Development Environment Operating System Windows Linux Mac OS X 19

20 Android Development Environment Development tools Java JDK5 or JDK6 Eclipse IDE Eclipse ADT Android SDK Using emulator to debug first 20

21 Android Development Environment Android Emulator Included in Android SDK Using QEMU emulator QEMU is a generic and open source machine emulator and virtualizer. QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). Emulate the hardware and software behaviors 21

22 Android Development Environment Android Emulator Hardwares emulate: ARM926ej-S CPU MMC Keyboard USB Framebuffer TTY driver NAND FLASH 22

23 Android Development Environment Development tools on Linux Ubuntu: Install java jdk sudo apt-get install sun-java5-jdk Install Android SDK 23

24 Android Development Environment Development tools on Linux Ubuntu: Install eclipse IDE Install eclipse ADT(Android Development Tools) Using software update in eclipse and type: 24

25 Android Development Environment Install ADT in eclipse 25

26 Android Development Environment Set the Android SDK path in eclipse Tool bar>>windows>>preferences>>android 26

27 Android Development Environment AVD Windows>>Android SDK and AVD Manager 27

28 Android Development Environment In eclipse, File >> New >> Android Project And start your Android trip! 28

29 Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit

30 Android application source layout What do we have to concern about an android project? Java class (src) xml of Android layout (res) Jar of Android version (android sdk) AndroidManifest.xml Permissions of activities Services in application 30

31 Android application source layout Java code SDK version Layout file Activity definition 31

32 32 Android application source layout AndroidManifest.xml The manifest presents essential information about the application to the Android system <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android= package="com.demo.android.mmn android:versioncode="1 android:versionname="1.0"> <application <activity android:name=".mmn" <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> <uses-sdk android:minsdkversion="x" /> </manifest> Useful reference:

33 Android application source layout Resource (res) drawable, layout, vaule Layout define the locations of each UI components There are five layout used in Android Absolute Layout Linear Layout Relative Layout Frame Layout Table Layout 33

34 Android application source layout Resource (res) - layout 34

35 Android application source layout Hierarchy Viewer must connect your device or launch an emulator <sdk>/tools/hierarchyviewer.bat View Hierarchy Pixel perfect view Current visible activity 35

36 Android application source layout Hierarchy Viewer Pixel perfect view Pixel perfect view 36

37 Android application source layout Hierarchy Viewer Pixel perfect view View Hierarchy 37

38 Android application source layout Resource (res) - vaule <?xml version="1.0" encoding="utf-8"?> <resources> <string name= mmn">how are you mad</string> <string name= mmn1"> how are you diemno</string> <string name= mmn2"> how are you diousk</string> </resources> 38

39 Android application source layout Gen generated Java File R.java package com.demo.android.bmi; public final class R { public static final class string { public static final int height=0x7f050000; public static final int report_back=0x7f050005; public static final int result=0x7f050003; public static final int submit=0x7f050002; public static final int suggest=0x7f050004; public static final int weight=0x7f050001; } } Java Source code view_result.settext(getstring(r.string.weight) 39

40 Android application source layout Any View object may have an integer ID associated with it The plus-symbol (+) means that this is a new resource name that must be created and added to our resources There are a number of other ID resources that are offered by the Android framework. When referencing an Android resource ID, you do not need the plus-symbol, but must add the android package namespace 40

41 Android application source layout Absolute Layout Absolute Layout is based on the simple idea of placing each control at an absolute position.(deprecated!) <AbsoluteLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="back" android:layout_x="10px" android:layout_y="5px" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </AbsoluteLayout> 41

42 Android application source layout FrameLayout FrameLayout is designed to display a single item at a time. The item will be display on the top left of the UI layout by default <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android=" <TextView android:text="learn-android.com" android:textsize="24sp" android:textcolor="#000000" android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="center"/> </FrameLayout> 42

43 Android application source layout Linear Layout Linear layout organizes elements along a single line ( vertical or horizontal). <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="back" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="first Name" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 43

44 Android application source layout Linear Layout android:orientation="horizontal" android:orientation= vertical" 44

45 Android application source layout Relative Layout Relative Layout lays out elements based on their relationships with one another by their IDs. <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android=" <Button android:text="back" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="first Name" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> 45

46 Android application source layout TableLayout Table Layout organizes content into rows and columns. The rows are defined in the layout XML, and the columns are determined automatically by Android. <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android=" <TableRow> <Button android:text="back" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:text="first Name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" /> <EditText android:width="100px" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> </TableLayout> 46

47 Android Application Layer Dalvik Virtual Machine Android Development Environment Android application source layout Android Debug Tools LAB : Program & Run Android apk on devkit

48 Android Debug Tools Android SDK There are a set of debug tools in android SDK, Tool is located on platform-tool and tools directory. Android Debug Bridge(ADB) a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program. Dalvik Debug Monitor Server (DDMS) provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information 48

49 Android Debug Tools Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. adb tool in <sdk>/platform-tools/ Shell mode Opan cmd on window C:\android-sdk_r11-windows\android-sdk-windows\platform-tools>adb shell 49

50 Android Debug Tools adb tool in <sdk>/platform-tools/ Install android application (APK) $ adb install <path_to_apk> -r (recover)and f (force) communicate PC with android device adb pull <remote> <local> adb push <local> <remote> EX: adb push mmn.txt /temp/mmn.txt adb pull /temp/mmn.txt mmn.txt Show some service information adb shell dumpsys SurfaceFlinger adb shell dumpsys battery adb shell dumphys betteryinfo 50

51 Android Debug Tools Android Debug Bridge(ADB) other command When android devices connected or emulators started $cd <android_sdk_path>/platform-tools $./adb devices #list detected devices $./adb root #change root Permissions $./adb remount #remount system $./adb kill-server #end adb $./adb forward tcp:x tcp:x #port forward 51

52 Android Debug Tools Dalvik Debug Monitor Server (DDMS) DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK From Eclipse: Click Window > Open Perspective > Other... > DDMS. From the command line: Type ddms (or./ddms on Mac/Linux) from the tools/ directory. Viewing heap usage for a process Tracking memory allocation of objects Working with an emulator or device's file system Examining thread information Starting method profiling LogCat information 52

53 Android Debug Tools Dalvik Debug Monitor Server (DDMS) Applications run in android Screen Capture Click to start in eclipse logcat 53

54 Android Debug Tools Useful Reference 54

55 Android Application Layer Dalvik Virtual Machine Android Development Environment Android Application Layout Android Debug Tools LAB : Program & Run Android apk on devkit

56 Lab files eclipse_linux.tgz Eclipse IDE with ADT for Linux android_sdk.tgz Android SDK mmn_apk.tgz Android application to be modified

57 Step1.Set the Development Environment Uncompressing the lab files Change to eclipse folder, revise the qq.sh file with correct path to eclipse binary file $cd eclipse/eclipse $vim qq.sh (revise as /home/mmn/downloads/lab9/eclipse/eclipse/eclipse) $sh qq.sh (start eclipse) Set the workspace path, it will create the folder automatically

58 Step2. Set the Android SDK path in eclipse

59 Step3.Import mmn apk source Import mmn apk source Toolbar >> File >> Import >> General >>Existing >> Next >>Browse

60 Step3.Import facedetecttest.apk source

61 Step4.Complete the Apk Complete the source code (eclipse) mmn>>src>>mmm.com.tw>>facedetecttest.java Create the rest ClickListener function of buttons Button : Next Previous Exit

62 Face Detection API Face Detection API are defined in SDK Class FaceDetector findfaces(bitmap bitmap, Face[] faces) bitmap: to be processed (already initiated in the code) faces: stored the detected faces (already initiated in the code) Class FaceDetector.Face float confidence () The confidence factor between 0 and 1 float eyesdistance () void getmidpoint (PointF point) float pose (int euler) the Euler axis to retrieve an angle from (EULER_X, EULER_Y or EULER_Z)

63 Step4.Complete the Apk facedetecttest.java Set Next Previous button

64 Step4.Complete the Apk facedetecttest.java Set button action

65 Step4.Complete the Apk facedetecttest.java Find face in the picture

66 Step4.Complete the Apk facedetecttest.java Draw the rectangle on face

67 Step5.Test the apk After modification, right click on your project >> Run as >> android application to test on android emulator

68 Step6.Run Apk on devkit8000 In /home/mmn/downloads/lab9/facedetecttest/bin, you can find out the facedetecttest.apk. Copy the apk file to <android_fs>/system/app/ Run your apk on devkit8000 and start apk! Note: if the apk is updated, you have to restart booting devkit8000, or the system won t update it

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

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

Hello World! Some code

Hello World! Some code Embedded Systems Programming Hello World! Lecture 10 Verónica Gaspes www2.hh.se/staff/vero What could an Android hello world application be like? Center for Research on Embedded Systems School of Information

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

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

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

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011 Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++

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

Lab 4 In class Hands-on Android Debugging Tutorial

Lab 4 In class Hands-on Android Debugging Tutorial Lab 4 In class Hands-on Android Debugging Tutorial Submit lab 4 as PDF with your feedback and list each major step in this tutorial with screen shots documenting your work, i.e., document each listed step.

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

Hacking your Droid ADITYA GUPTA

Hacking your Droid ADITYA GUPTA Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used

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

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

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

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

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

Application Fundamentals

Application Fundamentals Application Fundamentals See: developer.android.com/guide/developing/building/index.html By default, each application: assigned a unique Linux user ID executes in its own Linux process By default, each

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 Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk

Android Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk Android Application Development: Hands- On Dr. Jogesh K. Muppala muppala@cse.ust.hk Wi-Fi Access Wi-Fi Access Account Name: aadc201312 2 The Android Wave! 3 Hello, Android! Configure the Android SDK SDK

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

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

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

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

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

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

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

Android Geek Night. Application framework

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

More information

060010702 Mobile Application Development 2014

060010702 Mobile Application Development 2014 Que 1: Short question answer. Unit 1: Introduction to Android and Development tools 1. What kind of tool is used to simulate Android application? 2. Can we use C++ language for Android application development?

More information

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities App Development for Smart Devices CS 495/595 - Fall 2011 Lec #2: Android Tools, Building Applications, and Activities Tamer Nadeem Dept. of Computer Science Objective Understand Android Tools Setup Android

More information

Deep Inside Android. OpenExpo 2008 - Zurich September 25 th, 2008. Gilles Printemps - Senior Architect. Copyright 2007 Esmertec AG.

Deep Inside Android. OpenExpo 2008 - Zurich September 25 th, 2008. Gilles Printemps - Senior Architect. Copyright 2007 Esmertec AG. Deep Inside Android OpenExpo 2008 - Zurich September 25 th, 2008 Copyright 2007 Esmertec AG Jan 2007 Gilles Printemps - Senior Architect Agenda What is Android? The Android platform Anatomy of an Android

More information

Android Tutorial. Larry Walters OOSE Fall 2011

Android Tutorial. Larry Walters OOSE Fall 2011 Android Tutorial Larry Walters OOSE Fall 2011 References This tutorial is a brief overview of some major concepts Android is much richer and more complex Developer s Guide http://developer.android.com/guide/index.html

More information

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

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

More information

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

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

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

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

Building an Android client. Rohit Nayak Talentica Software

Building an Android client. Rohit Nayak Talentica Software Building an Android client Rohit Nayak Talentica Software Agenda iphone and the Mobile App Explosion How mobile apps differ Android philosophy Development Platform Core Android Concepts App Demo App Dissection

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

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

App Development for Android. Prabhaker Matet

App Development for Android. Prabhaker Matet App Development for Android Prabhaker Matet Development Tools (Android) Java Java is the same. But, not all libs are included. Unused: Swing, AWT, SWT, lcdui Eclipse www.eclipse.org/ ADT Plugin for Eclipse

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

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

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

An Introduction to Android

An Introduction to Android An Introduction to Android Michalis Katsarakis M.Sc. Student katsarakis@csd.uoc.gr Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a

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

Frameworks & Android. Programmeertechnieken, Tim Cocx

Frameworks & Android. Programmeertechnieken, Tim Cocx Frameworks & Android Programmeertechnieken, Tim Cocx Discover thediscover world atthe Leiden world University at Leiden University Software maken is hergebruiken The majority of programming activities

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

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM 5341. Eng. Wafaa Audah.

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM 5341. Eng. Wafaa Audah. Islamic University of Gaza Faculty of Engineering Computer Engineering Department Mobile Computing ECOM 5341 By Eng. Wafaa Audah June 2013 1 Setting Up the Development Environment and Emulator Part 1:

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 CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

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

More information

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

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The

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

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

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

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

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

Open Source Telemedicine Android Client Development Introduction

Open Source Telemedicine Android Client Development Introduction Open Source Telemedicine Android Client Development Introduction Images of phone in this presentation Google. All rights reserved. This content is excluded from our Creative Commons license. For more information,

More information

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет Технологии Java Android: Введение Санкт-Петербургский Государственный Политехнический Университет Кузнецов Андрей Николаевич 1 2 Архитектура ОС Android See http://www.android-app-market.com/android-architecture.html

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

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

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

As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554.

As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554. Tools > Android Debug Bridge Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device. It is a client-server program that includes three

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

Performance Analysis of Android Platform

Performance Analysis of Android Platform Performance Analysis of Android Platform Jawad Manzoor EMDC 21-Nov-2010 Table of Contents 1. Introduction... 3 2. Android Architecture... 3 3. Dalvik Virtual Machine... 4 3.1 Architecture of Dalvik VM...

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

Android Mobile App Building Tutorial

Android Mobile App Building Tutorial Android Mobile App Building Tutorial Seidenberg-CSIS, Pace University This mobile app building tutorial is for high school and college students to participate in Mobile App Development Contest Workshop.

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

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

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup

More information

06 Team Project: Android Development Crash Course; Project Introduction

06 Team Project: Android Development Crash Course; Project Introduction M. Kranz, P. Lindemann, A. Riener 340.301 UE Principles of Interaction, 2014S 06 Team Project: Android Development Crash Course; Project Introduction April 11, 2014 Priv.-Doz. Dipl.-Ing. Dr. Andreas Riener

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 Development Tutorial. Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011

Android Development Tutorial. Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011 Android Development Tutorial Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011 Database connections Local SQLite and remote access Outline Setting up the Android Development Environment (Windows)

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

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

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

Introduction to Android

Introduction to Android Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:

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

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13 Android Lecture 1 Learning Android Marko Gargenta Final Project Jan/Feb: ARM March: Android Apr: Final project Complexity Sense the world Analysis Service delivery Hands-on A fun project built-up through

More information

Lab 6: Google Maps Android API v2

Lab 6: Google Maps Android API v2 Lab 6: Google Maps Android API v2 One of the defining features of mobile phones is their portability. It's not surprising that some of the most enticing APIs are those that enable you to find, contextualize,

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

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

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9 SECOND EDITION Programming Android kjj *J} Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura O'REILLY Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii Parti.

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

Programming with Android

Programming with Android Praktikum Mobile und Verteilte Systeme Programming with Android Prof. Dr. Claudia Linnhoff-Popien Philipp Marcus, Mirco Schönfeld http://www.mobile.ifi.lmu.de Sommersemester 2015 Programming with Android

More information

Developing In Eclipse, with ADT

Developing In Eclipse, with ADT Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)

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

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

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

Pentesting Android Apps. Sneha Rajguru (@Sneharajguru)

Pentesting Android Apps. Sneha Rajguru (@Sneharajguru) Pentesting Android Apps Sneha Rajguru (@Sneharajguru) About Me Penetration Tester Web, Mobile and Infrastructure applications, Secure coding ( part time do secure code analysis), CTF challenge writer (at

More information

Developing NFC Applications on the Android Platform. The Definitive Resource

Developing NFC Applications on the Android Platform. The Definitive Resource Developing NFC Applications on the Android Platform The Definitive Resource Part 1 By Kyle Lampert Introduction This guide will use examples from Mac OS X, but the steps are easily adaptable for modern

More information

CS378 -Mobile Computing. Android Overview and Android Development Environment

CS378 -Mobile Computing. Android Overview and Android Development Environment CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux

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

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