G1 Development Environment and Applica4on Development. Adam C. Champion CSE 788X11 Prof. Dong Xuan

Size: px
Start display at page:

Download "G1 Development Environment and Applica4on Development. Adam C. Champion CSE 788X11 Prof. Dong Xuan"

Transcription

1 G1 Development Environment and Applica4on Development Adam C. Champion CSE 788X11 Prof. Dong Xuan

2 Outline Introduc<on G1 development environment SeAng it up Hello Android example G1 applica<on development Mobile app dev rules Applica<on components GUI design and implementa<on

3 The Big Picture (1) The T Mobile G1 has many sensors you can easily program, e.g., Camera GPS, loca<on based services Accelerometer and orienta<on sensor (games) You can also program the G1 to Play music Work with online services, e.g., Google gdata Vibrate the phone when something happens

4 The Big Picture (2) Google has developed a set of Eclipse based tools and the Android SDK to program the G1 in Java Assump4on: you already know Java or can learn it very quickly All the apps on the G1 are wrixen in Java using this SDK, e.g., Amazon MP3, the Web browser, instant messenger,

5 Development Environment Setup (1) Development prerequisites: Download recent JDK from (version 6 preferable) Download Eclipse for Java Developers from Download the Android SDK from and unzip it to a directory (remember the directory!) setup =

6 Development Environment Setup (2) Within Eclipse, add ssl.google.com/ android/eclipse/ as a Soaware Update site (Help SoCware Update) Alterna<vely: use ssl.google.com/android/ eclipse/site.xml if an error occurs Download & install Google s Android Dev Tools plugin Restart Eclipse; go to Preferences (in Window menu, Eclipse menu on OS X), select Android, enter your SDK directory setup =

7 Development Environment Setup (3) You re in business!

8 Development Environment Tools (1) Android provides several dev tools: Hardware agnos<c mobile phone emulator Implements Dalvik, a Java VM op<mized for mobile devices Dalvik uses the Linux kernel to manage process isola<on, memory Dalvik Debug Monitor Service (DDMS) lets user monitor Dalvik threads, heap, log output, etc. Android Debug Bridge (ADB) provides interface between dev computer and G1 Android Asset Packaging Tool (AAPT) packages Android project files into an Android Package (.apk) file

9 Development Environment Tools (2) Google s Eclipse plugin seamlessly integrates all these tools Easy Android project management, edi<ng XML files/uis Automa<c AAPT compila<on to Android packages Eclipse runs your app on the emulator or your G1 phone if it s connected Debugging is straighlorward with the DDMS View

10 Example: Hello Android Eclipse demo on laptop If you plan to develop G1 apps, you should work through Google s simple Note Pad tutorial ( intro/tutorial.html) to get real hands on development experience

11 Key Mobile App Dev. Principles Mobile handsets are resource constrained devices: Short baxery life Small amount of memory, disk space Code must be fast users will only tolerate ms latency maximum and your apps must be responsive Avoid object crea<on, dynamic lookup, floats Launch resource intensive opera<ons in separate threads Always use UI elements to inform user of progress Save state and data whenever app could be interrupted (which is oaen!) Security: compartmentalize data within apps

12 Key Android Development Principles All of the above principles obviously apply to Android apps, with a few caveats: Android nondeterminis:cally kills processes when it s low on memory Android s nuclear op<on : if an app doesn t respond within 5 seconds, Android kills it

13 Android App Components Android apps have six building blocks : Ac4vity: app presenta<on layer (every screen in the app is an Ac<vity) Intent: instance of a message passing framework (abstracted, encapsulated ac<ons) Broadcast Receiver: global event listener that executes when the app broadcasts the corresponding Intent Content Provider: data store shared across apps Service: app s background worker, e.g., a fall down detector for seniors that watches for large accelera<ons No4fica4on: instance of a user no<fica<on framework (can make sound, vibrate phone, flash LED)

14 The AndroidManifest.xml file All of these components are bound together in the app s AndroidManifest.xml file Ac<vi<es and Services have <activity> and <service> tags, respec<vely The <intent filter> tag says what Intents launch which Ac<vi<es and Services Two permission related tags (for security) <uses permission> tag determines what permissions users must grant the app in order for it to work correctly, e.g., users must explicitly allow SMS and loca<on based services <permission> tags restrict access to app Eclipse provides a GUI to edit this file

