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

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

Überleben imFunkloch

Offlinefähige Apps für Android entwickeln

Christian Janz ( )@c_janz

[email protected]

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

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

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

AgendaMotivationLösungsideeArchitekturansatzAPIs im Einsatz: Sync SampleFazit

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

Motivation

Page 5: Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)
Page 6: Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)
Page 7: Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)
Page 8: Offlinefähige Apps für Android entwickeln (Google DevFest Karlsruhe 2013)

Lösungsidee

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

Synchronisiere Daten undspeichere sie lokal auf dem

Gerät

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

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

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

Architektur

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

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

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

"Developing Android REST Client Applications"

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

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

Quelle: Developing Android REST Client Applications

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

APIs im Einsatz:Sync Sample

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

VorgehenAuthenticator & AccountSyncAdapterContentProviderREST client & SyncAdapterActivities

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

Step 1: Authenticator &Account

AuthenticatorServiceAuthenticatorAccountAuthenticatorActivityauthenticator.xml

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

Step 2: SyncAdapterSyncServiceSyncAdaptersyncadapter.xml

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

Step 3: ContentProviderTodoContentProviderDatabaseHelperTodoEntity

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

Step 4: REST client &SyncAdapter

SyncAdapterTodoRestClientTodoEntity

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

Step 5: ActivitiesMainActivityactivity_main.xmltodo_row.xml

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

Fazit

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

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

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

Fragen?