Presentation is loading. Please wait.

Presentation is loading. Please wait.

Platform Presentation Second Week Android Platform Team 27 / March / 2009.

Similar presentations


Presentation on theme: "Platform Presentation Second Week Android Platform Team 27 / March / 2009."— Presentation transcript:

1 Platform Presentation Second Week Android Platform Team 27 / March / 2009

2 © artesis 2008 | 2 TEAM MEMBERS Martin Jantscher – FH Joanneum Mohammed Talhaoui – Artesis Hogeschool Antwerpen Denis De Vos – Haute École Provinciale de Mons-Borinage-Centre Ivan Cunha – Escola Superior de Comunicação Social Artur Roszcyk – Wyzsza Szkola Informatyki Mikhail Datsyuk – Central Ostrobothnia Introduction

3 © artesis 2008 | 3 1. Introduction 2. Platform 3. Software development 4. Overall evaluation Main topics

4 © artesis 2008 | 4 What is Android? A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google and later the Open Handset Alliance (OHA) Allows writing managed code in the Java language Possibility to write applications in other languages and compiling it to ARM native code (support of Google? No) Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA 1. Introduction (1)

5 © artesis 2008 | 5 1. Introduction (2) What is the Open Handset Alliance (OHA)? (1) → It's a consortium of several companies

6 © artesis 2008 | 6 1. Introduction (3) What is the Open Handset Alliance (OHA)? (2) Devoted to advancing open standards for mobile devices Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services

7 © artesis 2008 | 7 1. Introduction (4) License Android is under version 2 of the Apache Software License (ASL)

8 © artesis 2008 | Hardware Android is not a single piece of hardware; it's a complete, end-to-end software platform that can be adapted to work on any number of hardware configurations. Everything is there, from the bootloader all the way up to the applications. 2. Platform (1)

9 © artesis 2008 | Operating System(s) Android uses Linux for its device drivers, memory management, process management, and networking. The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite), and a native web browser engine (WebKit). Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at compile time from standard class and jar files. 2. Platform (2)

10 © artesis 2008 | Network Connectivity It supports wireless communications using:  GSM mobile-phone technology  3G  Edge  Wi-Fi networks 2. Platform (3)

11 © artesis 2008 | Security Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. 2. Platform (4)

12 © artesis 2008 | Performance 2. Platform (5)

13 © artesis 2008 | Future possibilities Google Android Sales to Overtake iPhone in 2012 The OHA is committed to make their vision a reality: to deploy the Android platform for every mobile operator, handset manufacturers and developers to build innovative devices Intel doesn’t want to lose ownership of the netbook market, so they need to prepare for anything, including Android Fujitsu launched an initiative to offer consulting and engineering expertise to help run Android on embedded hardware, which aside from cellphones, mobile internet devices, and portable media players, could include GPS devices, thin- client computers and set-top boxes. More Android devices are coming and some will push the envelope even further 2. Platform (6)

14 © artesis 2008 | Development requirements Java Android SDK Eclipse IDE (optional) 3. Software development (1)

15 © artesis 2008 | IDE and Tools Android SDK Class Library Developer Tools  dx – Dalvik Cross-Assembler  aapt – Android Asset Packaging Tool  adb – Android Debug Bridge  ddms – Dalvik Debug Monitor Service Emulator and System Images Documentation and Sample Code Eclipse IDE + ADT (Android Development Tools) Reduces Development and Testing Time Makes User Interface-Creation easier Makes Application Description Easier 3. Software development (2)

16 © artesis 2008 | Programming Language(s) Java – officially supported C/C++ – also possible but not supported 3. Software development (3)

17 © artesis 2008 | Advantages There are a host of advantages that Google’s Android will derive from being an open source software. Some of the advantages include: The ability for anyone to customize the Google Android platform The consumer will benefit from having a wide range of mobile applications to choose from since the monopoly will be broken by Google Android Men will be able to customize a mobile phones using Google Android platform like never before Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to be customized As a result of many mobile phones carrying Google Android, companies will come up with such innovative products like the location In addition the entertainment functionalities will be taken a notch higher by Google Android being able to offer online real time multiplayer games 4. Overall evaluation (1)