15 Other App Resources Within a project s res directory, other app resources can be stored, e.g., Simple values (strings, colors, dimensions, arrays) Drawables (bitmaps and PNGs) Layouts for an Ac<vity s UI (best prac:ce MVC idiom) as well as UI styles and themes Anima<ons XML Raw resources, e.g., MP3 files Resources can be dynamically selected at run<me for different languages, screen orienta<ons, etc. Eclipse automa<cally generates the R.java file with all your app s resources, GUI layouts, etc. indexed by name

16 Android App Life Cycle Android apps have no control over their life cycles! Process classifica<on: Ac<ve Process (Ac<vity interac<ng with user, handling events) Visible Process (Ac<vity visible in background, not handling events e.g., a dialog box pops up) Started Service Process Background Process (invisible Ac<vity with no Services) Highest priority Empty Process (terminated process that Android caches for performance) Lowest priority (most likely to be killed)

17 Ac4vity Event Handling Android programming is event driven Ac<vity event handling methods are as follows: oncreate(): called at Ac<vity s birth, ini<alizes it onrestart(): called aaer oncreate() finishes, restores UI state onstart(): called when Ac<vity becomes visible onresume(): called when Ac<vity becomes ac<ve onsaveinstancestate(): called when Ac<vity becomes invisible, saves UI state changes onpause(): called when Ac<vity becomes inac<ve (save state here) onstop(): called when Ac<vity becomes invisible (save state here) ondestroy(): called at Ac<vity s death Your Ac<vi<es will need to implement some or all of these methods Source: R. Meier, Professional Android Applica:on Development

18 UI Design for Apps Good UI design is essen<al for your app to provide a pleasant user experience Android provides several means to build UIs and menus Android s UI terminology: Views are the basic class for visual interface controls (also known as widgets) ViewGroups extend the View class and can contain mul<ple Views, e.g., compound controls Ac<vi<es are the windows or screens shown to user Source: R. Meier, Professional Android Applica:on Development

19 Android Widget Views Android provides many standard Views, e.g., TextView: read only text label; EditText: editable text entry box ListView: displays values of items as TextViews in a list Spinner: combo box composite widget TextView showing currently selected item Dialog to select item from a ListView of items Button, CheckBox, RadioButton, See many more examples at android/reference/viewgallery.html

20 Android View Layouts Android provides 5 layouts ViewGroup extensions that control child widget posi<ons on screen FrameLayout: Pins each child View to top lea corner, each new View obscures the last LinearLayout: Adds each child View in a straight line, either horizontal or ver<cal RelativeLayout: Defines posi<ons of each child View rela<ve to other child views and screen boundaries TableLayout: Lays out Views in a grid of rows and columns AbsoluteLayout: Defines each child View s posi<on in absolute coordinates, can t dynamically adjust to new screen resolu<ons and orienta<ons Best prac:ce: define layouts and Views in XML with external resources as opposed to genera<ng them in code (c.f. Java Swing dev.) Google provides thorough documenta<on on layouts at

21 Modifying Views and Layouts You can easily modify Android s exis<ng Views and layouts by defining the new View or layout in XML and extending the respec<ve class, e.g., TextView and LinearLayout For modifica<ons, override the following event handling methods: ondraw() method to draw customized widgets onmeasure() method to determine how much space to use You must call setmeasureddimension() in the overridden onmeasure() to avoid throwing an excep<on onkeydown(), onkeyup(), ontrackballevent(), ontouchevent() methods handle pressing any device key, releasing a pressed key, moving trackball, interac<on with touch screen Make sure you before the method defini<on, call corresponding super.method() immediately Best prac:ce: make as many drawn objects class scoped as possible and create them in the constructor

22 Android s Menu System Android s menu system is ini<ated when you press the Menu buxon (obviously!) The menu system has not one but three types of menus: Icon menu: displays up to 6 items with or without icons, no checkboxes or radio buxons Expanded menu: If there are more than 6 items, a More entry appears in the menu Selec<ng More brings up the expanded menu, which can include checkboxes and radio buxons But you cannot force Android to display the expanded menu first Submenu When user selects a submenu in the icon menu, a dialog box pops up Checkboxes and radio buxons are allowed in this dialog Confused yet? There s yet another type of menu

