Android Middleware Bo Pang Bpang@cc.hut.fi.

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.
Programming with Android: System Architecture
Android OS : Core Concepts Dr. Jeyakesavan Veerasamy Sr. Lecturer University of Texas at Dallas
Application Fundamentals Android Development. Announcements Posting in D2L Tutorials.
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.
Android Platform Overview (1)
App Development on Android
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.
© 2010 MindTree Limited CONFIDENTIAL: For limited circulation only Slide 1 CONFIDENTIAL: For limited circulation only An automaton that is created from.
Mobile Application Development
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
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.
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.
Mobile Application Development using Android
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
CASE STUDY 1: Linux and Android Tanenbaum & Bo, Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
CS378 - Mobile Computing Intents.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Overview of Android Application Development
CS378 - Mobile Computing Intents. Allow us to use applications and components that are part of Android System – start activities – start services – deliver.
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
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.
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Lecture 2: Android Concepts
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
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.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Android Fundamentals. What is Android Software stack for mobile devices Software stack for mobile devices SDK provides tools and APIs to develop apps.
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.
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.
Android Mobile Application Development
Android Application -Architecture.
Lecture 2: Android Concepts
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Android Runtime – Dalvik VM
chapter 6- Android Introduction
CASE STUDY 1: Linux and Android
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
ANDROID OS Architecture
Application Framework
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Emerging Platform#3 Android & Programming an App
Introduction to Android
CMPE419 Mobile Application Development
Presentation transcript:

Android Middleware Bo Pang Bpang@cc.hut.fi

Android System Architecture Source: Google

overview Linux Kernel: memory management, process management, networking, and other operating system services. Native Libraries: written in C or C++, including: Surface Manager, 2D and 3D graphics, Media codes, SQL database, Browser engine, etc. only to be called by higher level programs

overview Android Runtime: including the Dalvik virtual machine and the core Java libraries. (not J2SE/J2ME) Application Framework: Activity manager, Content providers, Resource manager, Notification manager Applications and Widgets: the real programs display information and interact with users.

Media Framework Android use OpenCore as core component of Media framework OpenCore supports MP3, AAC, AAC+, 3GPP, MPEG-4 and JPEG,

Media Framework

Media Framework Example: MediaPlayer mp = new MediaPlayer();   mp.setDataSource(PATH_TO_FILE);    mp.prepare();    mp.start();

Media Framework OpenCore lib has a C/S Architecture. MediaPlayer invoke JNI to manipulate client. The client request to the server to control hardwares.

Media Framework

Media Framework

Activity Manager each user interface screen is represented by an Activity class. Each activity has its own life cycle. Activity uses Intent object to jump between them.

Life cycle of activity Source: Hello Adroid

Intent and Intent filters Intent activates activities, services, and broadcast receivers. Intent can be used in explicit way or implicit way. The implicit way depends on parameters: Action, Data(url and MIME type) , Category

Intent and Intent filters To receive other components' request, components’ need to register filters at activities framework. When launch a intent object, framework will match and find the qualified components and leave them for users to choose which to run.

Intent and Intent filters Example <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <action android:name="android.intent.action.EDIT" />                 <action android:name="android.intent.action.PICK" />                 <category android:name="android.intent.category.DEFAULT" />                 <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />             </intent-filter>

Activities and Tasks A task is a stack which contain several activities share the same affinity. Source: http://blog.akquinet.de/2010/02/17/android-activities-the-predominance-of-the-ui-thread/

Activities and Tasks There are four different launch modes that can be assigned to an <activity> element's launchMode attribute: "standard" (the default mode) "singleTop" "singleTask" "singleInstance" First two share the same affinity with application, the others don’t.

Content manager Manage data Client+server architecture. Content Resolver provides API interface for applications. Content Providers is the server managing the DB tables and database content with different application.

Content manager URI identifies the data or the table A: Standard prefix indicating that the data is controlled by a content provider. B: The authority part of the URI; it identifies the content provider. C: The path that the content provider uses to determine what kind of data is being requested. D: The ID of the specific record being requested. Source: Google

Service Lifecycle

Security and permissions security between applications and the system is enforced at the process level through standard Linux facilities Application can't disrupt other applications, except by explicitly declaring the permissions it Each Android package is given its own unique Linux user ID

References http://www.j2medev.com/android/ShowArticle.asp?ArticleID=5439 http://docs.huihoo.com/google/io/2009/Mastering_the_Android_Media_Framework.pdf http://developer.android.com/