Cum salvez datele în WP8
Pentru a salva o informația în Windows Phone 8 care să poată fi folosită și după ce am închis telefonul sau aplicația este de preferat să folosesc IsolateStorageSettings.
Cum salvez
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; if (!settings.Contains("stii")) { settings.Add("stii", App.scor.ToString()); } else { string s; s = IsolatedStorageSettings.ApplicationSettings["stii"] as string; if (Convert.ToInt32(s) < App.scor) { settings["stii"] = App.scor.ToString(); } } |
4. Verific dacă există un storage care să conțină numele meu (stii, în acest caz)
6. Dacă nu există, atunci creez unul și îi dau valoarea pe care o am eu în App.scor.
8. Dacă nu există, atunci verific dacă scorul nou obținut (app.scor) este mai mare decât scorul vechi pe care l-am salvat eu înainte (s), dacă este mai mare atunci salvez în “stii” noul top score.
Cum extrag informația ca să o afișez
1 2 3 4 5 6 7 |
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; if (IsolatedStorageSettings.ApplicationSettings.Contains("stii")) { hScore.Text = "Scor maxim: " + IsolatedStorageSettings.ApplicationSettings["stii"] as string; } |
Linia 2: verific dacă există
Linia 5: afișez
Linia 6: sustrag informația din IsolatedStorage
Best practices
Desigur, apare și problema “unde să pun codul”. În principiu, aș zice unde simți că se potrivește. Eu l-am pus mereu când utilizatorul termină jocul.
Depinzând de logica jocului, dacă este un endless runner de exemplu, poți folosi checkpoint-uri fizice sau checkpoint-uri date de timp. Să se salveze valorile la fiecare X secunde. Ai grijă să nu salvezi prea des, dar nici prea rar. Depinzând de ritmul jocului aș zice că un minut este tocmai bine.
By: Adrian Coman