23 Context Menus Context menus are View specific and are triggered by pressing trackball or screen for 3 seconds Example: at the home screen, press the screen for a few seconds You can move icons around, delete them You can add pictures, Google search, an analog clock, and music playlists to the home screen If you swipe the screen lea and right, you ll find a total of 3 screens on which you can insert these items

24 Implemen4ng Android Menus (1) Override Ac<vity s oncreateoptionsmenu(menu menu) method to create menu Use the menu.add(groupid, menuitemid, itemorder, itemtext) call to add a menu item Checkboxes: Invoke setcheckable(true) on the add() call above, i.e., add( ).setcheckable(true) Radio buxons: Add several menu items with the same groupid, then call menu.setgroupcheckable(groupid, true, true) Shortcut keys: Call setshortcut(a, b) on a MenuItem object, e.g., item, where a and b are the keys to use with a numeric keypad and full keyboard, respec<vely

25 Implemen4ng Android Menus (2) Condensed 4tles: Call item.settitlecondensed( ) to set icon menu text Icons: Call item.seticon(r.drawable.iconname) to set the icon that s displayed only in the icon menu Make sure you have the icon file stored in res/drawable directory (Eclipse automa<cally updates R.java so icon can be sta<cally accessed by name).png files are preferred, e.g., iconname.png Click listener: call item.setonmenuitemclicklistener() This is inefficient; you should override onoptionsitemselected() Intent: Call item.setintent() to trigger an Intent Caveat: item must not already be handled by the Ac<vity s onoptionsitemselected() method or a click listener Within oncreateoptionsmenu(), you can dynamically update menu You can also create submenus by calling menu.addsubmenu() No nested submenus allowed Call seticon(), setheadericon() on SubMenu to set icon, header icon

26 Implemen4ng Android Menus (3) Override onoptionsitemselected() to handle menu selec<ons Simply get the MenuItem s ID by calling getitemid() and run dispatcher control logic Create context menus in one of two ways: Override oncreatecontextmenu() for a given View Best prac:ce: Override oncreatecontextmenu() to create Ac<vity specific context menus and register the Views that use it by calling registerforcontextmenu() in oncreate() Context menus can be populated dynamically at run<me by specifying View data & asking if other Android apps support ac<ons for it, e.g., copy/paste text Override oncontextitemselected() to handle context menu selec<ons

27 Other Topics Please see Reto Meier s Professional Android Applica:on Development book for much more detail on advanced Android programming, e.g., loca<on based services Presently, there are certain things you can t program the G1 to do yet Record music as it is played Bluetooth connec<vity Google Talk instant messaging Video recording Accessing the underlying phone hardware Google may add some of this func<onality as well as a touchscreen keyboard in an upcoming firmware/sdk update that should be released in Q1 2009

28 Ques4ons or Comments? Thank you!

29 References Reto Meier, Professional Android Applica:on Development, Wiley, 2009 essen4al reading Online documenta<on at documentation

COLLEGE OF ENGINEERING, NASHIK-4

COLLEGE OF ENGINEERING, NASHIK-4 Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily

More information

CS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle

CS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle CS378 - Mobile Computing Anatomy of an Android App and the App Lifecycle Application Components five primary components different purposes and different lifecycles Activity single screen with a user interface,

More information

Android Application Development

Android Application Development Android Application Development Octav Chipara What is Android A free, open source mobile platform A Linux-based, multiprocess, multithreaded OS Android is not a device or a product It s not even limited

More information

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml Understand applications and their components activity service broadcast receiver content provider intent AndroidManifest.xml Android Application Written in Java (it s possible to write native code) Good

More information

INTRODUCTION TO ANDROID

INTRODUCTION TO ANDROID INTRODUCTION TO ANDROID 1 Niv Voskoboynik Ben-Gurion University Electrical and Computer Engineering Advanced computer lab 2015 2 Contents Introduction Prior learning Download and install Thread Android

More information

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie User Interface Design" & Development -

More information

Programming Android UI. J. Serrat Software Design December 2017

