Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications

Size: px
Start display at page:

Download "Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications"

Transcription

1 Mobile Applications Grzegorz Budzyń Lecture 2: Android Applications

2 Plan History and background Application Fundamentals Application Components Activities Services Content Providers Broadcast Receivers Threads Manifest

3 Background Android is the software platform from Google and the Open Handset Alliance Android is a software environment built for mobile devices It is not a hardware platformbut a software one While components of the underlying OSare written in C or C++, user applications are built for Android in Java

4 History In July 2005, Google acquired Android, Inc., a small startup company based in Palo Alto, CA. 4 of Android's co-founders went to work at Google At Google, the team developed a mobile device platform powered by the Linux kernel

5 History Open Handset Alliance (Google, TI, Intel, Motorola, ) is an alliance of approximately 30 organizations committed to bringing a better and open mobile phone to market Android has been available as open source since October 2008

6 History Google opened the entire source code under an Apache License With the Apache License, vendors are free to add proprietary extensions without submitting those back to the open source community

7 History Android has seen a number of updates since its original release: Android 1.0 (API level1) -23 September 2008 Android 1.5 Cupcake(API level3) -30 April 2009 Android 2.0 Eclair(API level5) -26 October 2009 Android 2.2 Froyo(API level8) -20 May 2010 Android 2.3 Gingerbread(API level9) -6 December 2010 Android 3.0 Honeycomb(API level11 tablet only) -22 February 2011

8 History Android has seen a number of updates since its original release: Android IceCreamSandwich(API level 14) -19 October 2011 Android IceCreamSandwich(API level 15) -16 December 2011 Android 4.1 JellyBean(API level16) -27 June 2012 Android 4.2 JellyBean(API level17) -13 November 2012 Android 5.0 KeyLimePie(API level??) 2 Q 2013

9 Android -mainfeatures In the Android platform, there is no difference between the built-in applications and applications created with the SDK. This means that powerful applications can be written to tap into the resources available on the device

10 Android -mainfeatures Enables reuse and replacement of components DalvikVirtualMachineoptimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage

11 Android -mainfeatures Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi(hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a pluginfor the Eclipse IDE

12 Android -architecture

13 Android LinuxKernel Works as a HAL(Hardware Abstraction Layer) Device drivers Memory management Process management Networking

14 Android Libraries C/C++ libraries Interface through Java Surface manager Handling UI Windows 2D and 3D graphics Media codecs, SQLite, Browser engine

15 Android AndroidRuntime DalvikVM Dexfiles Compact and efficient than class files Limited memory and battery power Core Libraries Java 5 Std edition Collections, I/O etc

16 Android architecture-dvm Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language Every Android application runs in its own process, with its own instance of the Dalvik virtual machine Dalvikhas been written so that a device can run multiple VMs efficiently

17 Android architecture-dvm The DalvikVM executes files in the DalvikExecutable (.dex) format which is optimized for minimal memory footprint The VM runs classes compiled by a Java language compiler that have been transformed into the.dex format The DalvikVM relies on the Linux kernel for underlying functionality such as threading and lowlevel memory management

18 Android ApplicationFramework API interface Activity manager manages application life cycle View System Content Providers Notification Menager

19 Android -architecture Underlying all applications is a set of services and systems, including: A set of Viewsthat can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providersthat enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Managerthat enables all applications to display custom alerts in the status bar An Activity Managerthat manages the lifecycle of applications and provides a common navigation backstack

20 Android Applications Built in and user apps Can replace built in apps

21 Android -architecture Android shipswith a set of core applications including an client, SMS program, calendar, maps, browser, contacts, and others (all in JAVA) Developers have full access to the same framework APIs used by the core applications

22 Android -architecture The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities This same mechanism allows components to be replaced by the user

23 Android applicationfundamentals Android applications are written in the Java The compiled Java code along with any data and resource files required by the application is bundled into an Android package, an archive file marked by an.apk suffix The.apkfile isdownloadedby usersto their devices All the code in a single.apkfile is considered to be one application

24 Android applicationfundamentals In many ways, each Android application lives in its own world: Every application runs in its own Linux process Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed Each process has its own Java virtual machine (VM), so application code runs in isolationfrom the code of all other applications

25 Android applicationfundamentals In many ways, each Android application lives in its own world: Each application is assigned a unique Linux user ID Permissions are set so that the application's files are visible only to the application itself It's possible to arrange for two applications to share the same user ID, in which case they will be able to see each other's files

26 Android applicationcomponents A central feature of Android is that one application can make use of elements of other applications Theapplication in need simply starts up that piece of the other application when the need arises

27 Android applicationcomponents Unlikeapplications on most other systems, Android applications don't have a single entry pointfor everything in the application (no main() function) The applications have essential components that the system can instantiate and run as needed

28 Android applicationcomponents There are four types of application components: Activities Services Broadcast Receivers Content Providers

29 Activities

30 Applicationcomponents-Activities An activitypresents a visual user interface for one focused endeavor the user can undertake each activity is independent of the others Each one is implemented as a subclass of the Activity base class An application might consist of just one activity or it may contain several

31 Applicationcomponents-Activities Typically, one of the activities is marked as the first one that should be presented to the user when the application is launched Moving from one activity to another is accomplished by having the current activity start the next one

32 Application(Activity) Lifecycle Application run in their own processes (VM, PID) Processes are started and stopped as needed to run an application's components Processes may be killed to reclaim resources

33

34 ActivityStack Activities in the system are scheduled using an activity stack. When a new activity is started, it is placed on top of the stack to become the running activity The previous activity is pushed-down one level in the stack, and may come back to the foreground once the new activity finishes. If the user presses the Back Button the current activity is terminated and the next activity on the stack moves up to become active.

35 ActivityStack

36 LifeCycleCallbacks

37 LifeCycleStates Basically the activity is in three states: 1) Itisactiveorrunning 2) Itispaused 3) Itisstopped

