1 / 16

TRANZIENS ADATTÁROLÁS

TRANZIENS ADATTÁROLÁS. State objektum. Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában k ulcs/érték párokként. TRANZIENS ADATTÁROLÁS. State objektum. // Új bejegyzés hozzáadása vagy frissítése

adia
Download Presentation

TRANZIENS ADATTÁROLÁS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.

  2. TRANZIENS ADATTÁROLÁS State objektum // Új bejegyzés hozzáadása vagy frissítése PhoneApplicationService.Current.State.Add("data", "Sample Data");

  3. TRANZIENS ADATTÁROLÁS State objektum // Elem lekérdezése (1) if (PhoneApplicationService.Current.State.ContainsKey("data")) { string data = PhoneApplicationService.Current.State["data"] asstring; if (data != null) { // Itt már biztos, hogy jó az érték } } // Elem lekérdezése (2) object data; PhoneApplicationService.Current.State.TryGetValue("data", out data); stringdataValue = data asstring; if (dataValue != null) { // Itt már biztos, hogy jó az érték }

  4. PERZISZTENS ADATTÁROLÁS Isolated Storage Az appok csak a saját elkülönített területüket láthatják A felhasználható terület korlátlan

  5. PERZISZTENS ADATTÁROLÁS Isolated Storage Fájlok és mappák Tárolhatunk fájlokat és mappákat. Speciális mappák Shared/Media Borítóképeknek Shared/ShellContent Csempék háttérképeinek Shared/Transfers Háttérben futó fel/letöltéseknek

  6. PERZISZTENS ADATTÁROLÁS Isolated Storage // Egyújfájllétrehozása varisoStoreFile = IsolatedStorageFile.GetUserStoreForApplication(); using (varisoStoreStream = isoStoreFile.CreateFile("/Folder/File.text")) { stringmessageToSave = "Hello World"; byte[] messageBytes = Encoding.UTF8.GetBytes(messageToSave); isoStoreStream.Write(messageBytes, 0, messageBytes.Length); }

  7. PERZISZTENS ADATTÁROLÁS Isolated Storage // Fájllétezéséneklekérdezése boolfileExists = isoStoreFile.FileExists("Folder/File.txt"); // Azelmentettfájlvisszaolvasása using (varisoStoreStream = isoStoreFile.OpenFile("/Folder/File.text", FileMode.Open)) { byte[] messageBytes = newbyte[isoStoreStream.Length]; isoStoreStream.Read(messageBytes, 0, messageBytes.Length); stringloadedMessage = Encoding.UTF8.GetString(messageBytes, 0, messageBytes.Length); }

  8. PERZISZTENS ADATTÁROLÁS Isolated Settings Beállítások Tárolhatunk adatot kulcs/érték párokként.

  9. PERZISZTENS ADATTÁROLÁS Isolated Settings // Újbejegyzéshozzáadásavagyfrissítése IsolatedStorageSettings.ApplicationSettings.Add("data", "Sample Data"); // Elem lekérdezése string data; IsolatedStorageSettings.ApplicationSettings.TryGetValue("data", out data); if (data != null) { // Ittmárbiztos, hogyjóazérték }

  10. PERZISZTENS ADATTÁROLÁS Isolated DataBase Relációs adatok Tárolhatunk relációs adatokat a lokális adatbázisban a LINQ to SQL segítségével.

  11. PERZISZTENS ADATTÁROLÁS Isolated DataBase [Table] publicclassSampleData: INotifyPropertyChanged, INotifyPropertyChanging { // Az osztályt meg kell jelölni a [Table] attribútummal // És meg implementálniakellazINotifyPropertyChanged // ésazINotifyPropertyChanginginterfészeket }

  12. PERZISZTENS ADATTÁROLÁS Isolated DataBase [Table] publicclassSampleData: INotifyPropertyChanged, INotifyPropertyChanging { // Interfész implementálás publiceventPropertyChangingEventHandlerPropertyChanging; publiceventPropertyChangedEventHandlerPropertyChanged; // Hasznos segédmetódus publicboolChangeProperty<T>(ref T oldValue, ref T newValue, stringpropertyName) { if (oldValue.Equals(newValue)) { returnfalse; } else { PropertyChanging(this, newPropertyChangingEventArgs(propertyName)); oldValue = newValue; PropertyChanged(this, newPropertyChangedEventArgs(propertyName)); returntrue; } } }

  13. PERZISZTENS ADATTÁROLÁS Isolated DataBase [Table] publicclassSampleData: INotifyPropertyChanged, INotifyPropertyChanging { // Kötelező mezők (ID és Version) privateint id; [Column( IsPrimaryKey = true, IsDbGenerated = true, CanBeNull = false, DbType = "INT NOT NULL Identity", AutoSync = AutoSync.OnInsert)] publicint ID { get { return id; } set{ChangeProperty (ref id, refvalue, "ID"); } } [Column(IsVersion = true)] privateBinary version; }

  14. PERZISZTENS ADATTÁROLÁS Isolated DataBase [Table] publicclassSampleData: INotifyPropertyChanged, INotifyPropertyChanging { // Egy példamező privatestring data; [Column] publicstring Data { get { return data; } set{ChangeProperty(refdata, refvalue, "Data"); } } }

  15. PERZISZTENS ADATTÁROLÁS Isolated DataBase // A kontextusosztály publicclassSampleDataContext : DataContext { privateconststringDBConnectionString = "Data Source=isostore:/DataBase.sdf"; publicTable<SampleData> SampleDatas; publicSampleDataContext() : base(DBConnectionString) { if (!this.DatabaseExists()) // Létezik e márazadatbázis this.CreateDatabase(); // Ha mégnemlétezett, akkorlétrekellhozni } }

  16. PERZISZTENS ADATTÁROLÁS Isolated DataBase // Azadatbázishasználata using (vardb = newSampleDataContext()) { // Adatokkiolvasása LINQ-val var query = from data indb.SampleDatas wheredata.Data == "Sample Data" select data; // Újadathozzáadása varsampleData = newSampleData { Data = "Sample Data" }; db.SampleDatas.InsertOnSubmit(sampleData); // FONTOS, hogyeztmeghívjuk db.SubmitChanges(); }

More Related