CS260 Intro to Java & Android 04.Android Intro

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

IJRDTM Kailash ISBN No Vol.17 Issue

Android App Development

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Developer s overview of the Android platform

Introduction to Android

Android Overview. Most of the material in this section comes from

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

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

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Introduction to Android

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

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

Mobile and Ubiquitous Computing: Android Programming (part 1)

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

Mobile Application Development - Android

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

Android App Development. Ahmad Tayeb

COLLEGE OF ENGINEERING, NASHIK-4

SD Module- Android Programming

Android Overview. Francesco Mercaldo, PhD

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

ATC Android Application Development

Android. (XKE Mars 2009) Erwan Alliaume.

Introduction to Android development

Android Development Tools = Eclipse + ADT + SDK

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

Introduction To Android

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Android In Industrial Applications. A Field Report

Introduction to Android

Mobile and Wireless Systems Programming

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Steps to Set Up the Environment of Xamarin in Visual

CSCU9YH Development with Android

Lab Android Development Environment

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Android Fundamentals - Part 1

Android Software Development Kit (Part I)

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

SHWETANK KUMAR GUPTA Only For Education Purpose

Minds-on: Android. Session 1

Android Development Tutorial. Yi Huang

Android-Basics. Praktikum Mobile und Verteilte Systeme

Programmazione di sistemi mobili e tablet

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Wirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher. Seminar paper presentation Dennis Robert Stöhr

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:

Real-Time Embedded Systems

Lecture 1 - Introduction to Android

Android System Development Training 4-day session

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


Android App Development

ITG Software Engineering

ANDROID SYLLABUS. Advanced Android

application components

Traditional vs. Mobile Operating Systems

Tutorial on Basic Android Setup

Android Sdk Tutorial For Windows 7 64 Bit Full Version

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Android Programmierung leichtgemacht. Lars Vogel

Ahmed Ali Big fan of Android

Android Application Development Course 28 Contact Hours

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

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Chapter 1 Hello, Android

Android Sdk Setup For Windows 7 32 Bit Full Version

COSC 3P97 Mobile Computing

Android Internals and the Dalvik VM!

BCA 6. Question Bank

Chapter 2. Operating-System Structures

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

Mobile development initiation

UNIT:2 Introduction to Android

Android Application Development

Android - open source mobile platform

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

Mobile Computing. Introduction to Android

Security Philosophy. Humans have difficulty understanding risk

ECOM 5341 Mobile Computing(Android) Eng.Ruba A. Salamah

Android Debugging ART

Mobile Hacking & Security. Ir. Arthur Donkers & Ralph Moonen, ITSX

Chapter 2: Operating-System Structures

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CS260 Intro to Java & Android 02.Java Technology

Introduction What is Android?

ios vs Android By: Group 2

Four Components of a Computer System

Android Programming in Bluetooth Cochlea Group

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

EMBEDDED SYSTEMS PROGRAMMING Application Basics

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Android Apps. with Eclipse. Apress. Onur Cinar

Transcription:

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 Code Present development tools: Eclipse with the Android Developer Tool (ADT) plugin which integrates developer tools Android Studio Winter 2015 CS260 - Intro to Java & Android 2

Android Portability Android applications run within the Dalvik virtual machine ART is a new Android runtime being introduced in 4.4 Development Platforms: Windows (XP, Windows, 7, 8) Linux Mac OS 10.4.8 or later (Intel chips only) Winter 2015 CS260 - Intro to Java & Android 3

Android HelloWorld Application Start Android Studio We will create our warm fuzzy HelloWorld Winter 2015 CS260 - Intro to Java & Android 4

New Android Project Winter 2015 CS260 - Intro to Java & Android 5

Click Next takes us to Winter 2015 CS260 - Intro to Java & Android 6

Click Next takes us to Winter 2015 CS260 - Intro to Java & Android 7

Click Finish takes us to Winter 2015 CS260 - Intro to Java & Android 8

Run the Android Application Special keys left ctl & F11 - landscape Esc - back button Home - Home F3 - Call / Dial button F4 - Hang up / end call F5 - Search More Shortcuts http://www.shortcutworld.com/en/win/android-emulator.html Winter 2015 CS260 - Intro to Java & Android 9

