SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Lokale	Datenhaltung	in	
Xamarin-Apps
André	Krämer
Softwareentwickler,	Trainer,	Berater,	Microsoft	MVP
http://andrekraemer.de |	andre@andrekraemer.de |	@codemurai
Wer	von	Ihnen	entwickelt	bereits	
mobile	Apps	mit	Xamarin?
Wer	von	Ihnen	hat	in	seiner	
Anwendung	/	App	schon	einmal	
die	Anforderung	gehabt	Daten	zu	
speichern?
Vermutlich	jeder!
Datenhaltung	in	„klassischen“	Anwendungen
• Datenbank
• XML-Config Dateien
• JSON-Config Dateien
• Registry
• Ini-Dateien
Wohin	mit	den	Daten	in	mobile	
Apps?
Was	für	Daten	haben	wir	überhaupt?
• Stammdaten,	die	bereits	mit	der	App	ausgeliefert	wurden
• „Kleine	Datenmengen“,	z.	B.	Benutzereinstellungen
• „Geheime	Daten“,	z.	B.	Passwörter	oder	Auth-Token
• Temporäre	Daten,	z.	B.	gecachte Ergebnisse	von	Web	Service	
aufrufen
• Zur	Laufzeit	durch	den	Benutzer	erfasste	Daten
Ausgelieferte	Daten
Mit	der	App	ausgelieferte	Daten
• Pfade:
• Android:	Assets	Ordner	(BuildAction:	AndroidAsset)	
• iOS:	Beliebiger	Unterordner	innerhalb	des	Projekts	(BuildAction:	
BundleResource)
• Zugriff:
• Android	über	Assets	Manager
• iOS:	Über	Standard	.NET	Methoden	(z.	B.	System.IO.	...)
Ausgelieferte	Stammdaten
Demo
“Geheime	Daten“
• Sensitive	Daten	sollten	nicht	als	lesbarer	Text	abgespeichert	werden
• Zu	solchen	Daten	zählen:
• Login	Daten	(Username	/	Password)
• OAuth Tokens
• Lösungen:
• Eigene	Verschlüsselung
• Eingebaute	Mechanismen
• iOS:	Keychain
• Android:	Keystore
• Xamarin.Auth bietet	einen	Wrapper	für	Keychain und	Keystore
Xamarin.Auth unterstützt	derzeit	.NET	
Standard	nicht
13
Geheime	Daten	unter	iOS
Demo
SQLite
Demo
SQLite
• Leichtgewichtige	eingebettete	In-Process-Database-Engine
• Cross-Plattform	verfügbar
• Wird	unter	anderem	intern	von	Android	und	iOS	genutzt
• Die	verbreitetste	Datenbank	der	Welt
• Public	Domain
• nuget Paket:		sqlite-net-pcl
Was	ist	das	Entity	Framework	
Core
Entity	Framework	Core	im	Überblick
• Objektrelationaler	Mapper	(O/R	M)
• Ermöglicht	einen	objektorientierten	Zugriff	auf	die	Datenbank
• Leichtgewichtige	und	erweiterbare	Version	des	Entity	Framework
• Komplette	Neuentwicklung
Reife	der	Codebasis
• Entity	Framework	6	wird	seit	2008	kontinuierlich	weiterentwickelt
• Entity	Framework	Core	wurde	vollständig	neu	entwickelt	(V1	in	2016)
Aktueller	Stand	des	EF	Core	in	Xamarin	
(Anfang	Mai	2017!)
• EF	Core	funktioniert	aktuell	nur	unter	Android	und	UWP
• Siehe:	https://github.com/aspnet/EntityFramework/issues/7158
Aktueller	Stand	des	EF	Core	in	Xamarin	
(Mitte	Mai	2017!)
• Xamarin	15.2	nutzt	nun	Mono	5
• EF	Core	funktioniert	nun	auch	unter	iOS	und	nicht	nur	unter	Android	
und	UWP
EF	Core	in	Xamarin	Anwendungen	nutzen	
(Stand	Anfang	Mai	2017)
• Geteiltes	Projekt	muss	.NET	Standard	statt	PCL	sein
• Visual	Studio	2017	legt	aktuell	eine	PCL	an
• à https://oren.codes/2017/04/23/using-xamarin-forms-with-net-
standard-vs-2017-edition/
• https://github.com/onovotny/SampleXamFormsWithNetStandard
• àAktuell	keine	Intellisense mehr	in	XAML	Dateien!
https://developercommunity.visualstudio.com/content/problem/40890
/no-or-intermittent-xaml-intellisense-in-net-standa.html
EFCore
Demo
Xamarin	Buch
• Cross-Plattform-Apps	mit	Xamarin	entwickeln:	
Mit	C#	für	Android	und	iOS	programmieren
• Erscheint	am:	6.	November	2017
• http://amzn.to/2q29RcS
24
Homepage
andre@andrekraemer.de |	http://andrekraemer.de |	http://andrekraemer.de/blog |	http://github.com/AndreKraemer
Vielen	Dank!
Blog
Xing
Facebook
Twitter
Google+
Meine	Dienstleistungen
• Schulungen
• ASP.NET	/	JavaScript	/	Angular
• Xamarin
• Cordova
• TX	Text	Control
• Team	Foundation	Server
• .NET	Datenzugriff	(Entity	Framework,	NHibernate,	Micro	O/R	Mapper)
• Consulting
• Durchführung	von	Technologieworkshops
• Code- /	Architekturreviews
• Analyse	von	managed Memory	Leaks und	Performanceproblemen
• Prototypenentwicklung
• Remote	Entwickler-Support
• Projektbegleitendes	Coaching
• Beratung	bei	der	Migration	von	Legacy	Technologien	(Classic	ASP,	Visual	Basic	6,	Gupta	Centura,	...)	zu	.NET
• Softwareentwicklung
• Mobile	Apps	(Android,	iOS,	Windows	10,	Windows	8,	Windows	Phone)
• Entwicklung	von	Web-Anwendungen	mit	ASP.NET	und	Angular
• Entwicklung	von	Desktop	Anwendungen
• Migration	von	ASP	Classic	zu	modernen	Weblösungen
andre@andrekraemer.de |	http://andrekraemer.de |	http://andrekraemer.de/blog |	http://github.com/AndreKraemer

