1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.

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.
Introduction.  Professor  Adam Porter 
Mobile Application Development with ANDROID Mobile Application Development with ANDROID d.
What is Android?.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Joemarie Comeros Amparo Android Development Orientation for Starters.
Android Platform Overview (1)
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Android and Project Structure. Android Android OS – Built on Linux Kernel – Phones – Netbooks – Readers – Other???
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
Android Programming Beomjoo Seo Sep., 12 CS5248 Fall 2012.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Android Tutorial Larry Walters OOSE Fall References This tutorial is a brief overview of some major concepts…Android is much richer and more complex.
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Introduction Platform Overview.
Introduction to Android Programming Content Basic environmental structure Building a simple app Debugging.
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.
Android Introduction Based on slides made by
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.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Presented By: Muhammad Tariq Software Engineer Android Training course.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Analysis And Research Of System Security Based On.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
Vijetha Prabhu B & Sushmitha Shenoy. Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Introduction to Android Programming
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Computer System Structures
Android Mobile Application Development
Android Application -Architecture.
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Android Runtime – Dalvik VM
Android.
CMPE419 Mobile Application Development
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Introduction to Android
CMPE419 Mobile Application Development
Presentation transcript:

1 Android Introduction Platform Overview

2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

3 OHA (Open Handset Alliance)  A business alliance consisting of 47 companies to develop open standards for mobile devices

4 Phones HTC G1, Droid, Tattoo Motorola Droid (X) Suno S880Samsung Galaxy Sony Ericsson

5 Tablets Velocity Micro Cruz Gome FlyTouchAcer beTouch Dawa D7 Toshiba Android SmartBook Cisco Android Tablet

6 Architecture

7 Android S/W Stack - Application  Android provides a set of core applications: Client SMS Program Calendar Maps Browser Contacts Etc  All applications are written using the Java language.

8 Android S/W Stack – App Framework  Enabling and simplifying the reuse of components Developers have full access to the same framework APIs used by the core applications. Users are allowed to replace components.

9 Android S/W Stack – App Framework (Cont)  Features FeatureRole View System Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Content Provider Enabling applications to access data from other applications or to share their own data Resource Manager Providing access to non-code resources (localized strings, graphics, and layout files) Notification Manager Enabling all applications to display customer alerts in the status bar Activity Manager Managing the lifecycle of applications and providing a common navigation back-stack

10 Android S/W Stack - Libraries  Including a set of C/C++ libraries used by components of the Android system  Exposed to developers through the Android application framework

11 Android S/W Stack – Runtime  Core Libraries Providing most of the functionality available in the core libraries of the Java language APIs  Data Structures  Utilities  File Access  Network Access  Graphics

12 Android S/W Stack – Runtime (Cont)  Dalvik Virtual Machine Providing environment on which every Android application runs  Each Android application runs in its own process, with its own instance of the Dalvik VM.  Dalvik has been written such that a device can run multiple VMs efficiently. Register-based virtual machine

13 Android S/W Stack – Runtime  Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint.  Compilation Relying on the Linux Kernel for:  Threading  Low-level memory management

14 Android S/W Stack – Linux Kernel Relying on Linux Kernel 2.6 for core system services Memory and Process Management Network Stack Driver Model Security Providing an abstraction layer between the H/W and the rest of the S/W stack

Android SDK  Once installed open the SDK Manager  Install the desired packages  Create an Android Virtual Device (AVD)

SDK Manager

AVD

Project Components  src – your source code  gen – auto-generated code (usually just R.java)  Included libraries  Resources Drawables (like.png images) Layouts Values (like strings)  Manifest file

XML  Used to define some of the resources Layouts (UI) Strings  Manifest file  Shouldn ’ t usually have to edit it directly, Eclipse can do that for you  Preferred way of creating UIs Separates the description of the layout from any actual code that controls it Can easily take a UI from one platform to another

R Class  Auto-generated: you shouldn ’ t edit it  Contains IDs of the project resources  Enforces good software engineering  Use findViewById and Resources object to get access to the resources Ex. Button b = (Button)findViewById(R.id.button1) Ex. getResources().getString(R.string.hello));

Layouts  Eclipse has a great UI creator Generates the XML for you  Composed of View objects  Can be specified for portrait and landscape mode Use same file name, so can make completely different UIs for the orientations without modifying any code

Strings  In res/values strings.xml  Application wide available strings  Promotes good software engineering  UI components made in the UI editor should have text defined in strings.xml  Strings are just one kind of ‘ Value ’ there are many others

Manifest File  Contains characteristics about your application  When have more than one Activity in app, NEED to specify it in manifest file Go to graphical view of the manifest file Add an Activity in the bottom right Browse for the name of the activity  Need to specify Services and other components too  Also important to define permissions and external libraries, like Google Maps API

Android Programming Components  Activity ties.html ties.html  Service ces.html ces.html  Content Providers  Broadcast Receivers  Android in a nutshell: s.html s.html

Activities (1)  The basis of android applications  A single Activity defines a single viewable screen the actions, not the layout  Can have multiple per application  Each is a separate entity  They have a structured life cycle Different events in their life happen either via the user touching buttons or programmatically

Activities (2)

Services (1)  Run in the background Can continue even if Activity that started it dies Should be used if something needs to be done while the user is not interacting with application  Otherwise, a thread is probably more applicable Should create a new thread in the service to do work in, since the service runs in the main thread  Can be bound to an application In which case will terminate when all applications bound to it unbind Allows multiple applications to communicate with it via a common interface  Needs to be declared in manifest file  Like Activities, has a structured life cycle

Services (2)

Android Debug Bridge  Used for a wide variety of developer tasks Read from the log file Show what android devices are available Install android applications (.apk files)  In the ‘ platform-tools ’ directory of the main android sdk directory Recommend putting this directory and the ‘ tools ’ directory on the system path  adb.exe

Acknowledgements  Android Developer ’ s Website Activity and Service life-cycle flow charts Tons of other Android info  Google Maps API external library  Numerous Forums & other developer sites, including: threads threads Many threadshttp://stackoverflow.com t826.html t826.html