Platform Presentation Second Week Android Platform Team 27 / March / 2009.

Slides:



Advertisements
Similar presentations
Platform Presentation Second Week Android Platform Team 27 / March / 2009.
Advertisements

Android Application Development A Tutorial Driven Course.
Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Mobile Application Development with ANDROID Mobile Application Development with ANDROID d.
David Angulo Rubio ANDROID OS Open Software Platform for Mobile Devices.
What is Android?.
Android architecture overview
 Android is a software platform and operating system for mobile devices, based on the Linux kernel, developed by Google. It allows developers to write.
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
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.
1 CSCE 4013: Mobile Systems Programming Nilanjan Banerjee Mobile Systems Programming University of Arkansas Fayetteville, AR
Mobile Application Development
Android is a mobile operating system developed by Google and is based upon the Linux kernel and GNU software. It was initially developed by Android.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
@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
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
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.
@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
Presentation Seminar on “IMAGE SLIDER –AN ANDROID APPLICATION”
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 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
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.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
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.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By : Abhishek Verma Main Topics : 1. Introduction 2. Platform 3. Software Development 4. Overall Evaluation.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
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.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Android Training in Chandigarh. What is Android Android is a mobile operating system based on the Linux Kernel. The goal of android project is to create.
1] Symbian OS 2] Android OS 3] iPhone OS (iOS ) 4] BlackBerry OS 5] Windows Phone 7 ( Windows Mobile ) 6] Palm OS (Garnet OS) 7] Palm webOS 8] Bada.
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.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Android Mobile Application Development
Android Application -Architecture.
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
ANDROID AND ANDROID PHONES
Android.
Software Engineering in Mobile Computing
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
ANDROID AND ANDROID PHONES
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Introduction to Android
Android Development Introduction to Android Development 2011/01/16
CMPE419 Mobile Application Development
Presentation transcript:

Platform Presentation Second Week Android Platform Team 27 / March / 2009

© artesis 2008 | 2 TEAM MEMBERS Martin Jantscher – FH Joanneum Mohammed Talhaoui – Artesis Hogeschool Antwerpen Denis De Vos – Haute École Provinciale de Mons-Borinage-Centre Ivan Cunha – Escola Superior de Comunicação Social Artur Roszcyk – Wyzsza Szkola Informatyki Mikhail Datsyuk – Central Ostrobothnia Introduction

© artesis 2008 | 3 1. Introduction 2. Platform 3. Software development 4. Overall evaluation Main topics

© artesis 2008 | 4 What is Android? A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google and later the Open Handset Alliance (OHA) Allows writing managed code in the Java language Possibility to write applications in other languages and compiling it to ARM native code (support of Google? No) Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA 1. Introduction (1)

© artesis 2008 | 5 1. Introduction (2) What is the Open Handset Alliance (OHA)? (1) → It's a consortium of several companies

© artesis 2008 | 6 1. Introduction (3) What is the Open Handset Alliance (OHA)? (2) Devoted to advancing open standards for mobile devices Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services

© artesis 2008 | 7 1. Introduction (4) License Android is under version 2 of the Apache Software License (ASL)

© artesis 2008 | Hardware Android is not a single piece of hardware; it's a complete, end-to-end software platform that can be adapted to work on any number of hardware configurations. Everything is there, from the bootloader all the way up to the applications. 2. Platform (1)

© artesis 2008 | Operating System(s) Android uses Linux for its device drivers, memory management, process management, and networking. The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite), and a native web browser engine (WebKit). Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at compile time from standard class and jar files. 2. Platform (2)

© artesis 2008 | Network Connectivity It supports wireless communications using:  GSM mobile-phone technology  3G  Edge  Wi-Fi networks 2. Platform (3)

© artesis 2008 | Security Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. 2. Platform (4)

© artesis 2008 | Performance 2. Platform (5)

© artesis 2008 | Future possibilities Google Android Sales to Overtake iPhone in 2012 The OHA is committed to make their vision a reality: to deploy the Android platform for every mobile operator, handset manufacturers and developers to build innovative devices Intel doesn’t want to lose ownership of the netbook market, so they need to prepare for anything, including Android Fujitsu launched an initiative to offer consulting and engineering expertise to help run Android on embedded hardware, which aside from cellphones, mobile internet devices, and portable media players, could include GPS devices, thin- client computers and set-top boxes. More Android devices are coming and some will push the envelope even further 2. Platform (6)

© artesis 2008 | Development requirements Java Android SDK Eclipse IDE (optional) 3. Software development (1)

