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.
What's New in Teams Calling, Meetings and Devices March 2024
Android : a linux-based mobile operating system
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
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
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.
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.
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.
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