Programming Android UI. J. Serrat Software Design December 2017 Programming Android UI J. Serrat Software Design December 2017 Preliminaries : Goals Introduce basic programming Android concepts Examine code for some simple examples Limited to those relevant for the

More information

Android Programming Lecture 2 9/7/2011

Android Programming Lecture 2 9/7/2011 Android Programming Lecture 2 9/7/2011 Creating a first app 1. Create a new Android project (a collection of source code and resources for the app) from the Eclipse file menu 2. Choose a project name (can

More information

Praktikum Entwicklung Mediensysteme. Implementing a User Interface

Praktikum Entwicklung Mediensysteme. Implementing a User Interface Praktikum Entwicklung Mediensysteme Implementing a User Interface Outline Introduction Programmatic vs. XML Layout Common Layout Objects Hooking into a Screen Element Listening for UI Notifications Applying

More information

UI, Continued. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046

UI, Continued. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046 UI, Continued CS 2046 Mobile Application Development Fall 2010 Announcements Office hours have started HW1 is out, due Monday, 11/1, at 11:59 pm Clarifications on HW1: To move where the text appears in

More information

Libraries are wri4en in C/C++ and compiled for the par>cular hardware.

Libraries are wri4en in C/C++ and compiled for the par>cular hardware. marakana.com 1 marakana.com 2 marakana.com 3 marakana.com 4 Libraries are wri4en in C/C++ and compiled for the par>cular hardware. marakana.com 5 The Dalvik virtual machine is a major piece of Google's

More information

CS378 -Mobile Computing. Anatomy of and Android App and the App Lifecycle

CS378 -Mobile Computing. Anatomy of and Android App and the App Lifecycle CS378 -Mobile Computing Anatomy of and Android App and the App Lifecycle Hello Android Tutorial http://developer.android.com/resources/tutorials/hello-world.html Important Files src/helloandroid.java Activity

More information

Introduction To Android

Introduction To Android Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.

More information

Required Core Java for Android application development

Required Core Java for Android application development Required Core Java for Android application development Introduction to Java Datatypes primitive data types non-primitive data types Variable declaration Operators Control flow statements Arrays and Enhanced

More information

CS378 -Mobile Computing. User Interface Basics

CS378 -Mobile Computing. User Interface Basics CS378 -Mobile Computing User Interface Basics User Interface Elements View Control ViewGroup Layout Widget (Compound Control) Many pre built Views Button, CheckBox, RadioButton TextView, EditText, ListView

More information

Android Basics. Android UI Architecture. Android UI 1

Android Basics. Android UI Architecture. Android UI 1 Android Basics Android UI Architecture Android UI 1 Android Design Constraints Limited resources like memory, processing, battery à Android stops your app when not in use Primarily touch interaction à

More information

Android Development Tools = Eclipse + ADT + SDK

Android Development Tools = Eclipse + ADT + SDK Lesson 2 Android Development Tools = Eclipse + ADT + SDK Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Google and used according to terms

More information

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011 Android for Ubiquitous Computing Researchers Andrew Rice University of Cambridge 17-Sep-2011 Getting started Website for the tutorial: http://www.cl.cam.ac.uk/~acr31/ubicomp/ Contains links to downloads

More information

Android App Development

Android App Development Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount

More information

CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 4: Data-Driven Views, Android Components & Android Activity Lifecycle Emmanuel Agu Announcements Group formation: Projects 2, 3 and final project will be

More information

Programming in Android. Nick Bopp

Programming in Android. Nick Bopp Programming in Android Nick Bopp nbopp@usc.edu Types of Classes Activity This is the main Android class that you will be using. These are actively displayed on the screen and allow for user interaction.

More information

Computer Science E-76 Building Mobile Applications

Computer Science E-76 Building Mobile Applications Computer Science E-76 Building Mobile Applications Lecture 3: [Android] The SDK, Activities, and Views February 13, 2012 Dan Armendariz danallan@mit.edu 1 http://developer.android.com Android SDK and NDK

More information

COSC 3P97 Mobile Computing

COSC 3P97 Mobile Computing COSC 3P97 Mobile Computing Mobile Computing 1.1 COSC 3P97 Prerequisites COSC 2P13, 3P32 Staff instructor: Me! teaching assistant: Steve Tkachuk Lectures (MCD205) Web COSC: http://www.cosc.brocku.ca/ COSC

More information

Android Overview. Most of the material in this sec5on comes from h6p://developer.android.com/guide/

Android Overview. Most of the material in this sec5on comes from h6p://developer.android.com/guide/ Android Overview Most of the material in this sec5on comes from h6p://developer.android.com/guide/ Android Overview A so=ware stack for mobile devices Developed and managed by Open Handset Alliance Open-

More information

ANDROID APPS DEVELOPMENT FOR MOBILE GAME

ANDROID APPS DEVELOPMENT FOR MOBILE GAME ANDROID APPS DEVELOPMENT FOR MOBILE GAME Application Components Hold the content of a message (E.g. convey a request for an activity to present an image) Lecture 2: Android Layout and Permission Present

More information

CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 3b: Android Activity Lifecycle and Intents Emmanuel Agu Android Activity LifeCycle Starting Activities Android applications don't start with a call to main(string[])

More information

Have a development environment in 256 or 255 Be familiar with the application lifecycle

Have a development environment in 256 or 255 Be familiar with the application lifecycle Upcoming Assignments Readings: Chapter 4 by today Horizontal Prototype due Friday, January 22 Quiz 2 today at 2:40pm Lab Quiz next Friday during lecture time (2:10-3pm) Have a development environment in

More information

SHWETANK KUMAR GUPTA Only For Education Purpose

SHWETANK KUMAR GUPTA Only For Education Purpose Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It

More information

Android Programming (5 Days)

Android Programming (5 Days) www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android

More information

LECTURE 08 UI AND EVENT HANDLING

LECTURE 08 UI AND EVENT HANDLING MOBILE APPLICATION DEVELOPMENT LECTURE 08 UI AND EVENT HANDLING IMRAN IHSAN ASSISTANT PROFESSOR WWW.IMRANIHSAN.COM User Interface User Interface The Android Widget Toolbox 1. TextView 2. EditText 3. Spinner

More information

Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ]

Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ] s@lm@n Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ] Android AND-401 : Practice Test Question No : 1 Which of the following is required to allow the Android