Design Mode Winter 2015 CS260 - Intro to Java & Android 10

HelloWorldAndroid Project Winter 2015 CS260 - Intro to Java & Android 11

Creating Virtual Devices Winter 2015 CS260 - Intro to Java & Android 12

Important Android Dates Google acquires Android, August 2005 Open Handset Alliance (OHA) announced, November 2007. OHA developed Android and is committed to commercially deploy handsets and services using the Android Platform. [10] First Android Phone, G1, October 2008 Android SDK 1.0, October 2008 Winter 2015 CS260 - Intro to Java & Android 13

What is Android? Android is a software stack (set of programs working together) for mobile devices that includes: an operating system middleware applications Winter 2015 CS260 - Intro to Java & Android 14

Android Architecture Winter 2015 CS260 - Intro to Java & Android 15

Linux Kernel Android relies on Linux version 2.6 (3.x from Android 4.0 Ice Cream Sandwich) for: memory management process management security networking You will not make Linux system calls Some utilities interact with Linux e.g. adb shell Winter 2015 CS260 - Intro to Java & Android 16

adb shell With an emulator running, open a Windows command shell Type adb shell Type ls Now you can examine the Linux file system of the phone which aids in in debugging Winter 2015 CS260 - Intro to Java & Android 17

Native Libraries The native libraries are written in C & C++ The libraries are exposed through the Application framework Winter 2015 CS260 - Intro to Java & Android 18

Application Framework Android developers have access to the same framework APIs use by the core applications Services and systems for applications include: Views including lists, grids, buttons,... Content Providers methods for accessing data Resource Manager organizes non-code resources such as strings and layout files Notification Manager displays custom alerts Activity Manager manages lifecycle of applications Winter 2015 CS260 - Intro to Java & Android 19

Android Runtime Every Application: Runs in its own process space Has a separate instance of the Dalvik VM The Dalvik VM uses the Linux kernel for functionality such as threading and low-level memory management Dalvik VM!= JVM All Android code is written in Java and run within the Dalvik VM Winter 2015 CS260 - Intro to Java & Android 20

What is Dalvik? Dalvik is a VM optimized for low memory requirements Android code is compiled into bytecodes executed by the Dalvik VM bytecodes are machine-independent instructions Winter 2015 CS260 - Intro to Java & Android 21

Android Applications Apps are written in Java Code is compiled into Android package (.apk file) All code (including data & resource files) in.apk is one application Winter 2015 CS260 - Intro to Java & Android 22

Android Application Specifics Android is a multi-user Linux system where each application is a user Only one application is visible at a time Each process has its own VM running an application in isolation Two or more applications can share data Applications consist of one or more activities Winter 2015 CS260 - Intro to Java & Android 23

What is an Activity? An Activity represents a single screen with a UI Ex: Email Application consists of activities for Showing list of emails Composing an email Reading an email Each activity is independent Other applications can use a particular activity if the email application gives permission to do so Winter 2015 CS260 - Intro to Java & Android 24

Activity Lifecycle Activity a process that performs some specific action Every Android application is made up of one or more activities managed on an Activity Stack (AS) or the back stack. A new activity is always placed on top of the AS and then becomes the running activity. The AS is LIFO; therefore, when the Back button is pressed the current activity is popped and destroyed Winter 2015 CS260 - Intro to Java & Android 25

Activity Lifecycle Visual Winter 2015 CS260 - Intro to Java & Android 26

Activity States An activity has essentially four states: running in the foreground of the screen paused lost focus but still visible with all state maintained How? A new activity that is transparent or not full sized is running on top of the stack stopped a new activity completely obscures another activity The stopped activity is no longer visible State is maintained destroyed the activity must be completely restarted and the state information must be Winter 2015 CS260 - Intro to Java & Android 27

Activity Skeleton Winter 2015 CS260 - Intro to Java & Android 28

ActivityLifeCycleDemo Application Copy the Android Project ActivityLifeCycle from CS260-01Public 1. Place the file in AndroidStudioProjects on your local machine 2. Let s take a look at the source code 3. Run the application Q1: What is the difference between hitting the home button (HOME) and back button (ESC)? Q2: What is Log.v and how can it be used? Winter 2015 CS260 - Intro to Java & Android 29