Mobile Application Development
|
|
- Sara Miller
- 5 years ago
- Views:
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 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 informationEMBEDDED 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 informationIntroduction 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 informationReal-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 informationEmbedded 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 informationCSCU9YH 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 informationAndroid. 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 informationIntroduction 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 informationCS260 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 informationCreate 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 informationAndroid 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 informationUnderstand 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 informationandroid-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 informationMobile 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 informationANDROID 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 informationBCA 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 informationCS 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 informationLab 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 informationIntroduction 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 informationCOSC 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 informationAndroid 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 informationAndroid 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 informationANDROID 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 informationAndroid. 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 informationEMBEDDED 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 informationProgramming 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 informationAndroid 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 informationIntroduction 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 informationBuilding 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 informationCS 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 informationMinds-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 informationLab 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 informationUNDERSTANDING 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 informationAndroid 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 informationCS 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 informationAndroid 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 informationProgramming 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 informationCOMP4521 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 informationCS 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 informationCS 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 informationCMSC436: 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 informationINTRODUCTION 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 informationANDROID 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 informationPraktikum 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 informationAndroid-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 informationGoogle 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 informationCS378 -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 informationGetting 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 informationAndroid 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 informationCS 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 informationCS378 - 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 informationProgramming 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 informationMVC 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 informationAndroid-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)
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 informationUniversity 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 informationFigure 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 informationConfiguring 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 informationAndroid. 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 informationAndroid 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 informationCOLLEGE 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 informationEMBEDDED 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 informationAndroid 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 informationActivities 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 informationAndroid 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 informationIEMS 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 informationBlackBerry 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 informationIntroduction 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 informationThis 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 informationMobile 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 informationCE881: 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 informationAndroid 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 informationCS 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 informationAndroid 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 informationLecture 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 informationJava & 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 informationSD 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 informationMobile 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 informationAndroid 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 informationIntroduction 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 informationXML 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 informationAndroid 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 informationAndroid 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 informationFragments 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 informationANDROID 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 informationHello 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 informationMobile 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 informationAndroid 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 informationEventually, 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 informationLab 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 informationProduced 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 informationIJRDTM 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 informationMobile 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 informationGetting 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 informationACTIVITY, 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 informationUpon 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 informationCS 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 informationComputer 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 informationATC 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 informationCMSC 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