More information

Android Programming - Jelly Bean

Android Programming - Jelly Bean 1800 ULEARN (853 276) www.ddls.com.au Android Programming - Jelly Bean Length 5 days Price $4235.00 (inc GST) Overview This intensive, hands-on five-day course teaches programmers how to develop activities,

More information

ANDROID SYLLABUS. Advanced Android

ANDROID SYLLABUS. Advanced Android Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.

More information

Mobila applikationer och trådlösa nät, HI1033, HT2012

Mobila applikationer och trådlösa nät, HI1033, HT2012 Mobila applikationer och trådlösa nät, HI1033, HT2012 Today: - User Interface basics - View components - Event driven applications and callbacks - Menu and Context Menu - ListView and Adapters - Android

More information

Android Fundamentals - Part 1

Android Fundamentals - Part 1 Android Fundamentals - Part 1 Alexander Nelson September 1, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Projects Project 1 due Wednesday, September 13th

More information

Building User Interface for Android Mobile Applications II

Building User Interface for Android Mobile Applications II Building User Interface for Android Mobile Applications II Mobile App Development 1 MVC 2 MVC 1 MVC 2 MVC Android redraw View invalidate Controller tap, key pressed update Model MVC MVC in Android View

More information

07. Menu and Dialog Box. DKU-MUST Mobile ICT Education Center

07. Menu and Dialog Box. DKU-MUST Mobile ICT Education Center 07. Menu and Dialog Box DKU-MUST Mobile ICT Education Center Goal Learn how to create and use the Menu. Learn how to use Toast. Learn how to use the dialog box. Page 2 1. Menu Menu Overview Menu provides

More information

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming. Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming. Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming Emmanuel Agu Android Apps: Big Picture UI Design using XML UI design code (XML) separate from the program (Java) Why?

More information

BCA 6. Question Bank

BCA 6. Question Bank BCA 6 030010601 : Introduction to Mobile Application Development Question Bank Unit 1: Introduction to Android and Development tools Short questions 1. What kind of tool is used to simulate Android application?

More information

Mobile Application Development

Mobile Application Development Mobile Application Development The principal goal of education is to create men and women who are capable of doing new things, not simply repeating what other generations have done. -Jean Piaget Mobile