Weitere ähnliche Inhalte

Ähnlich wie Lokale Datenhaltung in Xamarin-Apps

2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace Suite
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace SuiteCitrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace Suite
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace SuiteDigicomp Academy AG
 
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...We4IT Group
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaOPEN KNOWLEDGE GmbH
 
skilllocation - OneDrive for Business Foliensatz
skilllocation - OneDrive for Business Foliensatzskilllocation - OneDrive for Business Foliensatz
skilllocation - OneDrive for Business FoliensatzCarola Pantenburg
 
2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem ClientDaniel Fisher
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Agenda Europe 2035
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Markus Harrer
 
Herbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenHerbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenDigicomp Academy AG
 
Citrix XenDesktop 4
Citrix XenDesktop 4Citrix XenDesktop 4
Citrix XenDesktop 4netlogix
 
Citirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisCitirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisDigicomp Academy AG
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der CloudDanny Linden
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Dominik Helleberg
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessOPEN KNOWLEDGE GmbH
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesAWS Germany
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunVerein FM Konferenz
 
SharePoint Community Mittelland - GARAIO : Enterprise Search
SharePoint Community Mittelland - GARAIO : Enterprise SearchSharePoint Community Mittelland - GARAIO : Enterprise Search
SharePoint Community Mittelland - GARAIO : Enterprise SearchPatrick Maeschli
 

Ähnlich wie Lokale Datenhaltung in Xamarin-Apps (20)

2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace Suite
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace SuiteCitrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace Suite
Citrix Day 2014: Enterprise Mobility - Citrix Lösungen mit Workpace Suite
 
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
 
SETapp Präsentation
SETapp PräsentationSETapp Präsentation
SETapp Präsentation
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
skilllocation - OneDrive for Business Foliensatz
skilllocation - OneDrive for Business Foliensatzskilllocation - OneDrive for Business Foliensatz
skilllocation - OneDrive for Business Foliensatz
 
2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)
 
Cinema in the Cloud
Cinema in the CloudCinema in the Cloud
Cinema in the Cloud
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
 
Herbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenHerbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgeräten
 
Citrix XenDesktop 4
Citrix XenDesktop 4Citrix XenDesktop 4
Citrix XenDesktop 4
 
Citirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisCitirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der Praxis
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der Cloud
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu Serverless
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
 
SharePoint Community Mittelland - GARAIO : Enterprise Search
SharePoint Community Mittelland - GARAIO : Enterprise SearchSharePoint Community Mittelland - GARAIO : Enterprise Search
SharePoint Community Mittelland - GARAIO : Enterprise Search
 

Mehr von André Krämer

Xamarin.Forms App in einer Stunde
Xamarin.Forms App in einer StundeXamarin.Forms App in einer Stunde
Xamarin.Forms App in einer StundeAndré Krämer
 
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...André Krämer
 
Codewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenCodewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenAndré Krämer
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018André Krämer
 
Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018André Krämer
 
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...André Krämer
 
Typische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API AnwendungenTypische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API AnwendungenAndré Krämer
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
 
Entity Framework hinter den Kulissen
Entity Framework hinter den KulissenEntity Framework hinter den Kulissen
Entity Framework hinter den KulissenAndré Krämer
 
Performance trotz Entity Framwork
Performance trotz Entity FramworkPerformance trotz Entity Framwork
Performance trotz Entity FramworkAndré Krämer
 
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)André Krämer
 
.NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern .NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern André Krämer
 
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...André Krämer
 
Zentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKZentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKAndré Krämer
 

Mehr von André Krämer (14)

Xamarin.Forms App in einer Stunde
Xamarin.Forms App in einer StundeXamarin.Forms App in einer Stunde
Xamarin.Forms App in einer Stunde
 
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
 
Codewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenCodewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximieren
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 
Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018
 
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...
 
Typische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API AnwendungenTypische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Entity Framework hinter den Kulissen
Entity Framework hinter den KulissenEntity Framework hinter den Kulissen
Entity Framework hinter den Kulissen
 
Performance trotz Entity Framwork
Performance trotz Entity FramworkPerformance trotz Entity Framwork
Performance trotz Entity Framwork
 
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)
Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)
 
.NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern .NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern
 
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
 
Zentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKZentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDK
 

Lokale Datenhaltung in Xamarin-Apps

Hinweis der Redaktion

  1. Die Frage ist nur wohin mit den Daten? Wie haben wir es früher gemacht?
  2. Abhängig von der Art der Daten