Mobile Application Development

Size: px
Start display at page:

Download "Mobile Application Development"

Transcription

1 Mobile Application Development MTAT Jakob Mass

2 Goal Give you an idea of how to start developing mobile applications for Android Introduce the major concepts of Android applications, including: UI & UX principles and techniques Interacting with other applications and services, sensors Testing Walk you through: setting up the necessary development environment creating several sample applications Homeworks 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 2

3 References & Books Android developer portal Books Professional Android 4 Application Development, By Reto Meier. Wiley, 2010 (1 copy at J.Liivi library) The Busy Coder s Guide to Android Development, By Mark L. Murphy 2015 version is free (CC license) Android in Action by W. Frank Ableso, Robi Sen, Chris King, C. Enrique Ortiz. Manning, /09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 3

4 Dealing with problems & Help Practical Assistants: Jakob Mass ( jakob.mass@ut.ee ) Mohan Liyanage ( liyanage@ut.ee ) Google Group Post any questions & technical issues Help out others! 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 4

5 What is Android? An open-source mobile platform Not just for phones TV, Watch, Smart Home Hub, Car Infotainment, Handheld GPS, Google, Open Handset Alliance 84 technology companies Commitment to openness, shared vision and concrete plans A Linux-based, multiprocess, multithreaded OS Each application is a different user By default, every app runs in its own Linux process. Each process has its own virtual machine, so an app's code runs in isolation from other apps. Libraries & Support tools Image: Wikimedia Commons user Wikideas1. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 5