More information

Android App Development

Android App Development Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel

More information

Embedded Systems Programming - PA8001

Embedded Systems Programming - PA8001 Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 8 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering

More information

The World of Android Development

The World of Android Development The World of Android Development Java Concepts The Big Difference WEB APPS & MOBILE APPS Advantages of Web apps o Universal access Browsers are everywhere Any device on the network can access content PCs,

More information

GUI Design for Android Applications

GUI Design for Android Applications GUI Design for Android Applications SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November

More information

Lab 1: Getting Started With Android Programming

Lab 1: Getting Started With Android Programming Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Eng. Jehad Aldahdooh Mobile Computing Android Lab Lab 1: Getting Started With Android Programming To create a new Android Project

More information

Android Application Model I. CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr.

Android Application Model I. CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr. Android Application Model I CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr. Rajiv Ramnath 1 Framework Support (e.g. Android) 2 Framework Capabilities

More information

Questions and Answers. Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android?

Questions and Answers. Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android? Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android? A. Closing an app. B. Suspending an app C. Opening a new app D. Restoring the most recent

More information

Android Application Model I

Android Application Model I Android Application Model I CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr. Rajiv Ramnath Reading: Big Nerd Ranch Guide, Chapters 3, 5 (Activities);

More information

Mobile Programming Lecture 1. Getting Started

Mobile Programming Lecture 1. Getting Started Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in

More information

Mobile User Interfaces

Mobile User Interfaces Mobile User Interfaces CS 2046 Mobile Application Development Fall 2010 Announcements Next class = Lab session: Upson B7 Office Hours (starting 10/25): Me: MW 1:15-2:15 PM, Upson 360 Jae (TA): F 11:00

More information

Beginning Android 4 Application Development

Beginning Android 4 Application Development Beginning Android 4 Application Development Lee, Wei-Meng ISBN-13: 9781118199541 Table of Contents INTRODUCTION xxi CHAPTER 1: GETTING STARTED WITH ANDROID PROGRAMMING 1 What Is Android? 2 Android Versions

More information

Android Development Crash Course

Android Development Crash Course Android Development Crash Course Campus Sundsvall, 2015 Stefan Forsström Department of Information and Communication Systems Mid Sweden University, Sundsvall, Sweden OVERVIEW The Android Platform Start

More information

Activities and Fragments

Activities and Fragments Activities and Fragments 21 November 2017 Lecture 5 21 Nov 2017 SE 435: Development in the Android Environment 1 Topics for Today Activities UI Design and handlers Fragments Source: developer.android.com

More information

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi ACTIVITY, FRAGMENT, NAVIGATION Roberto Beraldi Introduction An application is composed of at least one Activity GUI It is a software component that stays behind a GUI (screen) Activity It runs inside the

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

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) Lecture 3: Android Life Cycle and Permission Android Lifecycle An activity begins its lifecycle when entering the oncreate() state If not

More information

User Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University

User Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University User Interface: Layout Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University http://twitter.com/krunapon Agenda User Interface Declaring Layout Common Layouts User Interface

More information

Android Programming in Bluetooth Cochlea Group

Android Programming in Bluetooth Cochlea Group Android Programming in Bluetooth Cochlea Group Zijian Zhao Abstract: My project is mainly android programming work in the Bluetooth Cochlea Group. In this report I will first introduce the background of

More information

ATC Android Application Development

ATC Android Application Development ATC Android Application Development 1. Android Framework and Android Studio b. Android Platform Architecture i. Linux Kernel ii. Hardware Abstraction Layer(HAL) iii. Android runtime iv. Native C/C++ Libraries

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming Emmanuel Agu Editting in Android Studio Recall: Editting Android Can edit apps in: Text View: edit XML directly Design

More information

Android - open source mobile platform

Android - open source mobile platform Android - open source mobile platform Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2009 Alexander Schreiber Android - open source mobile

More information

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Teodoro Montanaro Politecnico di Torino, 2016/2017 Disclaimer This is only a fast introduction: It is not complete (only scrapes the surface) Only superficial

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 2 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 1 -recap What is Android How to develop Android applications Run & debug the applications

More information

Android Programmierung leichtgemacht. Lars Vogel