18 © artesis 2008 | Limitations Bluetooth limitations o Android doesn't support:  Bluetooth stereo  Contacts exchange  Modem pairing  Wireless keyboards But it'll work with Bluetooth headsets, but that's about it Firefox Mobile isn't coming to Android Apps in Android Market need to be programmed with a custom form of Java → Mozilla and the Fennec won't have that 4. Overall evaluation (2)

19 © artesis 2008 | Conclusion We can only hope that the next versions of Android have overcome the actual limitations and that the future possibilities became a reality 4. Overall evaluation (3)

20 Java Basic Java programming –Exceptions –Inner Class, Interface Advanced topics we will touch: –Java IO –Java Thread –Java Socket pages.cs.wisc.edu/~hasti/cs368/JavaTutorial/

21 Android Basics Credit goes to Google and UMBC

22 Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

23 Few reasons to go MAD… Smart Phones –Internet access anywhere –Social networking Millions of mobile users Open standards

24 Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications An Open Handset Alliance (OHA) project Powered by Linux operating system Fast application development in Java Open source under the Apache 2 license

25

26 Linux Kernel Works as a HAL Device drivers Memory management Process management Networking

27 Libraries C/C++ libraries Interface through Java Surface manager – Handling UI Windows 2D and 3D graphics Media codecs, SQLite, Browser engine

28 Android Runtime Dalvik VM –Dex files –Compact and efficient than class files –Limited memory and battery power Core Libraries –Java 5 Std edition –Collections, I/O etc…

29 Application Framework API interface Activity manager – manages application life cycle.

30 Applications Built in and user apps Can replace built in apps

31 Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

32 Application Building Blocks Activity IntentReceiver Service ContentProvider

33 Activities Typically correspond to one UI screen But, they can: –Be faceless –Be in a floating window –Return a value

34 IntentReceivers Components that respond to broadcast ‘Intents’ Way to respond to external notification or alarms Apps can invent and broadcast their own Intent

35 Intents Think of Intents as a verb and object; a description of what you want done –E.g. VIEW, CALL, PLAY etc.. System matches Intent with Activity that can best provide the service Activities and IntentReceivers describe what Intents they can service

36 Intents GMail Contacts Home Blogger Chat Client component makes a request for a specific action “Pick photo” Picasa System picks best component for that action New components can use existing functionality Blogger Photo Gallery

37 Services Faceless components that run in the background –E.g. music player, network download etc…

38 ContentProviders Enables sharing of data across applications –E.g. address book, photo gallery Provides uniform APIs for: –querying –delete, update and insert. Content is represented by URI and MIME type

39 Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building blocks Development tools Hello Android

40 Development Tools Eclipse Android SDK developer.android.com

41 The Emulator QEMU-based ARM emulator Runs the same image as the device Limitations: –No Camera support

42 Devices

43 Hello World -world.html Generating UIs –Views – building blocks –E.g. TextView, EditText, Button –Placed into Layouts –E.g. LinearLayout, TableLayout, AbsoluteLayout

44 Application Lifecycle Application run in their own processes (VM, PID) Processes are started and stopped as needed to run an application's components Processes may be killed to reclaim resources

45

46 Lifecycle System Process GMail Contacts Home MailBrowser Map

47 Location Manager

48 XMPP Services Allows any app to send device-to-device messages to other android users Data Messages are Intents with name/value pairs Works with any gmail account… Can also build servers to deliver server-to-device messages

49 Notification Manager

50 How background app interact with users Consistent notification presentation

51 Views

52

53 Location Manager


Download ppt "Platform Presentation Second Week Android Platform Team 27 / March / 2009."

Similar presentations


Ads by Google