Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)

Post on 15-Jun-2015

254 views 0 download

description

Trotz des immer schnelleren mobilen Internets gibt es Situationen, in denen man auf dem Smartphone keine Datenverbindung hat. Dennoch möchte man, z.B. während einer Zugfahrt, neue RSS-Feeds oder Nachrichten auf Twitter lesen. Die Apps dafür müssen also offlinefähig sein und ihre Daten lokal vorhalten. Diese Session zeigt, wie man eine App für Android entwickeln kann, die Daten mit einem Service synchronisiert, sodass die App auch ohne aktive Datenverbindung benutzt werden kann. Zuerst wird hierzu der passende Architekturansatz vorgestellt. Danach werden Schritt für Schritt die benötigten Android APIs anhand von kleinen Demos vorgestellt, bis schließlich daraus die fertige App entsteht.

Transcript of Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)

Überleben imFunkloch

Offlinefähige Apps für Android entwickeln

Christian Janz ( )@c_janz

christian.janz@bridging-it.de

Twitter: | E-Mail: Slides:

Christian JanzConsultant im Bereich Softwareentwicklung Java/JEE bei

in MannheimbridgingIT

Interesse: Architektur und Entwicklung vonGeschäftsanwendungen mit Hilfe moderner Java Frameworks

@c_janz christian.janz@bridging-it.dehttp://de.slideshare.net/cjanz

AgendaMotivationLösungsideeArchitekturansatzAPIs im Einsatz: Sync SampleFazit

Motivation

Lösungsidee

Synchronisiere Daten undspeichere sie lokal auf dem

Gerät

VorteileApp kann auch ohne aktive Datenverbindung genutzt werdenDatenvolumen wird reduziertDaten werden regelmäßig aktualisiert, wenn eineDatenverbindung besteht"Nebenbei": Verbesserte Architektur

Architektur

RahmenbedingungenDaten werden von einem REST-Service bezogenDaten sollen lokal in SQLite DB gespeichert werdenDaten sollen regelmäßig synchronisiert werdenActivities verwenden nur lokale DatenActivities sollen automatisch aktualisiert werden

"Developing Android REST Client Applications"

Architekturansatz für AndroidVortrag von Virgil Dobjanschi auf der Google IO 2010

Quelle: Developing Android REST Client Applications

APIs im Einsatz:Sync Sample

VorgehenAuthenticator & AccountSyncAdapterContentProviderREST client & SyncAdapterActivities

Step 1: Authenticator &Account

AuthenticatorServiceAuthenticatorAccountAuthenticatorActivityauthenticator.xml

Step 2: SyncAdapterSyncServiceSyncAdaptersyncadapter.xml

Step 3: ContentProviderTodoContentProviderDatabaseHelperTodoEntity

Step 4: REST client &SyncAdapter

SyncAdapterTodoRestClientTodoEntity

Step 5: ActivitiesMainActivityactivity_main.xmltodo_row.xml

Fazit

FazitOfflinefähige Apps haben VorteileOfflinefähigkeit muss in der Architektur berücksichtigtwerdenOfflinefähigkeit muss nicht aufwändig seinAndroid bietet gute Unterstützung dafür

Fragen?