Android Programmierung leichtgemacht. Lars Vogel Android Programmierung leichtgemacht Lars Vogel Twitter: @vogella Lars Vogel Arbeitet als unabhängiger Eclipse und Android Berater und Trainer Arbeit zusätzlichen für SAP AG als Product Owner in einem

More information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement. CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.

More information

Applications. Marco Ronchetti Università degli Studi di Trento

Applications. Marco Ronchetti Università degli Studi di Trento Applications Marco Ronchetti Università degli Studi di Trento Android Applications An Android application typically consists of one or more related, loosely bound activities for the user to interact with.

More information

Android Application Development 101. Jason Chen Google I/O 2008

Android Application Development 101. Jason Chen Google I/O 2008 Android Application Development 101 Jason Chen Google I/O 2008 Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Provide pointers for where

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples Emmanuel Agu Android UI Design in XML Recall: Files Hello World Android Project XML file used to design Android UI

More information

Programming Concepts and Skills. Creating an Android Project

Programming Concepts and Skills. Creating an Android Project Programming Concepts and Skills Creating an Android Project Getting Started An Android project contains all the files that comprise the source code for your Android app. The Android SDK tools make it easy

More information

Mobile and Wireless Systems Programming

Mobile and Wireless Systems Programming to Android Android is a software stack for mobile devices that includes : an operating system middleware key applications Open source project based on Linux kernel 2.6 Open Handset Alliance (Google, HTC,

More information

Real-Time Embedded Systems

Real-Time Embedded Systems Real-Time Embedded Systems DT8025, Fall 2016 http://goo.gl/azfc9l Lecture 8 Masoumeh Taromirad m.taromirad@hh.se Center for Research on Embedded Systems School of Information Technology 1 / 51 Smart phones

More information

Introducing the Android Menu System

Introducing the Android Menu System Introducing the Android Menu System If you ve ever tried to navigate a mobile phone menu system using a stylus or trackball, you ll know that traditional menu systems are awkward to use on mobile devices.

More information

EMBEDDED SYSTEMS PROGRAMMING Application Basics

EMBEDDED SYSTEMS PROGRAMMING Application Basics EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Basics APPLICATIONS Application components (e.g., UI elements) are objects instantiated from the platform s frameworks Applications are event driven ( there

More information

Introduction to Android development

Introduction to Android development Introduction to Android development Manifesto Digital We re an award winning London based digital agency that loves ideas design and technology We aim to make people s lives better, easier, fairer, more

More information

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress Pro Android 2 Sayed Y. Hashimi Satya Komatineni Dave Mac Lean Apress Contents Contents at a Glance Contents About the Authors About the Technical Reviewer Acknowledgments Foreword iv v xiii xiv xv xvi

More information

Mobile Computing. Introduction to Android

Mobile Computing. Introduction to Android Mobile Computing Introduction to Android Mobile Computing 2011/2012 What is Android? Open-source software stack for mobile devices OS, middleware and key applications Based upon a modified version of the

More information

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP) Android Syllabus Pre-requisite: C, C++, Java Programming SQL & PL SQL Chapter 1: Introduction to Android Introduction to android operating system History of android operating system Features of Android

More information

MC Android Programming

MC Android Programming MC1921 - Android Programming Duration: 5 days Course Price: $3,395 Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse

More information

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

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) Lecture 3: Android Life Cycle and Permission Entire Lifetime An activity begins its lifecycle when entering the oncreate() state If not interrupted

More information

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie Android Anatomy Android Anatomy 2! Agenda

More information

GUJARAT TECHNOLOGICAL UNIVERSITY

GUJARAT TECHNOLOGICAL UNIVERSITY 1. Learning Objectives: To be able to understand the process of developing software for the mobile To be able to create mobile applications on the Android Platform To be able to create mobile applications

More information

Android UI DateBasics

Android UI DateBasics Android UI DateBasics Why split the UI and programing tasks for a Android AP The most convenient and maintainable way to design application user interfaces is by creating XML layout resources. This method

More information

CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu

CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu Android UI Tour Home Screen First screen, includes favorites tray (e.g phone, mail, messaging, web, etc)

More information

Minds-on: Android. Session 2

