2016-03-26 45 views
0

Also ich bin neu und ich brauche eine Anleitung, ich habe eine App (tichu counter) in dieser App habe ich einige Kontrollen und Ereignisse passiert, die ich handle.C# UWP Wie erstelle ich eine Sicherungsdatei

Jetzt ist hier der Teil.
Bevor ich auf die Seite der App navigiere, die die Tricks zum Zählen von People-Scores ausführt, möchte ich eine andere Seite erstellen. Auf dieser Seite habe ich 2 Möglichkeiten ein "Neues Spiel" und "Resume Game". Mein Problem ist, dass ich nicht weiß, wie ich meine Werte speichern und sie beim Fortsetzungsspiel aufrufen kann.

Ich habe 2-Ansichten verwenden meine Klasse Score.Each Team zeigen einen Wert bekommt listA zu Listview von Team A, ListB zu Listview von B.

// So the listview knows something changed. 
private ObservableCollection<Score> Scores; 
//on page load 
Scores = new ObservableCollection<Score>(); 

// this is how i add the scores inside the Score class 
//teamAscore and teamBscore are the scores the user has typed inside 
//the 2 textboxes i have(shown in picture below) 
Scores.Add(new Score { ListA = teamAScore, ListB = teamBScore }); 

public class Score 
{ 
    public int ListA { get; set; } 
    public int ListB { get; set; } 
} 

Mit den Listen zu zeigen, habe ich 2 Textblocks eine für Team A und eine für Team B. Sie befinden sich über jeder Listenansicht und zeigen die Gesamtpunktzahl seines Teams, wie in diesem Bild gezeigt (http://prntscr.com/akavl6).

Eine Sache ist, wenn ich die Seite schließe und die Klasse wieder öffne und die Textblöcke die Werte nicht behalten, die sie bereits hatten. Und ziemlich genau weiß ich nicht, wie ich das machen soll, damit ich meine Listen und die Gesamtwerte speichern kann, damit ich sie wiederherstellen kann, wenn ich auf die Seite zurückgehe oder sie lösche und ein neues Spiel mit allen Werten auf 0 starte.

+0

Sie können es statisch machen. Wenn Sie es jedoch speichern und dann laden möchten, wenn der Benutzer die App öffnet, wäre es besser, dieses https://msdn.microsoft.com/en-us/windows/uwp/app-settings/store-and zu verwenden -retrieve-app-data – ganchito55

Antwort

0

Speichern von Werten im lokalen Speicher ist, was Sie wollen. Nun, wenn seine einzelnen Werte, können Sie es einfach speichern, indem Sie sie einer String-Variablen im lokalen Speicher zuweisen.
Aber würde vorschlagen, dass Sie SQlite database übernehmen. Da Sie mit zwei ListViews zu tun haben, gehe ich davon aus, dass die Daten exponentiell anwachsen. Daher wäre es besser, diese Daten in einer anderen Datei als lokal zu speichern oder neue Variablen für jeden Eintrag zu erstellen.
Obwohl dies zeitaufwändig ist und viel mehr Code benötigt würde, würden Sie damit Benutzerdaten in einem besseren Format speichern.
Es gibt zwar Optionen zur Verwendung von static data oder parameter passing während der Navigation, aber dies würde zu Datenverlust führen, sobald die App-Sitzung endet, App schließt.

+0

Ich sehe deine Idee klingt gut habe irgendwelche Links, die mir helfen würden, ein besseres Verständnis der SQlite-Datenbank zu bekommen? (sry für späte Antwort) – panoukos41

+0

nach dem Studium einiger Dinge in msdn Foren (eine kleine Suche, weil es zu spät wird) ich instaliert die SQlite-Datenbank-Erweiterung. Und als ich den Code sah, sah es so aus, als hätte er die Klasse erstellt und diese Klasse der Datenbank hinzugefügt. Also das ist die Idee? – panoukos41

+0

Die Idee besteht darin, diese Datenbank im lokalen Speicher zu speichern. Stellen Sie sich SQlite einfach als einen Container für einen einfacheren Zugriff und eine klar definierte Speicherung von Daten vor. Wenn Sie diese Daten in einem lokalen Speicher speichern, ist deren Verfügbarkeit auch nach dem Schließen der App gewährleistet. Es wird Ihnen auf lange Sicht helfen, da die meisten App-Entwickler es verwenden, um ihre Daten zu speichern. – Jerin

Verwandte Themen