38 LifeCycleStates Itisactiveorrunningwhenitisinthe foregroundofthescreen(atthetop ofthe activity stack). This is the activity that has focus and its graphical interface is responsive to the user s interactions.

39 LifeCycleStates Itispausedifithaslostfocusbut isstillvisible to theuser. Thatis, anotheractivitylieson top ofitandthatnewactivityeitheris transparent ordoesn'tcoverthefullscreen. A paused activity is alive(maintaining its state information and attachment to the window manager). Pausedactivitiescanbe killedby the system when available memory becomes extremelylow.

40 LifeCycleStates Itisstoppedifitiscompletelyobscuredby another activity. Continues to retains all its stateinformation. Itisno longervisibleto theuser( itswindowis hidden and its life cycle could be terminated atanypoint by thesystem iftheresources that it holds are needed elsewhere).

41 CompleteApplication slifetime An activity begins its lifecycle when entering theoncreate() state. If not interrupted or dismissed, the activity performs its job and finally terminates and releases its acquired resources when reaching theondestroy() event.

42 LifeCycleEvents Applications do not need to implement each of the transition methods, however there are mandatoryandrecommendedstatesto consider Mandatory: All activities must implement oncreate() to do the initial setup when the object is first instantiated. Recommended: Activities should implement onpause() to commit data changes in anticipation to stop interacting with the user.

43 LifeCycleMethods Method: OnCreate() Calledwhentheactivityisfirstcreated. Most ofyourapplication scodeiswrittenhere. Typicallyusedto definelistener sbehavior, initialize data structures, wire-up UI view elements(buttons, text boxes, lists) with static Java controls, etc. Itmayreceivea data Bundleobjectcontainingthe activity'spreviousstate(ifany). Followedby onstart()

44 Method: OnPause() LifeCycleMethods Called when the system is about to transfer control to anotheractivity. Givesyoua chanceto commitunsaveddata, and stop work that may unnecessarily burden the system. Thenextactivitywaitsuntilcompletionofthisstate. Followed either by onresume() if the activity returnsbackto theforeground, orby onstop() ifit becomesinvisibleto theuser. A pausedactivitycouldbe killedby thesystem.

45 Killable States LifeCycleMethods Activitieson killablestatescanbe terminatedby the system when memory resources become criticallylow. Methods: onpause(), onstop(), and ondestroy()arekillable. onpause() istheonlystatethatisguaranteedto be givena chanceto completebeforetheprocess iskilled. YoushoulduseonPause() to writeanypending persistentdata.

46 Services

47 Applicationcomponents-Services A servicedoesn't have a visual user interface, but rather runs in the background for an indefinite period of time Each service extends the Service base class For example, a service might play background music as the user attends to other matters, or it might fetch data over the network or calculate something and provide the result to activities that need it

