Android, a Linux-based Mobile Phone Operating System<br />Clement Escoffier      		, akquinet<br />				    & Karl Pauls<br />
Karl Pauls<br />Android,  a Linux-based Mobile Phone Operating System<br />Dipl.-Inform. Freie Universität Berlin<br />Hea...
Clement Escoffier<br />Android,  a Linux-based Mobile Phone Operating System<br />PHD from Grenoble University, France<br ...
akquinet AG<br />Android,  a Linux-based Mobile Phone Operating System<br />akquinet AG<br />€1300k SE<br />akquinetbusine...
Why Android ?<br />Android,  a Linux-based Mobile Phone Operating System<br />
Open Handset Alliance<br />Alliance of 47 companies<br />Technology leaders<br />Google, Asus, Sprint, LG, Sony Ericson…<b...
So, Android ?<br />The first open, free and complete stack for mobile phone !<br />Open<br />All applications are created ...
What’s the result ?<br />Android,  a Linux-based Mobile Phone Operating System<br />13 news model announced before Christm...
What’s the result ?<br />Android,  a Linux-based Mobile Phone Operating System<br />
The Marketplace<br />Stores Android applications<br />http://www.android.com/market/<br />From any Android phone<br />Free...
Some application examples<br />Android,  a Linux-based Mobile Phone Operating System<br />
What’s under the cover?<br />Android,  a Linux-based Mobile Phone Operating System<br />
What’s inside ?<br />Android,  a Linux-based Mobile Phone Operating System<br />
The Kernel<br />Linux 2.6 based<br />Provides hardware management<br />File system<br />Network<br />3G, Edge, Wifi, Bluet...
Libraries<br />Graphics<br />OpenGL, Scalable Image, Animations …<br />Media<br />Images (.png, .jpeg, .gif, .bmp)<br />Vi...
Libraries<br />Database<br />SQLite<br />Security<br />SSL<br />Webkit<br />CSS 3<br />Uses Google Chrome<br />Animations,...
Runtime<br />Dalvik<br />A virtual machine executing applications<br />Java development language<br />Java 5 (Generics, An...
Application Framework<br />Functionalities managed by the system,<br />But usable by your applications<br />Examples<br />...
Applications<br />All applications <br />are equals !<br />are developed in Java<br />can use any mentioned functionalitie...
How to androidize?<br />Android,  a Linux-based Mobile Phone Operating System<br />
Android Applications<br />Android,  a Linux-based Mobile Phone Operating System<br />AndroidManifest.xml<br />Activities<b...
Manifest<br />Android,  a Linux-based Mobile Phone Operating System<br />&lt;?xmlversion=&quot;1.0&quot; encoding=&quot;ut...
Activity<br />Android,  a Linux-based Mobile Phone Operating System<br />Visual user interface for one task.  For example,...
Life cycle<br />Android,  a Linux-based Mobile Phone Operating System<br />
Layout & View<br />Android,  a Linux-based Mobile Phone Operating System<br />res/layout/main.xml <br />&lt;?xml version=&...
Service<br />Android,  a Linux-based Mobile Phone Operating System<br />Doesn&apos;t have a visual user interface<br />Run...
Life cycle<br />Android,  a Linux-based Mobile Phone Operating System<br />
BroadcastReceiver<br />Android,  a Linux-based Mobile Phone Operating System<br />Does nothing but receive and react to an...
ContentProvider<br />Android,  a Linux-based Mobile Phone Operating System<br />Make application data available to other a...
Intent<br />Android,  a Linux-based Mobile Phone Operating System<br />Activities, services, and broadcast receivers — are...
Activity, Intent, and Service<br />Android,  a Linux-based Mobile Phone Operating System<br />
RPC<br />Android,  a Linux-based Mobile Phone Operating System<br />
From Source to Deployment<br />Android,  a Linux-based Mobile Phone Operating System<br />
Why choosing Android ?<br />Android,  a Linux-based Mobile Phone Operating System<br />
I’m free<br />Android,  a Linux-based Mobile Phone Operating System<br />
I’m open<br />Android,  a Linux-based Mobile Phone Operating System<br />
I’m a community<br />Android,  a Linux-based Mobile Phone Operating System<br />
Android Perspectives<br />Android,  a Linux-based Mobile Phone Operating System<br />
Android on the phone market<br />More and more handset manufactures are choosing Android<br />To compete with the iPHONE<b...
Android on other markets<br />Android is already used on<br />Tablet PC<br />HP Is &apos;Studying&apos; Android for PC Use...
OSGi & Android together<br />OSGi<br />Comes from the Java wave<br />Modularity model on the top of Java<br />Is became ve...
Questions ?<br />Android,  a Linux-based Mobile Phone Operating System<br />Karl Paulskarl.pauls@akquinet.de<br />Bülowstr...
Upcoming SlideShare
Loading in...5
×

Android : a linux-based mobile operating system

10,893

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., 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
22 Likes
Statistics
Notes
No Downloads
Views
Total Views
10,893
On Slideshare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
0
Comments
3
Likes
22
Embeds 0
No embeds

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 of "Android : a linux-based mobile operating system"

    1. 1. Android, a Linux-based Mobile Phone Operating System<br />Clement Escoffier , akquinet<br /> & Karl Pauls<br />
    2. 2. Karl Pauls<br />Android, a Linux-based Mobile Phone Operating System<br />Dipl.-Inform. Freie Universität Berlin<br />Head of OSGi and Mobile CC - akquinet AG<br />Member Apache Software Foundation<br />PMC Apache Felix, Apache Sling, Apache Ace<br />
    3. 3. Clement Escoffier<br />Android, a Linux-based Mobile Phone Operating System<br />PHD from Grenoble University, France<br />Solution Architect in the OSGi and Mobile CC<br />Member Apache Software Foundation<br />PMC Apache Felix, Apache Ace<br />Apache Felix iPOJO project leader<br />
    4. 4. akquinet AG<br />Android, a Linux-based Mobile Phone Operating System<br />akquinet AG<br />€1300k SE<br />akquinetbusinessconsulting<br />GmbH €60k SE<br />Partner Power International GmbH<br />Partnerbeteiligung<br />
    5. 5. Why Android ?<br />Android, a Linux-based Mobile Phone Operating System<br />
    6. 6. Open Handset Alliance<br />Alliance of 47 companies<br />Technology leaders<br />Google, Asus, Sprint, LG, Sony Ericson…<br />Goals<br />Being better<br />For consumers<br />Being open<br />For developers<br />Achieving the vision<br />For mobile operator, handset manufacturers…<br />Android, a Linux-based Mobile Phone Operating System<br />
    7. 7. So, Android ?<br />The first open, free and complete stack for mobile phone !<br />Open<br />All applications are created equal<br />Fast & easy application development<br />Breaking down application boundaries<br />Android, a Linux-based Mobile Phone Operating System<br />
    8. 8. What’s the result ?<br />Android, a Linux-based Mobile Phone Operating System<br />13 news model announced before Christmas !<br />
    9. 9. What’s the result ?<br />Android, a Linux-based Mobile Phone Operating System<br />
    10. 10. The Marketplace<br />Stores Android applications<br />http://www.android.com/market/<br />From any Android phone<br />Free publication !<br />Develop, Sign and Publish your application for free<br />Growth very quickly<br />Android, a Linux-based Mobile Phone Operating System<br />
    11. 11. Some application examples<br />Android, a Linux-based Mobile Phone Operating System<br />
    12. 12. What’s under the cover?<br />Android, a Linux-based Mobile Phone Operating System<br />
    13. 13. What’s inside ?<br />Android, a Linux-based Mobile Phone Operating System<br />
    14. 14. The Kernel<br />Linux 2.6 based<br />Provides hardware management<br />File system<br />Network<br />3G, Edge, Wifi, Bluetooth…<br />Camera<br />Keyboard<br />Power<br />That’s critical !<br />…<br />Android, a Linux-based Mobile Phone Operating System<br />
    15. 15. Libraries<br />Graphics<br />OpenGL, Scalable Image, Animations …<br />Media<br />Images (.png, .jpeg, .gif, .bmp)<br />Video (.mp4, .3gp .wmv)<br />Audio (.mp3, .mp4, .3gp, .ogg, .wav, .wma … )<br />Android, a Linux-based Mobile Phone Operating System<br />
    16. 16. Libraries<br />Database<br />SQLite<br />Security<br />SSL<br />Webkit<br />CSS 3<br />Uses Google Chrome<br />Animations, Masks …<br />Android, a Linux-based Mobile Phone Operating System<br />
    17. 17. Runtime<br />Dalvik<br />A virtual machine executing applications<br />Java development language<br />Java 5 (Generics, Annotations …)<br />All applications run on the top of their own Dalvik instance<br />Provides some libraries such as<br />HTTPClient, XML Parsing, JSON …<br />Android, a Linux-based Mobile Phone Operating System<br />
    18. 18. Application Framework<br />Functionalities managed by the system,<br />But usable by your applications<br />Examples<br />Get the current location<br />Calling, Sending an text message, get contacts<br />Sending user notifications<br />…<br />Android, a Linux-based Mobile Phone Operating System<br />
    19. 19. Applications<br />All applications <br />are equals !<br />are developed in Java<br />can use any mentioned functionalities<br />can cooperate together<br />Android, a Linux-based Mobile Phone Operating System<br />
    20. 20. How to androidize?<br />Android, a Linux-based Mobile Phone Operating System<br />
    21. 21. Android Applications<br />Android, a Linux-based Mobile Phone Operating System<br />AndroidManifest.xml<br />Activities<br />Layouts & Views<br />Services<br />BroadcastReceiver<br />ContentProviders<br />Intents<br />
    22. 22. Manifest<br />Android, a Linux-based Mobile Phone Operating System<br />&lt;?xmlversion=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />package=&quot;de.akquinet.jbosscc.kdvmobil.klient&quot;<br />android:versionCode=&quot;1&quot;<br />android:versionName=&quot;1.0.0&quot;&gt;<br /> &lt;applicationandroid:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&gt;<br /> &lt;activityandroid:name=&quot;.Lagerverwaltung&quot;<br />android:label=&quot;@string/app_name&quot;&gt;<br /> &lt;intent-filter&gt;<br /> &lt;actionandroid:name=&quot;android.intent.action.MAIN&quot; /&gt;<br /> &lt;categoryandroid:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;<br /> &lt;/intent-filter&gt;<br /> &lt;/activity&gt;<br /> &lt;/application&gt;<br />&lt;uses-permissionandroid:name=&quot;android.permission.INTERNET&quot;&gt;&lt;/uses-permission&gt;<br />&lt;/manifest&gt;<br />
    23. 23. Activity<br />Android, a Linux-based Mobile Phone Operating System<br />Visual user interface for one task. For example, <br />An activity might present a list of menu items;<br />Or shows a list of contacts to send messages to<br />Work together to form a cohesive user interface<br />Each activity is independent of the others. <br />Can communicate together <br />One of the activities is marked as the first one <br />Moving from one activity to another is accomplished by having the current activity start the next one.<br /> An activity can also make use of additional windows. For example, <br />A pop-up dialog that calls for a user response in the midst of the activity.<br />A view hierarchy is placed within an activity&apos;s window by the Activity.setContentView() method. The content view is the View object at the root of the hierarchy.<br />
    24. 24. Life cycle<br />Android, a Linux-based Mobile Phone Operating System<br />
    25. 25. Layout & View<br />Android, a Linux-based Mobile Phone Operating System<br />res/layout/main.xml <br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;LinearLayoutxmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />android:orientation=&quot;vertical&quot;<br />android:layout_width=&quot;fill_parent&quot;<br />android:layout_height=&quot;fill_parent&quot;<br /> &gt;<br />&lt;TextView<br />android:layout_width=&quot;fill_parent&quot; <br />android:layout_height=&quot;wrap_content&quot; <br />android:text=&quot;@string/hello&quot;<br /> /&gt;<br />&lt;/LinearLayout&gt;<br />
    26. 26. Service<br />Android, a Linux-based Mobile Phone Operating System<br />Doesn&apos;t have a visual user interface<br />Runs in the background for an indefinite period of time.<br />For example, a service might play background music<br />Example: a media player service playing songs from a play list. <br />Music not handled by an activity <br />Start a service to run in the background<br />Keep the music playback service running even after the activity that started it leaves the screen.<br />Connect to (bind to) an ongoing service <br />Start the service if it&apos;s not already running <br />Communicate with the service through an interface<br />Exposed by the service. <br />E.g., interface allows pause, rewind, stop, and restart the playback.<br />
    27. 27. Life cycle<br />Android, a Linux-based Mobile Phone Operating System<br />
    28. 28. BroadcastReceiver<br />Android, a Linux-based Mobile Phone Operating System<br />Does nothing but receive and react to announcements.<br />Many broadcasts from the system, <br />timezone has changed<br />battery is low,<br />picture has been taken, or that the user changed a language preference. <br />Applications can also initiate broadcasts<br /> Data has been downloaded, etc.<br />An application can have any number of broadcast receivers <br />Receivers extend the BroadcastReceiver base class.<br />Broadcast receivers do not display a user interface. <br />May start an activity in response <br />May use the NotificationManager to alert the user<br />Flashing the backlight, vibrating the device, etc. <br />Place a persistent icon in the status bar<br />
    29. 29. ContentProvider<br />Android, a Linux-based Mobile Phone Operating System<br />Make application data available to other applications.<br />Can be stored in the file system,<br />In an SQLite database, <br />Or in any other manner that makes sense.<br />Implement a standard set of methods<br />Enables other applications to retrieve and store data<br />Applications do not call methods directly<br />ContentResolver object is used<br />Can talk to any content provider<br />Cooperates with the provider to manage any interprocess communication that&apos;s involved.<br />
    30. 30. Intent<br />Android, a Linux-based Mobile Phone Operating System<br />Activities, services, and broadcast receivers — are activated through intents.<br />Facility for late run-time binding between components <br />Passive data structure holding an abstract description of an operation to be performed<br />To launch or get an activity, an Intent object is passed to<br />Context.startActivity(), Activity.startActivityForResult()<br />Context.startService() to initiate a service <br />Context.bindService() to establish a connection<br />broadcast methods <br />Context.sendBroadcast(), Context.sendOrderedBroadcast(), <br />Context.sendStickyBroadcast())<br />System finds the appropriate activity, service, or set of broadcast receivers<br />Intent passed to startActivity() is delivered only to an activity, never to a service or broadcast receiver, etc.<br />
    31. 31. Activity, Intent, and Service<br />Android, a Linux-based Mobile Phone Operating System<br />
    32. 32. RPC<br />Android, a Linux-based Mobile Phone Operating System<br />
    33. 33. From Source to Deployment<br />Android, a Linux-based Mobile Phone Operating System<br />
    34. 34. Why choosing Android ?<br />Android, a Linux-based Mobile Phone Operating System<br />
    35. 35. I’m free<br />Android, a Linux-based Mobile Phone Operating System<br />
    36. 36. I’m open<br />Android, a Linux-based Mobile Phone Operating System<br />
    37. 37. I’m a community<br />Android, a Linux-based Mobile Phone Operating System<br />
    38. 38. Android Perspectives<br />Android, a Linux-based Mobile Phone Operating System<br />
    39. 39. Android on the phone market<br />More and more handset manufactures are choosing Android<br />To compete with the iPHONE<br />Any chance of success ?<br />YES<br />More and more applications are available !<br />Android, a Linux-based Mobile Phone Operating System<br />
    40. 40. Android on other markets<br />Android is already used on<br />Tablet PC<br />HP Is &apos;Studying&apos; Android for PC Use<br />Android Eee PCs are also announced<br />Q1 2010<br />Android, a Linux-based Mobile Phone Operating System<br />
    41. 41. OSGi & Android together<br />OSGi<br />Comes from the Java wave<br />Modularity model on the top of Java<br />Is became very popular in the last 5 years<br />Why using OSGi on Android ?<br />Runtime deployment<br />Dynamism<br />Plugin architecture<br />…. <br />Is it possible?<br />Yes, http://www.ezdroid.com/<br />Driven by akquinet and luminis<br />Android, a Linux-based Mobile Phone Operating System<br />
    42. 42. Questions ?<br />Android, a Linux-based Mobile Phone Operating System<br />Karl Paulskarl.pauls@akquinet.de<br />Bülowstraße 66, 10783 Berlin+49 151 226 49 845<br />Dr. Clement Escoffierclement.escoffier@akquinet.de<br />Bülowstraße 66, 10783 Berlin+49 175 246 77 17<br />

    ×