© artesis 2008 | IDE and Tools Android SDK Class Library Developer Tools  dx – Dalvik Cross-Assembler  aapt – Android Asset Packaging Tool  adb – Android Debug Bridge  ddms – Dalvik Debug Monitor Service Emulator and System Images Documentation and Sample Code Eclipse IDE + ADT (Android Development Tools) Reduces Development and Testing Time Makes User Interface-Creation easier Makes Application Description Easier 3. Software development (2)

© artesis 2008 | Programming Language(s) Java – officially supported C/C++ – also possible but not supported 3. Software development (3)

© artesis 2008 | Advantages There are a host of advantages that Google’s Android will derive from being an open source software. Some of the advantages include: The ability for anyone to customize the Google Android platform The consumer will benefit from having a wide range of mobile applications to choose from since the monopoly will be broken by Google Android Men will be able to customize a mobile phones using Google Android platform like never before Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to be customized As a result of many mobile phones carrying Google Android, companies will come up with such innovative products like the location In addition the entertainment functionalities will be taken a notch higher by Google Android being able to offer online real time multiplayer games 4. Overall evaluation (1)

© artesis 2008 | Limitations Bluetooth limitations o Android doesn't support:  Bluetooth stereo  Contacts exchange  Modem pairing  Wireless keyboards But it'll work with Bluetooth headsets, but that's about it Firefox Mobile isn't coming to Android Apps in Android Market need to be programmed with a custom form of Java → Mozilla and the Fennec won't have that 4. Overall evaluation (2)

© artesis 2008 | Conclusion We can only hope that the next versions of Android have overcome the actual limitations and that the future possibilities became a reality 4. Overall evaluation (3)

Java Basic Java programming –Exceptions –Inner Class, Interface Advanced topics we will touch: –Java IO –Java Thread –Java Socket pages.cs.wisc.edu/~hasti/cs368/JavaTutorial/

Android Basics Credit goes to Google and UMBC

Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

Few reasons to go MAD… Smart Phones –Internet access anywhere –Social networking Millions of mobile users Open standards

Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications An Open Handset Alliance (OHA) project Powered by Linux operating system Fast application development in Java Open source under the Apache 2 license

Linux Kernel Works as a HAL Device drivers Memory management Process management Networking

Libraries C/C++ libraries Interface through Java Surface manager – Handling UI Windows 2D and 3D graphics Media codecs, SQLite, Browser engine

Android Runtime Dalvik VM –Dex files –Compact and efficient than class files –Limited memory and battery power Core Libraries –Java 5 Std edition –Collections, I/O etc…

Application Framework API interface Activity manager – manages application life cycle.

Applications Built in and user apps Can replace built in apps

Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

Application Building Blocks Activity IntentReceiver Service ContentProvider

Activities Typically correspond to one UI screen But, they can: –Be faceless –Be in a floating window –Return a value

IntentReceivers Components that respond to broadcast ‘Intents’ Way to respond to external notification or alarms Apps can invent and broadcast their own Intent

Intents Think of Intents as a verb and object; a description of what you want done –E.g. VIEW, CALL, PLAY etc.. System matches Intent with Activity that can best provide the service Activities and IntentReceivers describe what Intents they can service

Intents GMail Contacts Home Blogger Chat Client component makes a request for a specific action “Pick photo” Picasa System picks best component for that action New components can use existing functionality Blogger Photo Gallery

Services Faceless components that run in the background –E.g. music player, network download etc…

ContentProviders Enables sharing of data across applications –E.g. address book, photo gallery Provides uniform APIs for: –querying –delete, update and insert. Content is represented by URI and MIME type

Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

Development Tools Eclipse Android SDK developer.android.com

The Emulator QEMU-based ARM emulator Runs the same image as the device Limitations: –No Camera support

Devices

Hello World -world.html Generating UIs –Views – building blocks –E.g. TextView, EditText, Button –Placed into Layouts –E.g. LinearLayout, TableLayout, AbsoluteLayout

Application Lifecycle Application run in their own processes (VM, PID) Processes are started and stopped as needed to run an application's components Processes may be killed to reclaim resources

Lifecycle System Process GMail Contacts Home MailBrowser Map

Location Manager

XMPP Services Allows any app to send device-to-device messages to other android users Data Messages are Intents with name/value pairs Works with any gmail account… Can also build servers to deliver server-to-device messages

Notification Manager

How background app interact with users Consistent notification presentation

Views

Location Manager