48

49 Applicationcomponents-Services Run in the background Can continue even if Activity that started it dies Should be used if something needs to be done while the user is not interacting with application Otherwise, a thread is probably more applicable Should create a new thread in the service to do work in, since the service runs in the main thread

50 Applicationcomponents-Services Can be bound to an application In which case will terminate when all applications bound to it unbind Allows multiple applications to communicate with it via a common interface Needs to be declared in manifest file Like Activities, has a structured life cycle

51 Broadband Receivers

52 Applicationcomponents Broadband Receivers A broadcast receiveris a component that does nothing but receive and react to broadcast announcements Many broadcasts originate in system code for example, announcements that the timezonehas changed, that the battery is low, that a picture has been taken, or that the user changed a language preference

53 Content Providers

54 Applicationcomponents Content Providers A content providermakes a specific set of the application's data available to other applications Android ships with a number of content providers for common data types (audio, video, images, personal contact information, etc.)

55 Intents

56 Applicationcomponents-Intents Activities, services, and broadcast receivers are activated by asynchronous messages called intents An intent is an Intentobject that holds the content of the message For activities and services, it names the action being requested and specifies the URI of the data to act on, among other things

57 Applicationcomponents-Intents

58 Applicationcomponents-Intents

59 Threads

60 Threads Threads are the cornerstone of any multitasking operating system Threadscanbe thought of as mini-processes running within a main process The purpose of threadsisto enable at least the appearance of parallel execution paths within applications

61 Threads When an Android application is first started, the runtime system creates a single thread (mainthread) in which all application components will run by default The primary role of the main thread is to handle the user interface in terms of event handling and interaction with views in the user interface

62 Threads Any component within an application which performs a time consuming task using the main thread will cause the entire application to appear to lock up until the task is completed This can be avoided simply by launching the task to be performed in a separate thread

63 Threads The key rules of application development: never perform time consuming operations on the main thread of an application the code within a separate thread must never, under any circumstances, directlyupdate any aspect of the user interface Any changes to the user interface must always be performed from within the main thread

64 ThreadHandlers In the event that the code executing in a thread needs to interact with the user interface, it must do so by synchronizing with the main UI thread This is achieved by creating a handler within the main thread Handler receives messages from another thread and updates the user interface accordingly

65 Android Application Development

66 ApplicationDevelopment Required tools: Phone Eclipse ( ) Android Plugin(ADT) Android SDK ( )

67 ApplicationDevelopment Required operations: Installation of the SDK Instalaltion of desired packages(not required with ADT) Installation of USB drivers for debugging hardware (phone) Or CreationofAndroid VirtualDevice(for software emulation)

68 Application Development Process

69 BuildingandRunning ADB is a client server program that connects clients on developer machine to devices/emulators to facilitate development. An IDE like Eclipse handles this entire process.

70 Buildingand Runningdetails

71 Project Components src your source code gen auto-generated code (usually just R.java) Included libraries Resources Drawables(like.png images) Layouts Values (like strings) Manifest file

72 XML Used to define some of the resources Layouts (UI) Strings Manifest file Preferred way of creating UIs Separates the description of the layout from any actual code that controls it Can easily take a UI from one platform to another

73 R Class Auto-generated: shouldn t be editted Contains IDs of the project resources Enforces good software engineering Use findviewbyidand Resources object to get access to the resources Ex. Button b = (Button)findViewById(R.id.button1) Ex. getresources().getstring(r.string.hello));

74 Layout Eclipse has an UI creator Generates the XML semiautomatically Composed of View objects Can be specified for portrait and landscape mode Use same file name, so can make completely different UIs for the orientations without modifying any code IsdescribedinXML languageinthemanifest

75 Layout

76 Layout

77 In res/values strings.xml Strings Application wide available strings Promotes good software engineering UI components made in the UI editor should have text defined in strings.xml Strings are just one kind of Value -there are many others

78 Manifest Every application must have an AndroidManifest.xmlfile (with precisely that name) in its root directory The manifest presents essential information about the application to the Android system

79 Manifest The manifest does the following: It names the Java package for the application. The package name serves as a unique identifier forthe application It describes the components of the application the activities, services, broadcast receivers, and content providers that the application is composed of. It names the classes that implement each ofthe components and publishes their capabilities

