Upload
christian-janz
View
254
Download
0
Embed Size (px)
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.
Citation preview
Überleben imFunkloch
Offlinefähige Apps für Android entwickeln
Christian Janz ( )@c_janz
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 [email protected]://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
https://github.com/cjanz/android-sync-sample
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?