6 Developing Applications You can write code for Android in Java, Kotlin or C/C++. (Not taking into account 3 rd party options) Today, Java is the most used language for Android Java package com.example.firstapp; import android.app.activity; public class MainActivity extends Activity { String name = John ; Kotlin package com.example.firstapp import android.app.activity class MainActivity : Activity() { var name = John protected void oncreate(bundle savedstate) { super.oncreate(savedinstancestate); } } override fun oncreate(savedinstancestate: Bundle?) { super.oncreate(savedstate) } 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 6

7 Software stack Image: 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 7

8 Android Software Stack Linux Kernel Foundation of the Android platform Provides key security features: User-based permissions model Process isolation Application Sandbox E.g., file permission management: one user cannot read/modify another user's files Thus, one application cannot see the files created by another application, except when explicitly shared by the developer Rooting Only the kernel and a small subset of the core applications run with root permissions It s possible to grant root access to applications, giving full access to system files, applications and all application data 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 8

9 Android Software Stack Hardware Abstraction Layer (HAL) Provides interfaces for accessing device hardware capabilities from the higher-level Java API. HAL is divided into various modules/libraries: Camera, Bluetooth, etc., /09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 9

10 Android Software Stack Android Runtime Provides an environment to host applications Applications run using ART (Android Runtime) Since Android v5.0 (API level 21) Before, Dalvik was used Dalvik Executable (DEX) format bytecode format designed specially for Android ART takes care of: executing Dex bytecode specification 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 10

11 From source to execution Android Java Check out Comparative Analysis of Mobile App Reverse Engineering Methods on Dalvik and ART by Na et al. 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 11

12 Why Android/Dalvik Runtime? The runtime is optimized specifically for mobile applications Runs multiple VMs efficiently Each application has its own VM instance Minimal memory footprint Relies on Linux kernel for threading and low-level memory management 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 12

13 Android Software Stack Native C/C++ Libraries 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 13

14 Java API & System Apps 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 14

15 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 15

16 Supporting different versions.. (August 2018) Version Codename API % Gingerbread % Ice Cream Sandwich % 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu x % 4.2.x Jelly Bean % % 4.4 KitKat % % Lollipop % 6.0 Marshmallow % % Nougat % % Oreo %

17 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 17

18 Development Environment & Tools Android Studio, IntelliJ IDEA-based set of software tools Single, unified environment for developing Android Download manager for SDK versions Emulator Performance profiling Visual layout editing Testing tools (Formerly, Eclipse was used) 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 18

19 Getting Started I hope all of you have Android Studio installed If you haven t, download the SDK tools and platforms for API /09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 19

20 Exercise: Creating a New Project 1. Create a New Android Studio Project minsdk 19 Choose Empty Activity template 2. Let s create an AVD (Android virtual device) 3. Run the application You should see a view with Hello, world! 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 20

21 Projects in Android Studio Applications are created as Gradle-based projects Gradle is a build automation-tool, it takes care of software development routines, such as compiling the source code executing tests download and configuration of dependencies or other libraries packaging the application and additional files Installing the application to a physical/virtual device and running it there /09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 21

22 Manifest file (Next slide) Source code Non-code resources XML-based UI layout definitions Images, icons Constants Build scripts of the project Generally, we work with the build.gradle files only, especially the module-level build.gradle file! 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 22

23 A look at Gradle configuration apply plugin: 'com.android.application' android { compilesdkversion 28 defaultconfig { applicationid "example.com.helloworld" minsdkversion 23 targetsdkversion 28 versioncode 1 versionname "1.0" testinstrumentationrunner "android.support.test.runner.androidjunitrunner" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguardrules.pro' } } } dependencies { implementation filetree(dir: 'libs', include: ['*.jar']). testimplementation 'junit:junit:4.12 } 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 23

24 Application Manifest Each project must declare an AndroidManifest.xml file Describes essential information about the app to the build tools, the Android OS, and Google Play It declares for instance: The permissions that the app wishes to use Capabilities such as supported device configurations Metadata, such as the application package name The components of the app (Activities, Services, BroadcastReceivers,..), and the corresponding Java (Kotlin) class names 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 24

25 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 25

26 Security in Android As mentioned earlier, follows standard Linux guidelines Each application runs in its own process Process permissions are enforced at user level and group IDs are assigned to processes Finer grained permissions are then granted (revoked) per operations Apps declare permissions in the manifest 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 26

27 Application Design Philosophy Applications should be Lightweight Resources are constrained: if your app consumes too much RAM while in the background, it will get killed by the OS quickly! Responsive The framework strongly discourages freeze-ups Secure, respectful of privacy Declare and ask for only the permissions you need, when you need them! Seamless Usability is key, the framework gives you lots of tools to support accessibility & localization options and storing, persisting data 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 27

28 Application priorities, process states Applications have limited control over their own lifecycles Recall that applications run in separate processes, each one in a separate instance of the ART virtual machine Memory and process management is handled by the runtime and kernel Runtime may kill some services in the background Being aware of application states & priorities is critical 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 28

29 Process lifecycle, state hierarchy 1. Foreground process (active process) Few simultaneously 2. Visible process Activity that is visible to the user on-screen but not in the foreground. E.g., if the foreground Activity is displayed as a dialog that allows the previous Activity to be seen behind it. 3. Service process such as background network data upload or download 4. Cached process 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 29

30 Android Activity lifecycle Apps move through states during the lifecycle. Understanding the lifecycle is crucial, to prevent: Apps crashing if the user receives a call or switches to another app while using your app Using valuable resources when the user is not actively using your app Loss of user s progress when they leave your app and return to it later Loss of progress or crashes when screen switches between landscape and portrait orientation 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 30

31 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 31

32 Let s look at the default, empty activity public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 32

33 Logging in Android Traditional System.out.println is generally not used on Android (output may not be visible, depending on device) Instead, use the frameworks logging mechanisms: android.util.log class and its methods For example, Log.v( String tag, String message) Tag: app name, view name, usually a constant per class Message: the actual log message Log.v(..), Log.i(..), Log.w(.. ), Log.e(..) Log messages appear in the LogCat component of the Android Studio interface 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 33

34 Exercise: Hello, LogCat! Write a message to the log output Put the statement in the onresume lifecycle method Verify that you can see the message in LogCat 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 34

35 Creating GUIs in Android Three approaches: Declaring in XML Programmatically Visually Android Studio Layout Editor 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 35

36 public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } Reference to XML-defined View 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 36

37 Exercise 1: Programmatic UI Let s create a vertical LinearLayout Add 2 buttons to it 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 37

38 XML-based approach Declarative approach Stored in /res/layout Straightforward XML vocabulary for view elements, such as widgets and layouts Declare the relationship and attributes of components During compiling, each XML layout is compiled into a View resource View resource is loaded via the setcontentview() method 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 38

39 Exercise 2: XML-based UI Re-create the same LinearLayout activity using XML In res/layout, choose New-> Layout resource File Replace the default Root element with LinearLayout! We will look into the default option later 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 39

40 Troubleshooting Shouldn t be seeing errors here! If your XML is correct, but you re not seeing anything in the Design view Quick workaround: Change the Editor s theme from AppTheme to something else (e.g. Material Light) There seems to be a bug in the latest versions of com.android.support:appcompat support library 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 40

41 String resources Notice the warnings the IDE shows you Android provides a system of managing resources like strings, numbers, colors, etc Open app > res > values > strings.xml. Create a string value Use it for your button 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 42

42 Working with string resources strings.xml: <string name="hello">greetings!</string> <string-array name="planets_array"> <item>mercury</item> <item>venus</item> <item>earth</item> </string-array> <string name="message">hello, %1$s.</string> Java: // Single string String string = getstring(r.string.hello); /// String array Resources res = getresources(); String[] planets = res.getstringarray(r.array.planets_array); // Formatted string String text = getstring(r.string.message, username); 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 43

43 Other resources Colour accessed via the R.color class getresources().getcolor(r.color.pink) <resources> <color name="blue">#3f51b5</color> <color name="pink">#ff4081</color> </resources> Style, dimension resources Accessed from the R.style, R.dimen classes Define various UI aspects such as margins, action bar configurations 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 44

44 Resource file benefits Separation of code & concerns Easy to find, update e.g no hardcoded strings, colours in code Organizing, structuring resources Localization Screen orientation Device type (tablet vs phone) Not just strings & layouts! Color schemes Etc 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 45

45 Supporting different screens Create additional res/layout directories for alternative layouts Smallest width: Available width: Orientation: 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 46

46 Localizing applications Support different languages with res/values-en res/values-fr res/values-est ISO 639 language codes Works for any resource strings, mipmap images, /09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 47

47 So far Programmatic UI approach Declarative, XML-based UI approach Working with resources Strings Colours Localization options 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 48

48 Coming back to screen sizes You should minimize hard-coding the position and size of your UI components or creating an alternative layout for every possible configuration Instead, build UI-s with flexible layouts, that stretch and adapt to the current size based on a set of rules (constraints) ConstraintLayout easiest way to create a responsive layout 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 49

49 Visual approach: the Layout Editor 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 50

50 ConstraintLayout 101 Every object must have: At least 1 horizontal constraint At least 1 vertical constraint Centering objects: Use 2 constraints on the same axis Next week we will have a more detailed look at ConstraintLayout 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 51

51 Exercise 3: Re-create the UI with ConstraintLayout Do NOT use the auto-converter tool! 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 52

52 Simple user interaction Let s handle button clicks With the findviewbyid(..) method, you can get a handle for referencing XML-declared resources & view objects in code: Button button = findviewbyid(r.id.buttona); button.setonclicklistener(new View.OnClickListener() public void onclick(view view) { //do something } }); 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 54

53 Specifying click handler from XML Alternatively, in XML Specify the click handler with the Button attribute android:onclick,setting its value to the method which will be called Create the corresponding method in the Activity public void handleclick(view view) { // Do something in response to button click } 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 55

54 Advantages of Declarative approach Separation of appearance (presentation) from state-changing code (business logic) Can change interface without having to completely recompile Java View Resource is inflated at runtime 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 56

55 Exercise 4: Click counter Set up a click handler that updates the button to show the number of times it has been clicked Make the 2nd button restart the counter Try both the programmatic & declarative approach 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 57

56 Recap The Android Project Android Studio & Virtual Devices Application Lifecycle Working with resources Localization Screens, Languages Basic UI creation & interaction ConstraintLayout OnClick events 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 58

57 Homework. Task 1 Implement a Celsius-Fahrenheit converter Should convert both ways Use EditText to get user input Use the settext, gettext methods and click listeners Create separate portrait and landscape mode UI-s (using XML): Portrait mode with LinearLayout Landscape mode with ConstraintLayout 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 59

58 Homework. Task 2 Observe the application lifecycle Override the onpause, onresume, onstop, ondestroy, oncreate lifecycle methods and with the help of logging answer these questions: Which of these methods are called & what order are they called in when: Changing device orientation? Hitting the home button and returning to the application Hitting the back button and re-opening the application What happens to the EditText and TextView elements in each of these 3 cases (assuming the user has at least done 1 successful conversion)? 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 60

59 Homework 1 additional info Deadline: before next lecture Submission: via the courses.cs.ut.ee page for this course You can also find a slightly more detailed explanation of the homework there 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 61

60 Next lecture Views & Layouts Fragments Events, Intents Application components 07/09/2018 Mobile & Cloud Lab. Institute of Computer Science, University of Tartu 62

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

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

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

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

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

CSCU9YH Development with Android

CSCU9YH Development with Android CSCU9YH Development with Android Computing Science and Mathematics University of Stirling 1 Android Context 3 Smartphone Market share Source: http://www.idc.com/promo/smartphone-market-share/os 4 Smartphone

More information

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1 Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is

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

CS260 Intro to Java & Android 04.Android Intro

CS260 Intro to Java & Android 04.Android Intro CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample

More information

Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.

Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings. Hello World Lab Objectives: Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.xml What to Turn in: The lab evaluation

More information

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life

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

android-espresso #androidespresso

android-espresso #androidespresso android-espresso #androidespresso Table of Contents About 1 Chapter 1: Getting started with android-espresso 2 Remarks 2 Examples 2 Espresso setup instructions 2 Checking an Options Menu items (using Spoon

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

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

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

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

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

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

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

Android HelloWorld - Example. Tushar B. Kute,

Android HelloWorld - Example. Tushar B. Kute, Android HelloWorld - Example Tushar B. Kute, http://tusharkute.com Anatomy of Android Application Anatomy of Android Application Java This contains the.java source files for your project. By default, it

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

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

EMBEDDED SYSTEMS PROGRAMMING Android NDK

EMBEDDED SYSTEMS PROGRAMMING Android NDK EMBEDDED SYSTEMS PROGRAMMING 2017-18 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code

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

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer

More information

Building MyFirstApp Android Application Step by Step. Sang Shin Learn with Passion!

Building MyFirstApp Android Application Step by Step. Sang Shin   Learn with Passion! Building MyFirstApp Android Application Step by Step. Sang Shin www.javapassion.com Learn with Passion! 1 Disclaimer Portions of this presentation are modifications based on work created and shared by

More information

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

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android. Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Emmanuel Agu What is Android? Android is world s leading mobile operating system Open source Google: Owns Android, maintains it,

More information

Minds-on: Android. Session 1

Minds-on: Android. Session 1 Minds-on: Android Session 1 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Mobile devices Android OS Android architecture Android Studio Practice 1 / 33 2 / 33 Mobile devices

More information

Lab 1 - Setting up the User s Profile UI

Lab 1 - Setting up the User s Profile UI Lab 1 - Setting up the User s Profile UI Getting started This is the first in a series of labs that allow you to develop the MyRuns App. The goal of the app is to capture and display (using maps) walks

More information

UNDERSTANDING ACTIVITIES

UNDERSTANDING ACTIVITIES Activities Activity is a window that contains the user interface of your application. An Android activity is both a unit of user interaction - typically filling the whole screen of an Android mobile device

More information

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2.

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2. Outline 1. Set up Android Studio Android development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 15 September 2017 2. Create sample app 3. Add UI to see how the design interface works 4. Add some code

More information

CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L

CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Activity Basics Manifest File AndroidManifest.xml Central configuration of Android application Defines: Name of application Icon for

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

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

COMP4521 EMBEDDED SYSTEMS SOFTWARE

COMP4521 EMBEDDED SYSTEMS SOFTWARE COMP4521 EMBEDDED SYSTEMS SOFTWARE LAB 1: DEVELOPING SIMPLE APPLICATIONS FOR ANDROID INTRODUCTION Android is a mobile platform/os that uses a modified version of the Linux kernel. It was initially developed

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

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu Administrivia Moved back deadlines for projects 2, 3 and final project See updated schedule

More information

CMSC436: Fall 2013 Week 3 Lab

CMSC436: Fall 2013 Week 3 Lab CMSC436: Fall 2013 Week 3 Lab Objectives: Familiarize yourself with the Activity class, the Activity lifecycle, and the Android reconfiguration process. Create and monitor a simple application to observe

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

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

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de SoSe 2018 Programming with Android Today: Android basics

More information

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de WS 2017/18 Programming with Android Today: Android basics

More information

Google Maps Troubleshooting

Google Maps Troubleshooting Google Maps Troubleshooting Before you go through the troubleshooting guide below, make sure that you ve consulted the class FAQ, Google s Map Activity Tutorial, as well as these helpful resources from

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

Getting Started. Dr. Miguel A. Labrador Department of Computer Science & Engineering

Getting Started. Dr. Miguel A. Labrador Department of Computer Science & Engineering Getting Started Dr. Miguel A. Labrador Department of Computer Science & Engineering labrador@csee.usf.edu http://www.csee.usf.edu/~labrador 1 Goals Setting up your development environment Android Framework

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

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

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

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

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Java Virtual Machine Android

More information

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Overview MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Lecture: MVC Model View Controller What is an App? Android Activity Lifecycle Android Debugging Fixing Rotations & Landscape Layouts Localization

More information

Android-Basics. Praktikum Mobile und Verteilte Systeme

Android-Basics. Praktikum Mobile und Verteilte Systeme Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Thomy Phan, Robert Müller, Steffen Illium http://www.mobile.ifi.lmu.de WS 2018/19 Programming with Android

More information

(Refer Slide Time: 0:48)

(Refer Slide Time: 0:48) Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 10 Android Studio Last week gave you a quick introduction to android program. You develop a simple

More information

University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World

University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World Before you do anything read all of the following red paragraph! For this lab you

More information

Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard.

Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard. 44 CHAPTER 2 Android s development environment Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard. TIP You ll want the package name of your applications to be unique

More information

Configuring the Android Manifest File

Configuring the Android Manifest File Configuring the Android Manifest File Author : userone What You ll Learn in This Hour:. Exploring the Android manifest file. Configuring basic application settings. Defining activities. Managing application

More information

Android. Operating System and Architecture. Android. Screens. Main features

Android. Operating System and Architecture. Android. Screens. Main features Android Android Operating System and Architecture Operating System and development system from Google and Open Handset Alliance since 2008 At the lower level is based on the Linux kernel and in a higher

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

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

EMBEDDED SYSTEMS PROGRAMMING Android NDK

EMBEDDED SYSTEMS PROGRAMMING Android NDK EMBEDDED SYSTEMS PROGRAMMING 2015-16 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code

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

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

Android Application Development

Android Application Development Android Application Development Course Code: AND-401 Version 7 (Nougat) 2016 Android ATC Published by: Android ATC Fourth Printing: December 2016. First Printing: October 2013. ISBN: 978-0-9900143-8-6

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 1 Course Introduction Lecturer: Albert C. M. Au

More information

BlackBerry Developer Global Tour. Android. Table of Contents

BlackBerry Developer Global Tour. Android. Table of Contents BlackBerry Developer Global Tour Android Table of Contents Page 2 of 55 Session - Set Up the BlackBerry Dynamics Development Environment... 5 Overview... 5 Compatibility... 5 Prepare for Application Development...

More information

Introduction to Android Development

Introduction to Android Development Introduction to Android Development What is Android? Android is the customizable, easy to use operating system that powers more than a billion devices across the globe - from phones and tablets to watches,

More information

This document providesanoverview ofthestepsrequired to implement an android app which will call the ACH android SDK.

This document providesanoverview ofthestepsrequired to implement an android app which will call the ACH android SDK. Contents Introduction... 2 Requirement... 2 Create Android Application... 3 Files detail in App... 6 Android SDK for Connect Pay... 10 How to call SDK... 10 Method Details... 12 Introduction This document

More information

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android Ing. Elton Domnori December 7, 2011 Mobile OS Symbian BlackBerry Window mobile Android ios Mobile OS OS First release Last release Owner Android Android 1.0 September 2008 Android 4.0 May 2011 Open Handset

More information

CE881: Mobile & Social Application Programming

CE881: Mobile & Social Application Programming CE881: Mobile & Social Application Programming, s, s and s Jialin Liu Senior Research Officer Univerisity of Essex 6 Feb 2017 Recall of lecture 3 and lab 3 :) Please download Kahoot or open a bowser and

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

CS 528 Mobile and Ubiquitous Computing Lecture 3: Android UI, WebView, Android Activity Lifecycle Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 3: Android UI, WebView, Android Activity Lifecycle Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 3: Android UI, WebView, Android Activity Lifecycle Emmanuel Agu Android UI Design Example GeoQuiz App Reference: Android Nerd Ranch, pgs 1 30 App presents

More information

Android Ecosystem and. Revised v4presenter. What s New

Android Ecosystem and. Revised v4presenter. What s New Android Ecosystem and Revised v4presenter What s New Why Mobile? 5B 4B 3B 2B 1B Landlines PCs TVs Bank users Mobiles 225M AOL 180M 135M 90M 45M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Quarters

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

Java & Android. Java Fundamentals. Madis Pink 2016 Tartu

Java & Android. Java Fundamentals. Madis Pink 2016 Tartu Java & Android Java Fundamentals Madis Pink 2016 Tartu 1 Agenda» Brief background intro to Android» Android app basics:» Activities & Intents» Resources» GUI» Tools 2 Android» A Linux-based Operating System»

More information

SD Module- Android Programming

SD Module- Android Programming Assignment No. 1 SD Module- Android Programming R (2) C (4) V (2) T (2) Total (10) Dated Sign Title: Download Install and Configure Android Studio on Linux /windows platform. Problem Definition: Install

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

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

Introduction to Android

Introduction to Android Introduction to Android http://myphonedeals.co.uk/blog/33-the-smartphone-os-complete-comparison-chart www.techradar.com/news/phone-and-communications/mobile-phones/ios7-vs-android-jelly-bean-vs-windows-phone-8-vs-bb10-1159893

More information

XML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project.

XML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project. XML Tutorial XML stands for extensible Markup Language. XML is a markup language much like HTML used to describe data. XML tags are not predefined in XML. We should define our own Tags. Xml is well readable

More information

Android Overview. Francesco Mercaldo, PhD

Android Overview. Francesco Mercaldo, PhD Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what

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

Fragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment

Fragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment FRAGMENTS Fragments An activity is a container for views When you have a larger screen device than a phone like a tablet it can look too simple to use phone interface here. Fragments Mini-activities, each

More information

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012 ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012 AGENDA Android v. ios Design Paradigms Setup Application Framework Demo Libraries Distribution ANDROID V. IOS Android $25 one-time

More information

Hello World. Lesson 1. Create your first Android. Android Developer Fundamentals. Android Developer Fundamentals

Hello World. Lesson 1. Create your first Android. Android Developer Fundamentals. Android Developer Fundamentals Hello World Lesson 1 1 1.1 Create Your First Android App 2 Contents Android Studio Creating "Hello World" app in Android Studio Basic app development workflow with Android Studio Running apps on virtual

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

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

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device.

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device. Let's get started! Start Studio We might have a bit of work to do here Create new project Let's give it a useful name Note the traditional convention for company/package names We don't need C++ support

More information

Lab Android Development Environment

Lab Android Development Environment Lab Android Development Environment Setting up the ADT, Creating, Running and Debugging Your First Application Objectives: Familiarize yourself with the Android Development Environment Important Note:

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

IJRDTM Kailash ISBN No Vol.17 Issue

IJRDTM Kailash ISBN No Vol.17 Issue ABSTRACT ANDROID OPERATING SYSTEM : A CASE STUDY by Pankaj Research Associate, GGSIP University Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

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

Getting Started With Android Feature Flags

Getting Started With Android Feature Flags Guide Getting Started With Android Feature Flags INTRO When it comes to getting started with feature flags (Android feature flags or just in general), you have to understand that there are degrees of feature

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

Upon completion of the second part of the lab the students will have:

Upon completion of the second part of the lab the students will have: ETSN05, Fall 2017, Version 2.0 Software Development of Large Systems Lab 2 1. INTRODUCTION The goal of lab 2 is to introduce students to the basics of Android development and help them to create a starting

More information

CS 234/334 Lab 1: Android Jump Start

CS 234/334 Lab 1: Android Jump Start CS 234/334 Lab 1: Android Jump Start Distributed: January 7, 2014 Due: Friday, January 10 or Monday, January 13 (in-person check off in Mobile Lab, Ry 167). No late assignments. Introduction The goal of

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

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

CMSC 436 Lab 10. App Widgets and Supporting Different Devices

CMSC 436 Lab 10. App Widgets and Supporting Different Devices CMSC 436 Lab 10 App Widgets and Supporting Different Devices Overview For this lab you will create an App Widget that uses a Configuration Activity You will also localize the widget to support different

More information