80 Manifest The manifest does the following: It determines which processes will host application components It declares which permissions the application must have in order to access protected parts of theapi and interact with other applications It also declares the permissions that others are required to have in order to interact with the application's components

81 Manifest The manifest does the following: It declares the minimum level of the Android API that the application requires. It lists the libraries that the application must be linked against.

82 Manifest -example <?xml version= 1.0 encoding= utf-8?> <manifest xmlns:android= package= uk.ac.ic.doc android:versioncode= 1 android:versionname= 1.0 > <application > <activity android:name=.sampleactivity > <intent-filter> /*... */ </intent-filter> </activity> </application> <uses-sdk android:minsdkversion= 3 /> </manifest>

83 Thank you for your attention

84 References [1] developers.android.com [2] D. Shinde, C. Atherton, Android Application Development Tutorial [3] V. Matos, Lesson 3 Application s Life Cycle [4] [5] oidmanifest.pdf [6] =845 [7] [8] _Threads_and_Thread_handlers

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: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Android OS Open-source mobile OS (mostly Apache licence) Developed by Google + Open Handset Alliance

More information

Praktikum Entwicklung Mediensysteme (für Master)

Praktikum Entwicklung Mediensysteme (für Master) Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an Android

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

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

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

Development. SriSeshaa Technologies. Table of Contents

Development. SriSeshaa Technologies. Table of Contents SriSeshaa Technologies Development Table of Contents SriSeshaa Android Development... 2 Introduction to Android... 3 SriSeshaa Capabilities... 3 SriSeshaa Android Case Studies... 5 Privacy Guard... 5 Backup

More information

Android Fundamentals 1

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

More information

Creating and Using Databases for Android Applications

Creating and Using Databases for Android Applications Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author: Sunguk Lee* (sunguk@rist.re.kr)

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

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

Mobile Phones Operating Systems

Mobile Phones Operating Systems Mobile Phones Operating Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-05-28 José Costa (DEI/IST) Mobile Phones Operating

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

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 Architecture. Alexandra Harrison & Jake Saxton

Android Architecture. Alexandra Harrison & Jake Saxton Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003

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

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

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

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

More information

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

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

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 BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

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

More information

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

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

A Short Introduction to Android

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

More information

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

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

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

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

Introduction to Android

Introduction to Android Introduction to Android Ref: Wei-Meng Lee, BEGINNING ANDROID 4 APPLICATION DEVELOPMENT, Ch1, John Wiley & Sons, 2012 1. What is Android Android is a mobile operating system that is based on a modified

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

Introduction to Android Programming (CS5248 Fall 2015)

Introduction to Android Programming (CS5248 Fall 2015) Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni (email.aditya.kulkarni@gmail.com) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android

More information

Android 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

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

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

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

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

Overview of CS 282 & Android

Overview of CS 282 & Android Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282

More information

Android Operating System

Android Operating System Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) praju_hiramani@yahoo.co.in Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one

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

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

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

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

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

More information

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

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

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

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn Outline Background What is Android? Development for Android Background Internet users and Mobile

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

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

ANDROID INTRODUCTION TO ANDROID

ANDROID INTRODUCTION TO ANDROID ANDROID JAVA FUNDAMENTALS FOR ANDROID Introduction History Java Virtual Machine(JVM) JDK(Java Development Kit) JRE(Java Runtime Environment) Classes & Packages Java Basics Data Types Variables, Keywords,

More information

ANDROID. Programming basics

ANDROID. Programming basics ANDROID Programming basics Overview Mobile Hardware History Android evolution Android smartphone overview Hardware components at high level Operative system Android App development Why Android Apps? History

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

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

Here to take you beyond Mobile Application development using Android Course details

Here to take you beyond Mobile Application development using Android Course details Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android

More information

Introduction to Android Development. Jeff Avery CS349, Mar 2013

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

More information

Priority Based Pre-emptive Task Scheduling for Android Operating System

Priority Based Pre-emptive Task Scheduling for Android Operating System International Journal of Computer Science and Telecommunications [Volume 2, Issue 7, October 2011] 17 ISSN 2047-3338 Priority Based Pre-emptive Task Scheduling for Android Operating System Deepali Kayande

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

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

More information

ANDROID OPERATING SYSTEM

