Copyright Canoo Engineering AG,

Slides:



Advertisements
Ähnliche Präsentationen
Objektrelationales Mapping mit JPA
Advertisements

Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
E-Commerce Shop System
Stefan Kurz und Marius Podwyszynski
© 2009 ICW AG – GE Partner Enabling - title of training presentation
Rechnernetze und verteilte Systeme (BSRvS II)
Zusammenarbeit in Office mit den SharePoint Technologien Michael Carpi
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Web 2.0 und RIAs - Adobe Air1 Seminar: Web 2.0 und Rich Internet Applications Wintersemester 2007/2008 Daniel Thaidigsmann
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Testing of the Wireless Interface Between a Commercial PDA and Multi - Modal Display Cluster of a Vehicle Vortrag_Paderborn.ppt / Ning /
Objektrelationales Mapping mit JPA
Microsofts XML-Strategie aus Sicht des Endanwenders Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil 5.
Eclipse - Entwicklungsumgebung und mehr ETIS SS05.
Projekt Web Engineering
Microsoft Office Information Bridge Framework Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Open Services Gateway Initiative
Debugging, Logging, Monitoring, Tools
SKALIERBARE HARDWARE UNABHÄNGIGE LÖSUNGEN FÜR HSM, ARCHIVIERUNG UND SICHEREN DATENAUSTAUSCH YOUR DATA. YOUR CONTROL.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
MDA – Framework AndroMDA
Java und Eclipse.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
App-Entwicklung mit HTML5, CSS und JavaScript
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Präsentation von Lukas Sulzer
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Oliver Lietz – Mobile Software Mobile Software Ausgewählte Themen Software (ATS) Beuth-Hochschule SS 2010 Oliver Lietz Dipl.-Ing.
Google Android.
© Zühlke 2012 Oliver Brack Romano Roth iOS, Android, WP7: Alle nativ auf einen Streich Fragenkatalog zu umgesetzten Apps 27. September 2012 Folie 1.
C O R P O R A T E T E C H N O L O G Y Software & Engineering Architecture Eclipse Rich Client Platform Siemens Workshop Kai Tödter Siemens AG CT SE 2.
The EventCollector Concept Präsentation der Diplomarbeit von Thomas Moser und Lukas Karrer Distributed System Group,
Kaseya Virtual System Administrator Produkt Update 7.0 Rocco van der Zwet Copyright ©2014 Kaseya 1.
Vassil Dimov.  Was ist Blue Age  Eigenschaften  Möglichkeiten  Hello World (Beispiel)  Entity Creation(Beispiel)  Benefit.
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
Arbeiten in einem agilen Team mit VS & TFS 11
IBM® WebSphere Portal, IBM WebSphere Portal solutions, and SOA Composite Applications Overview TIMETOACT Software & Consulting GmbH, Hermann.
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
CEO BITFORGE AG RETO SENN.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
Voraussetzungen Wichtig: Bitte Xamarin Studio, SDK’s und Emulatoren vor dem Workshop installieren Xamarin Studio 5.9 ( Xamarin Business.
Agile Performance Tools & Information Systems -Ticket-System und Multi-Projektmanagement mit Andreas Haaken Systems Engineer Information Architect.
Vom Smart Home bis zum Smart Lift Das Internet der Dinge wird Real
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Einführung in das mobile Betriebssystem Android 1 Einführung in das mobile Betriebssystem Android „ We're talking about a platform where for the first.
Technische Universität München Alexander Neidhardt Forschungseinrichtung Satellitengeodäsie 1 Concepts for remote control of VLBI-telescopes: on the way.
Source Talk Tage 2008 NetBeans Rich Client Platform NetBeans RCP NetBeans Rich Client Platform Anton Epple Göttingen, Source Talk Tage.
Maven NetBeans Platform RCP Development Aljoscha Rittner Sepix GmbH, NetBeans Dreamteam Member
Verteilte Anwendungen: J2EE
distcc gemeinsam stärker Jan Grosser,
Workshop 1 Getting Started 2016 Boris Wylutzki
OpenLayers FEATURES DATENQUELLEN
The IT–Information System
Premiere Conferencing GmbH
Azure Countdown Wenn der Freund und Helfer Freunde und Helfer braucht: Sichere Content-Upload-Plattform für Bürger.
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Investitionen sichern - wachse mit Forms in die neue Welt
Official Statistics Web Cartography in Germany − Regional Statistics, Federal and European Elections, Future Activities − Joint Working Party meeting.
 Präsentation transkript:

Copyright Canoo Engineering AG, www.canoo.com Google Android Ein Erfahrungsbericht über die Funktionalität und die Tool-Unterstützung bei Android Andreas Hölzl Copyright Canoo Engineering AG, www.canoo.com

AGENDA MobileZoo – Projekt und Kurzdemo Applikationselemente Erfahrungen Kommunikationsarchitektur Background services UI layouting SQLite DB – ORM light Development cycle Testing, Debugging, Profiling Devices (Emulator, T-Mobile G1) Zusammenfassung Q&A 2

Let’s Play MobileZoo! – The Project “MobileZoo is an augmented reality community game based on the idea of catching and releasing virtual animals at real world spots and trading them with players in your proximity.” 3

Let’s Play MobileZoo! – The Project Erster Prototyp: im Canoo Code Camp 4 Canooeys, einiges in der Freizeit 60 man days – 8‘000 LoC Endphase: 3 Wochen vor ADC deadline Einreichung beim ADC just-in-time 2008 Jan Feb Mar Apr Canoo Code Camp Start „End Game“ ADC Deadline

Let’s Play MobileZoo! – Quick Demo See screencast at http://www.youtube.com/user/canoovideo

Let’s Play MobileZoo! - ADC Nachspiel MobileZoo Android Developer Challenge ranking Effective use top 25 % Polish 25-50 percentile Indispensability 25-50 percentile Originality top 25 % Overall top 25 % 100% = 1778 submissions

MobileZoo – Applikationselemente Map Activity Animal Detail Activity Zoo DB get & set Zoo state Zoo EntityManager Show detail Intent Location updates Trade proposals, catch events, … Location update LocationListener network Remote Service 7

Erfahrungen 8

1 - Kommunikations-Architektur, XMPP Architektur MobileZoo XMPP Server Game Engine Player position updates Server Animal / player position updates Animal catch and release updates Animal trading Zoo XMPP Conn. Service XMPP Conn. Service Zoo Client X Client Y 9

2 - Remote Service Kommunikation Player Animal overlay Player / Animal Overlay Worker thread Event queue update view P1 pos. A3 pos. P2 pos. MapActivity PlayerPositionListener set map position Service layer TradeService PositionService … LocationListener sendPacket() packetReceived() Device location update RemoteServiceProxy IPacketListener IPC Built-in location provider network Remote Service 10

3 - Globaler Notifikationsmechanismus application process NotificationManager received trade proposal notify no packet listener registered BroadcastIntentReceiver IPacketListener IPC service process broadcast Intent RemoteService platform 11

AnimalDetailActivity 4 - UI – Development 2 Optionen Deklarativ: XML Programmatisch: Java Teilweise Builder-Funktionalität Gemischter Modus: XML + Java XML mit addressierbaren UI-Komponenten Zugriff via Java API Erweiterungs-API eigene widgets basierend auf UI-Abstraktionen und dem Eventmodel möglich BaseActivity setTitle(...) addAction(...) layout.xml AnimalDetailActivity animaldetail.xml 12

5 - Sqlite DB – ORM light SQLite DB ist gut, aber ORM ist bequemer DAO Pattern Entity beans (Annotation) Zentraler EntityManager für Retrieval / Persistenz M5: Workaround zu Annotations via retrotranslator 13

6 - Testing Built-in testing framework: android.test package Unit testing AndroidTestCase Functional / UI testing Instrumentation Steuerung anderer Activities Automatisierung Mock-Funktionalität android.test.mock http://code.google.com/android/reference/android/test/package-summary.html 14

7 - Debugging / Profiling DDMS Dalvik Debug Monitor Service / ADB Android Debug Bridge Breakpoints / debugging (JDWP) wie « normale » Java Anwendungen (*) Log-, thread- und heap-Informationen Filesystem, db Zugriff Anruf-, SMS- und location data spoofing Port forwarding Profiling mit traceview Debug.start|stopMethodTracing("calc"); Timeline / profile charts Profiling (traceview) (*) Kein hot code replacement… 15

8 - Development Cycle Vergleichbar mit “plain Java” development Java 5, bevorzugte IDE, android.jar, javac Spezielle Android-Schritte Generieren des AIDL / resource codes Konvertierung .class in .dex Packaging, deployment Unterstützung durch SDK tools Ant-basierte build-Umgebung SDK tools Integration Continuous integration / Cruise control Erhöhte Produktivität javac aapt compile aidl dx --dex aapt package emulator adb install Generate Code Package Compile Convert Deploy <hack> Build Time ~25s 16

9 - Devices – Emulator Vollwertiger Emulator – wichtiges Entwicklungstool Fehlende Unterstützung der “hardware features” APIs ist verfügbar, aber nicht mit den devices des host systems verbunden Bluetooth, GPS-Sensor, Kamera, … Dafür verschiedene data spoofing-Funktionalitäten Emulator is kein reales Gerät Keine Hinweise auf performance, Responsivität, «wie die Applikation sich im realen Umfeld anfühlt» Host System Emulator Application API Net GPS Device (W)LAN ext. GPS 17

10 - Devices cont. – T-Mobile G1 Pros Verhält sich wie Emulator Physikalische Tastatur und Trackball Kompass Marketplace (wie Appstore) Google-Integration (technisch!) Cons Teilweise nicht 100% responsiv Mässige Akkulaufzeiten (2h Youtube, 3d standby) Suboptimale Browser-Navigation, kleiner Bildschirm 18

(*) vorwiegend, siehe portierte Java core libraries Zusammenfassung « Wie normale Java-Applikationsentwicklung » Wohl strukturiert und reiche Funktionalität Problemloses(*) Einbinden von externen Java libraries Uneingeschränkte Background-Service-Funktionalität Vielfältige Persistierungsmöglichkeiten … Innovatives Applikations- und UI-Konzept Professionelle Tool-Unterstützung Emulator, testing framework, debugging / profiling tools (*) vorwiegend, siehe portierte Java core libraries 19

Android ranking Android platform Canoo ranking Functionality top 25 % Maturity top 25%(*) Ease of use 25-50 Perzentil Potential top 25% Overall top 25 % (*) April 08: 25-50 Perzentil

Thank you! Andreas Hölzl andreas.hoelzl@canoo.com Christian Stettler cstettler@imap.ch Canoo Engineering AG www.canoo.com