• Save
Android : a linux-based mobile operating system
Upcoming SlideShare
Loading in...5
×
 

Android : a linux-based mobile operating system

on

  • 13,437 views

A broad alliance of leading technology and wireless companies recently joined forces to announce the development of Android, an open and comprehensive platform for mobile devices. Google Inc., ...

A broad alliance of leading technology and wireless companies recently joined forces to announce the development of Android, an open and comprehensive platform for mobile devices. Google Inc., T-Mobile, HTC, Qualcomm, Motorola and others have collaborated on the development of Android through the Open Handset Alliance, a multinational alliance of technology and mobile industry leaders. At the core, the linux based Android platform features a virtual machine, called Dalvik, that uses another format for the class files but otherwise looks very much like Java. They also provide a utility that can convert Java class files to so called DEX files: the native Dalvik format. It is a VM for applications and is itself a so-called MVM i.e., able to run several programs in the same address space where the individual applications can communicate with each others via (remote) services. Java code generally runs on Dalvik without changes to the source code.

Android itself is a software stack for mobile devices that includes an operating system, middleware and key applications featuring a built-in database, support for various media formats and access to geo-localization, telephony management etc. Android is currently used on mobile phones (like the t-mobile G1), but promises to be usable on other hardware like netbooks as well. Android itself is licensed under the Apache License with the linux specific parts licensed as GPLv2.

This talk presents the Android platform and how it is structured. We will talk about the provided functionality and how to use the various features of the Android kernel such as the built-in camera, Wifi, and GPS. Furthermore, we will go into the details of the provided middleware stack containing libraries such as WebKit, SQLite and other libraris for e.g., telephony, and multi-media support. Finally the perspectives of Android will be presented.

Statistics

Views

Total Views
13,437
Views on SlideShare
11,223
Embed Views
2,214

Actions

Likes
20
Downloads
0
Comments
3

51 Embeds 2,214

http://ipojo-dark-side.blogspot.com 1221
http://ipojo-dark-side.blogspot.fr 203
http://ipojo-dark-side.blogspot.de 193
http://blog.akquinet.de 75
http://ipojo-dark-side.blogspot.ru 61
http://flavors.me 48
http://www.slideshare.net 35
http://ipojo-dark-side.blogspot.co.uk 32
http://ipojo-dark-side.blogspot.com.br 31
http://osgilook.wordpress.com 26
http://ipojo-dark-side.blogspot.in 26
http://ipojo-dark-side.blogspot.kr 24
http://ipojo-dark-side.blogspot.ca 24
http://ipojo-dark-side.blogspot.be 18
http://ipojo-dark-side.blogspot.nl 18
http://ipojo-dark-side.blogspot.ch 15
http://ipojo-dark-side.blogspot.it 14
http://ipojo-dark-side.blogspot.co.at 14
http://osgilook.com 12
http://ipojo-dark-side.blogspot.tw 10
http://ipojo-dark-side.blogspot.com.au 10
http://ipojo-dark-side.blogspot.com.es 10
http://ipojo-dark-side.blogspot.se 8
http://ipojo-dark-side.blogspot.no 7
http://ipojo-dark-side.blogspot.ro 7
http://ipojo-dark-side.blogspot.cz 6
http://ipojo-dark-side.blogspot.gr 6
http://ipojo-dark-side.blogspot.ie 6
http://ipojo-dark-side.blogspot.pt 5
http://translate.googleusercontent.com 5
http://ipojo-dark-side.blogspot.jp 4
http://ipojo-dark-side.blogspot.dk 4
http://ipojo-dark-side.blogspot.fi 4
http://ipojo-dark-side.blogspot.co.il 3
http://ipojo-dark-side.blogspot.mx 3
http://pt.flavors.me 3
http://jp.flavors.me 3
http://webcache.googleusercontent.com 3
http://fr.flavors.me 3
http://ipojo-dark-side.blogspot.ae 2
http://de.flavors.me 2
http://es.flavors.me 1
https://www.linkedin.com 1
http://ipojo-dark-side.blogspot.hu 1
http://ipojo-dark-side.blogspot.com.ar 1
http://ipojo-dark-side.blogspot.sg 1
http://www.slashdocs.com 1
http://ipojo-dark-side.blogspot.hk 1
http://www.linkedin.com 1
http://think-to-get-her.blogspot.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Karl
  • Karl
  • Clement
  • Karl
  • Clement
  • Clement
  • Clement
  • Clement
  • Karl
  • Karl
  • Karl
  • Clement
  • Karl
  • Clement
  • Clement
  • Karl
  • Clement
  • Clement
  • Karl
  • Karl
  • Karl
  • Clement
  • Clement
  • Karl
  • Clement
  • Clement
  • Karl
  • Karl
  • Karl
  • Clement
  • Clement
  • Clement
  • Clement
  • Clement
  • Karl
  • Karl
  • Karl
  • Karl
  • Clement

