Android OS : Core Concepts Dr. Jeyakesavan Veerasamy Sr. Lecturer University of Texas at Dallas

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Bruce Scharlau, University of Aberdeen, 2010 Android UI, and Networking Mobile Computing Based on android-sdk_2.2 Unless otherwise stated, images are from.
Ando-it-yourself droid Praveen Kumar Pendyala. Outline Brief intro to the Droid developement Setting up the Life saviors - Development tools Hello Droid.
Introduction.  Professor  Adam Porter 
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
All About Android Introduction to Android 1. Creating a New App “These aren’t the droids we’re looking for.” Obi-wan Kenobi 1. Bring up Eclipse. 2. Click.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Android Programming Beomjoo Seo Sep., 12 CS5248 Fall 2012.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
@2011 Mihail L. Sichitiu1 Android Introduction Application Fundamentals.
Case study 2 Android – Mobile OS.
Android Application Development CSE 5520/4520 Wireless Networks.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Middleware Bo Pang
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
CS5103 Software Engineering Lecture 08 Android Development II.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Take a leap towards the most promising technology
Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni August 26, 2015 *Based on slides from Paresh Mayami.
Android Info mostly based on Pro Android 3.  User Applications  Java Libraries – most of Java standard edition ◦ Activities/Services ◦ UI/Graphics/View.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Ali Shahrokni Application Components Activities Services Content providers Broadcast receivers.
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Rajab Davudov. Agenda Eclipse, ADT and Android SDK APK file Fundamentals – Activity – Service – Content Provider – Broadcast Receiver – Intent Hello World.
DUE Hello World on the Android Platform.
CS378 - Mobile Computing Intents.
#gsa2012 Android Basics By: Amr Mohsen
Android for Java Developers Denver Java Users Group Jan 11, Mike
Overview of Android Application Development
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
First Venture into the Android World Chapter 1 Part 2.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
1 Android Development Lean and mean introduction Based on a presentation by Mihail L. Sichitiu.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Introduction to Android Programming
Android Mobile Application Development
Android Application -Architecture.
Android 01: Fundamentals
Android Application Development 1 6 May 2018
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Android Runtime – Dalvik VM
Android.
Software Engineering in Mobile Computing
CMPE419 Mobile Application Development
CS323 Android Getting Started
Application Fundamentals
Application Development A Tutorial Driven Course
Korea Software HRD Center
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Mobile Programming Dr. Mohsin Ali Memon.
Getting Started with Android…
Android Development Introduction to Android Development 2011/01/16
CMPE419 Mobile Application Development
Presentation transcript:

Android OS : Core Concepts Dr. Jeyakesavan Veerasamy Sr. Lecturer University of Texas at Dallas

Agenda Introduction to Android devices Environment overview Android concepts Application components – Activities, Services, Content providers, Broadcast receivers “Hello” application Summary

Development Environment Java Development Kit (JDK) Eclipse IDE Android Development Tools (ADT) plug-in SDK starter package – Platforms (1.0, 2.0, 3.0, 4.1, …) – Tools (debug, …) Reference: JDK Eclipse ADT Plug-in Android SDK

Development Process for Android Applications

Android Architecture

Android Runtime Environment Dalvik VM for each application common Linux kernel JRE x.classy.class Linux kernel VM APP …

Basics: UNIX security compare it with Windows security

Application Security Android operating system is based on multi- user Linux system. Each application is treated as a different user. Each application uses unique Linux user ID. Every application runs as a Linux process.

Application security … It's possible to arrange for two applications to share the same Linux user ID, in which case they are able to access each other's files – can run as same Linux process and share the same VM (applications use same certificate). An application can request permission to access device data such as the user's contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application permissions must be granted by the user at install time.

Processes & Threads Every application runs in its own process and all components of the application run in that process, by default -- UI thread Any slow, blocking operations in an activity should be done in a new thread, to avoid slowing down the user interface. – If application does not respond in 5 seconds, "application not responding" (ANR) dialog appears.application not responding

Process lifecycle: Importance Hierarchy Foreground process Visible process Service process Background process Empty process “Lower importance” tasks may be killed by Android – why? How to select a lucky one from a pool?

IPC Remote procedure calls (RPCs)

Android Application components Activities - front-end UI screens Services – back-end support Content providers – application data – SQLite, web or SD card Broadcast receivers – handle system events

Activitating Components: Intent

Basics: Data Exchange A1 A3 A2 A4

Basics: Data Exchange Binary or text data  XML or JSON … Independent data checkers tools available. A1 A3 A2 A4

Sample XML data file Text format: Belgian Waffles, 5.95, two of our famous Belgian Waffles with plenty of real …, 650 Strawberry Belgian Waffles, 7.95, light Belgian waffles covered with …., 900

Application info: Manifest file Declare components Declare application requirements Application Resources?

Activity lifecycle: 3 states Resumed or Running Paused Stopped

State machine

Code

Service Lifecycle

User Interface Design

XML Layouts Declare UI elements in XML. Android provides a straightforward XML vocabulary that corresponds to the View classes and subclasses. Instantiate layout elements at runtime. Your application can create View and ViewGroup objects (and manipulate their properties) programmatically.

Application Resources

Building & running Android app

Program to say “Hello!”

Native Development Kit (NDK) Use C/C++ for development primarily for performance critical components

Summary Clean, sophsticated, yet reasonably simple. Android requires strong Java skills – heavy use of derived classes (inheritance). Development: Java code & XML definitions Reference: Install Android development environment and play with a few examples or try your own ideas! Marketable skill in the industry!

More references mple mple

Questions & Answers