Your SlideShare is downloading. ×
Android : a linux-based mobile operating system
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Android : a linux-based mobile operating system

10,696
views

Published on

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.

Published in: Technology, Business

3 Comments
20 Likes
Statistics
Notes
No Downloads
Views
Total Views
10,696
On Slideshare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
0
Comments
3
Likes
20
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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
  • Transcript

    • 1. Android, a Linux-based Mobile Phone Operating System
      Clement Escoffier , akquinet
      & Karl Pauls
    • 2. 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
    • 3. 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
    • 4. akquinet AG
      Android, a Linux-based Mobile Phone Operating System
      akquinet AG
      €1300k SE
      akquinetbusinessconsulting
      GmbH €60k SE
      Partner Power International GmbH
      Partnerbeteiligung
    • 5. Why Android ?
      Android, a Linux-based Mobile Phone Operating System
    • 6. 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
    • 7. 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
    • 8. What’s the result ?
      Android, a Linux-based Mobile Phone Operating System
      13 news model announced before Christmas !
    • 9. What’s the result ?
      Android, a Linux-based Mobile Phone Operating System
    • 10. 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
    • 11. Some application examples
      Android, a Linux-based Mobile Phone Operating System
    • 12. What’s under the cover?
      Android, a Linux-based Mobile Phone Operating System
    • 13. What’s inside ?
      Android, a Linux-based Mobile Phone Operating System
    • 14. 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
    • 15. 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
    • 16. Libraries
      Database
      SQLite
      Security
      SSL
      Webkit
      CSS 3
      Uses Google Chrome
      Animations, Masks …
      Android, a Linux-based Mobile Phone Operating System
    • 17. 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
    • 18. 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
    • 19. 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
    • 20. How to androidize?
      Android, a Linux-based Mobile Phone Operating System
    • 21. Android Applications
      Android, a Linux-based Mobile Phone Operating System
      AndroidManifest.xml
      Activities
      Layouts & Views
      Services
      BroadcastReceiver
      ContentProviders
      Intents
    • 22. 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>
    • 23. 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.
    • 24. Life cycle
      Android, a Linux-based Mobile Phone Operating System
    • 25. 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>
    • 26. 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.
    • 27. Life cycle
      Android, a Linux-based Mobile Phone Operating System
    • 28. 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
    • 29. 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.
    • 30. 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.
    • 31. Activity, Intent, and Service
      Android, a Linux-based Mobile Phone Operating System
    • 32. RPC
      Android, a Linux-based Mobile Phone Operating System
    • 33. From Source to Deployment
      Android, a Linux-based Mobile Phone Operating System
    • 34. Why choosing Android ?
      Android, a Linux-based Mobile Phone Operating System
    • 35. I’m free
      Android, a Linux-based Mobile Phone Operating System
    • 36. I’m open
      Android, a Linux-based Mobile Phone Operating System
    • 37. I’m a community
      Android, a Linux-based Mobile Phone Operating System
    • 38. Android Perspectives
      Android, a Linux-based Mobile Phone Operating System
    • 39. 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
    • 40. 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
    • 41. 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
    • 42. 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