Android : a linux-based mobile operating system Android : a linux-based mobile operating system Presentation Transcript

  • Android, a Linux-based Mobile Phone Operating System
    Clement Escoffier , akquinet
    & Karl Pauls
  • Karl Pauls
    Android, a Linux-based Mobile Phone Operating System
    Dipl.-Inform. Freie Universität Berlin
    Head of OSGi and Mobile CC - akquinet AG
    Member Apache Software Foundation
    PMC Apache Felix, Apache Sling, Apache Ace
  • Clement Escoffier
    Android, a Linux-based Mobile Phone Operating System
    PHD from Grenoble University, France
    Solution Architect in the OSGi and Mobile CC
    Member Apache Software Foundation
    PMC Apache Felix, Apache Ace
    Apache Felix iPOJO project leader
  • akquinet AG
    Android, a Linux-based Mobile Phone Operating System
    akquinet AG
    €1300k SE
    akquinetbusinessconsulting
    GmbH €60k SE
    Partner Power International GmbH
    Partnerbeteiligung
  • Why Android ?
    Android, a Linux-based Mobile Phone Operating System
  • Open Handset Alliance
    Alliance of 47 companies
    Technology leaders
    Google, Asus, Sprint, LG, Sony Ericson…
    Goals
    Being better
    For consumers
    Being open
    For developers
    Achieving the vision
    For mobile operator, handset manufacturers…
    Android, a Linux-based Mobile Phone Operating System
  • So, Android ?
    The first open, free and complete stack for mobile phone !
    Open
    All applications are created equal
    Fast & easy application development
    Breaking down application boundaries
    Android, a Linux-based Mobile Phone Operating System
  • What’s the result ?
    Android, a Linux-based Mobile Phone Operating System
    13 news model announced before Christmas !
  • What’s the result ?
    Android, a Linux-based Mobile Phone Operating System
  • The Marketplace
    Stores Android applications
    http://www.android.com/market/
    From any Android phone
    Free publication !
    Develop, Sign and Publish your application for free
    Growth very quickly
    Android, a Linux-based Mobile Phone Operating System
  • Some application examples
    Android, a Linux-based Mobile Phone Operating System
  • What’s under the cover?
    Android, a Linux-based Mobile Phone Operating System
  • What’s inside ?
    Android, a Linux-based Mobile Phone Operating System
  • The Kernel
    Linux 2.6 based
    Provides hardware management
    File system
    Network
    3G, Edge, Wifi, Bluetooth…
    Camera
    Keyboard
    Power
    That’s critical !

    Android, a Linux-based Mobile Phone Operating System
  • Libraries
    Graphics
    OpenGL, Scalable Image, Animations …
    Media
    Images (.png, .jpeg, .gif, .bmp)
    Video (.mp4, .3gp .wmv)
    Audio (.mp3, .mp4, .3gp, .ogg, .wav, .wma … )
    Android, a Linux-based Mobile Phone Operating System
  • Libraries
    Database
    SQLite
    Security
    SSL
    Webkit
    CSS 3
    Uses Google Chrome
    Animations, Masks …
    Android, a Linux-based Mobile Phone Operating System
  • Runtime
    Dalvik
    A virtual machine executing applications
    Java development language
    Java 5 (Generics, Annotations …)
    All applications run on the top of their own Dalvik instance
    Provides some libraries such as
    HTTPClient, XML Parsing, JSON …
    Android, a Linux-based Mobile Phone Operating System
  • Application Framework
    Functionalities managed by the system,
    But usable by your applications
    Examples
    Get the current location
    Calling, Sending an text message, get contacts
    Sending user notifications

    Android, a Linux-based Mobile Phone Operating System
  • Applications
    All applications
    are equals !
    are developed in Java
    can use any mentioned functionalities
    can cooperate together
    Android, a Linux-based Mobile Phone Operating System
  • How to androidize?
    Android, a Linux-based Mobile Phone Operating System
  • Android Applications
    Android, a Linux-based Mobile Phone Operating System
    AndroidManifest.xml
    Activities
    Layouts & Views
    Services
    BroadcastReceiver
    ContentProviders
    Intents
  • Manifest
    Android, a Linux-based Mobile Phone Operating System
    <?xmlversion="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.akquinet.jbosscc.kdvmobil.klient"
    android:versionCode="1"
    android:versionName="1.0.0">
    <applicationandroid:icon="@drawable/icon" android:label="@string/app_name">
    <activityandroid:name=".Lagerverwaltung"
    android:label="@string/app_name">
    <intent-filter>
    <actionandroid:name="android.intent.action.MAIN" />
    <categoryandroid:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>
    <uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>
    </manifest>
  • Activity
    Android, a Linux-based Mobile Phone Operating System
    Visual user interface for one task. For example,
    An activity might present a list of menu items;
    Or shows a list of contacts to send messages to
    Work together to form a cohesive user interface
    Each activity is independent of the others.
    Can communicate together
    One of the activities is marked as the first one
    Moving from one activity to another is accomplished by having the current activity start the next one.
    An activity can also make use of additional windows. For example,
    A pop-up dialog that calls for a user response in the midst of the activity.
    A view hierarchy is placed within an activity's window by the Activity.setContentView() method. The content view is the View object at the root of the hierarchy.
  • Life cycle
    Android, a Linux-based Mobile Phone Operating System
  • Layout & View
    Android, a Linux-based Mobile Phone Operating System
    res/layout/main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
    </LinearLayout>
  • Service
    Android, a Linux-based Mobile Phone Operating System
    Doesn't have a visual user interface
    Runs in the background for an indefinite period of time.
    For example, a service might play background music
    Example: a media player service playing songs from a play list.
    Music not handled by an activity
    Start a service to run in the background
    Keep the music playback service running even after the activity that started it leaves the screen.
    Connect to (bind to) an ongoing service
    Start the service if it's not already running
    Communicate with the service through an interface
    Exposed by the service.
    E.g., interface allows pause, rewind, stop, and restart the playback.
  • Life cycle
    Android, a Linux-based Mobile Phone Operating System
  • BroadcastReceiver
    Android, a Linux-based Mobile Phone Operating System
    Does nothing but receive and react to announcements.
    Many broadcasts from the system,
    timezone has changed
    battery is low,
    picture has been taken, or that the user changed a language preference.
    Applications can also initiate broadcasts
    Data has been downloaded, etc.
    An application can have any number of broadcast receivers
    Receivers extend the BroadcastReceiver base class.
    Broadcast receivers do not display a user interface.
    May start an activity in response
    May use the NotificationManager to alert the user
    Flashing the backlight, vibrating the device, etc.
    Place a persistent icon in the status bar
  • ContentProvider
    Android, a Linux-based Mobile Phone Operating System
    Make application data available to other applications.
    Can be stored in the file system,
    In an SQLite database,
    Or in any other manner that makes sense.
    Implement a standard set of methods
    Enables other applications to retrieve and store data
    Applications do not call methods directly
    ContentResolver object is used
    Can talk to any content provider
    Cooperates with the provider to manage any interprocess communication that's involved.
  • Intent
    Android, a Linux-based Mobile Phone Operating System
    Activities, services, and broadcast receivers — are activated through intents.
    Facility for late run-time binding between components
    Passive data structure holding an abstract description of an operation to be performed
    To launch or get an activity, an Intent object is passed to
    Context.startActivity(), Activity.startActivityForResult()
    Context.startService() to initiate a service
    Context.bindService() to establish a connection
    broadcast methods
    Context.sendBroadcast(), Context.sendOrderedBroadcast(),
    Context.sendStickyBroadcast())
    System finds the appropriate activity, service, or set of broadcast receivers
    Intent passed to startActivity() is delivered only to an activity, never to a service or broadcast receiver, etc.
  • Activity, Intent, and Service
    Android, a Linux-based Mobile Phone Operating System
  • RPC
    Android, a Linux-based Mobile Phone Operating System
  • From Source to Deployment
    Android, a Linux-based Mobile Phone Operating System
  • Why choosing Android ?
    Android, a Linux-based Mobile Phone Operating System
  • I’m free
    Android, a Linux-based Mobile Phone Operating System
  • I’m open
    Android, a Linux-based Mobile Phone Operating System
  • I’m a community
    Android, a Linux-based Mobile Phone Operating System
  • Android Perspectives
    Android, a Linux-based Mobile Phone Operating System
  • Android on the phone market
    More and more handset manufactures are choosing Android
    To compete with the iPHONE
    Any chance of success ?
    YES
    More and more applications are available !
    Android, a Linux-based Mobile Phone Operating System
  • Android on other markets
    Android is already used on
    Tablet PC
    HP Is 'Studying' Android for PC Use
    Android Eee PCs are also announced
    Q1 2010
    Android, a Linux-based Mobile Phone Operating System
  • OSGi & Android together
    OSGi
    Comes from the Java wave
    Modularity model on the top of Java
    Is became very popular in the last 5 years
    Why using OSGi on Android ?
    Runtime deployment
    Dynamism
    Plugin architecture
    ….
    Is it possible?
    Yes, http://www.ezdroid.com/
    Driven by akquinet and luminis
    Android, a Linux-based Mobile Phone Operating System
  • Questions ?
    Android, a Linux-based Mobile Phone Operating System
    Karl Paulskarl.pauls@akquinet.de
    Bülowstraße 66, 10783 Berlin+49 151 226 49 845
    Dr. Clement Escoffierclement.escoffier@akquinet.de
    Bülowstraße 66, 10783 Berlin+49 175 246 77 17