Minds-on: Android. Session 2 Minds-on: Android Session 2 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Activities UI Events Intents Practice Assignment 1 / 33 2 / 33 Activities Activity An activity provides

More information

Course Syllabus. Course Title. Who should attend? Course Description. Android ( Level 1 )

Course Syllabus. Course Title. Who should attend? Course Description. Android ( Level 1 ) Course Title Android ( Level 1 ) Course Description Android is a Free and open source operating system designed primarily for smart phones and tablets and can be used for TVs, cars and others. It is based

More information

Mobila applikationer och trådlösa nät, HI1033, HT2013

Mobila applikationer och trådlösa nät, HI1033, HT2013 Mobila applikationer och trådlösa nät, HI1033, HT2013 Today: - User Interface basics - View components - Event driven applications and callbacks - Menu and Context Menu - ListView and Adapters - Android

More information

CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android Emmanuel Agu What is Android? Android is world s leading mobile operating system Open source (https://source.android.com/setup/)

More information

Stanislav Rost CSAIL, MIT

Stanislav Rost CSAIL, MIT Session 2: Lifecycles, GUI Stanislav Rost CSAIL, MIT The Plan 1 Activity lifecycle Service lifecycle 2 Selected GUI elements UI Layouts 3 Hands on assignment: RoboChat Application GUI Design Birth, death,

More information

Diving into Android. By Jeroen Tietema. Jeroen Tietema,

Diving into Android. By Jeroen Tietema. Jeroen Tietema, Diving into Android By Jeroen Tietema Jeroen Tietema, 2015 1 Requirements 4 Android SDK 1 4 Android Studio (or your IDE / editor of choice) 4 Emulator (Genymotion) or a real device. 1 See https://developer.android.com

More information

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license Android Android Mobile operating system developed by Google A complete stack OS, framework A rich set of applications Email, calendar, browser, maps, text messaging, contacts, camera, dialer, music player,

More information

Views & View Events View Groups, AdapterViews & Layouts Menus & ActionBar Dialogs

Views & View Events View Groups, AdapterViews & Layouts Menus & ActionBar Dialogs Views & View Events View Groups, AdapterViews & Layouts Menus & ActionBar Dialogs Activities usually display a user interface Android provides many classes for constructing user interfaces Key building

More information

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment? 1. What are the key components of Android Architecture? Android Architecture consists of 4 key components: - Linux Kernel - Libraries - Android Framework - Android Applications 2. What are the advantages

More information

Basic Android Setup for Machine Vision Fall 2015

Basic Android Setup for Machine Vision Fall 2015 Basic Android Setup for Machine Vision 6.870 Fall 2015 Introduction Here we will learn how to set up the Android software development environment and how to implement machine vision operations on an Android

More information

MOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface?

MOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface? MOBILE COMPUTING CSE 40814/60814 Spring 2018 How many of you have implemented a command-line user interface? How many of you have implemented a graphical user interface? HTML/CSS Java Swing.NET Framework

More information

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology Android App Development Mr. Michaud ICE Programs Georgia Institute of Technology Android Operating System Created by Android, Inc. Bought by Google in 2005. First Android Device released in 2008 Based

More information

Android Application Development Course 28 Contact Hours

Android Application Development Course 28 Contact Hours Android Application Development Course 28 Contact Hours Course Overview This course that provides the required knowledge and skills to design and build a complete Androidâ application. It delivers an extensive

More information

Android. (XKE Mars 2009) Erwan Alliaume.

Android. (XKE Mars 2009) Erwan Alliaume. Android (XKE Mars 2009) Erwan Alliaume ealliaume(*at*)xebia(*dot*)fr http://www.xebia.fr http://blog.xebia.fr History August 2005 Google acquires Android November 2007 Open Handset Alliance announcement

More information

Application Fundamentals

Application Fundamentals Application Fundamentals CS 2046 Mobile Application Development Fall 2010 Announcements CMS is up If you did not get an email regarding this, see me after class or send me an email. Still working on room

More information

Android Software Development Kit (Part I)

Android Software Development Kit (Part I) Android Software Development Kit (Part I) Gustavo Alberto Rovelo Ruiz October 29th, 2010 Look & Touch Group 2 Presentation index What is Android? Android History Stats Why Andriod? Android Architecture

More information