2016-10-11 2 views
-2

page screenshotSpeichern der Benutzereinstellungen (Schalter Schaltet) Xamarin bildet

Lets sagen, dass wir eine Seite in PCL haben Xamarin Anwendung bildet ich die Einstellungen speichern möchten (Kippschalter Auswahl) für jeden Benutzer: - speichern sie lokal und remotly

+0

Mögliches Duplikat von [mehr als 80 Einstellungen für jeden Benutzer in einer Xamarin-Formularanwendung] (http://stackoverflow.com/questions/39964437/more-than-80-settings-to-store-for-each) -user-in-a-xamarin-forms-application) –

+0

dup-link funktioniert nicht ... –

Antwort

0

Die schnellste Möglichkeit, dies zu implementieren, ist James Montemagno Settings Plugin. Es ist als NuGet-Paket verfügbar. Denken Sie daran, es in allen Ihren Projekten zu installieren.

Es sollte ziemlich selbsterklärend sein. Wenn Sie das Paket installieren, erstellt es bereits eine Hilfsklasse für Sie und zeigt Ihnen eine Readme-Datei.

Es funktioniert nur mit einfachen Typen sein: Boolean, Int32, Int64, String, Single (float), Guid, Double, Decimal, DateTime.

Wenn Sie das Paket installiert haben, erhalten eine statische Standard-Klasse, um die Einstellungen für den Zugriff auf die wie folgt aussieht:

private static ISettings AppSettings 
{ 
    get 
    { 
    return CrossSettings.Current; 
    } 
} 

Sie können nun Ihre Einstellungen mit Schlüssel/Wert-Paare definieren und einen Standardwert definieren, das heißt:

private const string UserNameKey = "username_key"; 
private static readonly string UserNameDefault = string.Empty; 

private const string SomeIntKey = "int_key"; 
private static readonly int SomeIntDefault = 6251986; 

Und sie durch Eigenschaften abzurufen, wie folgt aus:

public static string UserName 
{ 
    get { return AppSettings.GetValueOrDefault<string>(UserNameKey, UserNameDefault); } 
    set { AppSettings.AddOrUpdateValue<string>(UserNameKey, value); } 
} 

public static int SomeInt 
{ 
    get { return AppSettings.GetValueOrDefault<int>(SomeIntKey, SomeIntDefault); } 
    set { AppSettings.AddOrUpdateValue<int>(SomeIntKey, value); } 
} 

Sie können Datenbindung auch in Xamarin.Forms verwenden, sodass Sie keinen redundanten Code benötigen. Ausführlichere Informationen finden Sie in der Dokumentation here.

Da Eigenschaften verwendet werden, können Sie selbst einen Code implementieren, um einen Back-End-Dienst aufzurufen und die Einstellungen dort zu speichern.

+0

danke für deine antwort aber ich habe die selbe antwort schon oft gelesen! während in meinem Fall habe ich 2 Probleme: - ich muss Toggle-Schalter (on oder off) nicht Boolean, Int32, Int64, String, Single (Float), Guid, Double, Decimal, DateTime. - und sie sind mehr als 16 (80 um genauer zu sein) –

+0

Ein Schalter ein- oder ausgeschaltet ist wahr/falsch, so ein Boolean? Und du solltest dann 80 Eigenschaften machen. Ich fühle mich nicht so elegant, wie es sein könnte, aber ich bin mir nicht wirklich sicher über irgendeine andere gute Lösung, die es besser machen würde. Speichern Sie sie in einem Wörterbuch oder etwas, aber Sie müssen die Einstellungen auf diese Weise selbst verwalten –

Verwandte Themen