ANDROID OPERATING SYSTEM ANDROID OPERATING SYSTEM Himanshi Grover,Devesh Agrawal IT Department, Dronacharya College Of Engg Gurgaon,Haryana,India Abstract - Android has become need rather than luxury these days. The computing

More information

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

ITG Software Engineering

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

More information

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

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

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

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

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java

More information

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

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To The Android Developer's Cookbook Building Applications with the Android SDK James Steele Nelson To A Addison-Wesley Upper Saddle River, NJ Boston «Indianapolis San Francisco New York Toronto Montreal London

More information

Programming the Android Platform. Logistics

Programming the Android Platform. Logistics Programming the Android Platform CMSC498G Logistics Professor Adam Porter 4125 AVW aporter@cs.umd.edu Course meets W 3:00 3:50 in CSI 3118 1 Goals Learn more about Mobile devices Mobile device programming

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

Mobile Security - Tutorial 1. Beginning Advanced Android Development Brian Ricks Fall 2014

Mobile Security - Tutorial 1. Beginning Advanced Android Development Brian Ricks Fall 2014 Mobile Security - Tutorial 1 Beginning Advanced Android Development Brian Ricks Fall 2014 Before we begin... I took your Wireless Network Security course in Spring... are you gonna have memes in this?

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

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

Introduction to Android. Sean Sullivan October 27, 2008

Introduction to Android. Sean Sullivan October 27, 2008 Introduction to Android Sean Sullivan October 27, 2008 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google

More information

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

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

More information

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs COURSE CONTENT Introduction Brief history of Android Why Android? What benefits does Android have? What is OHA & PHA Why to choose Android? Software architecture of Android Advantages, features and market

More information

DEVELOPING MOBILE APPLICATIONS USING ANDROID

DEVELOPING MOBILE APPLICATIONS USING ANDROID ISSN 2229-5518 2300 DEVELOPING MOBILE APPLICATIONS USING ANDROID M.VARUN KUMAR, S.THIRUMALINI, S.RAJESH KUMAR, N.VANISRI, PULIDINDI VENUGOPAL School of Information Technology &VITBS VIT University,Vellore-632014

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

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

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

More information

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1 ECE 455/555 Embedded System Design Android Programming Wei Gao Fall 2015 1 Fundamentals of Android Application Java programming language Code along with any required data and resource files are compiled

More information

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

OMX, Android, GStreamer How do I decide what to use? 15 July 2011 OMX, Android, GStreamer How do I decide what to use? 15 July 2011 When to use which framework? Android (easiest) Customer wants a full featured media player with minimal trouble and no prior knowledge

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

How To Develop Android On Your Computer Or Tablet Or Phone

How To Develop Android On Your Computer Or Tablet Or Phone 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

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

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

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

Android Developer Fundamental 1

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

More information

Change Profile with SMS on Android Platform

Change Profile with SMS on Android Platform Change Profile with SMS on Android Platform B. Lakshmi 1, B. Vijay Dattu 2 and K. Anji Reddy 3 1 Asst. Professor, Department of Computer Applications,V.R.S.E.C, Vijayawada -7, Andhra Pradesh, India 2 Pursuing

More information

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP) Android Syllabus Pre-requisite: C, C++, Java Programming JAVA Concepts OOPs Concepts Inheritance in detail Exception handling Packages & interfaces JVM &.jar file extension Collections HashTable,Vector,,List,

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

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

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

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Mobile Application Development Android

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

More information

Introduction (Apps and the Android platform)

Introduction (Apps and the Android platform) Introduction (Apps and the Android platform) CE881: Mobile and Social Application Programming Simon Lucas & Spyros Samothrakis January 13, 2015 1 / 38 1 2 3 4 2 / 38 Course Structure 10 weeks Each week:

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

imaginea white paper

imaginea white paper white paper Building Mobile Android Applications Even though Android was created for handsets, there is a great opportunity for developing other innovative devices on the Android platform with significant

More information

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

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

Module Title: Software Development A: Mobile Application Development

Module Title: Software Development A: Mobile Application Development Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information

More information

Basic Android Setup. 2014 Windows Version

Basic Android Setup. 2014 Windows Version Basic Android Setup 2014 Windows Version Introduction In this tutorial, we will learn how to set up the Android software development environment and how to implement image processing operations on an Android

More information