Dátový model pre aplikácie Grid App a Split App

Šablóny projektu Grid App a Split App obsahujú zložku DataModel. Ako vyplýva z názvu, obsahuje triedy tvoriace dátový model a metódy ktoré generujú údaje pri behu aplikácie a aj pri jej návrhu. Po vytvorení projektu sú všetky triedy tvoriace dátový model aplikácie v súbore SampleDataSource.cs / vb / cpp. Statické údaje sú v súbore SampleData.json.

JSON(JavaScript Object Notation) je štruktúra, ktorá je dobre čitateľná pre človeka aj počítač. Je to textový formát, ktorý je nezávislý od jazyka. Používa voľné konvencie jazykov rodiny C, no v zásade je jazykovo nezávislý a podporuje ho väčšina programovacích jazykov. Údaje vo formáte JSON môžu obsahovať atribúty typu String, Boolean, Array, Object, Number a Null

Ukážkové údaje obsahujú statické dáta vo forme textových reťazcov. Vo výpise je skrátená ukážka:

{“Groups”:[

{

“UniqueId”: “Group-1”,

“Title”: “Group Title: 1”,

“Subtitle”: “Group subtitle: 1”,

“ImagePath”: “Assets/DarkGray.png”,

“Description” : “Group Description: Lorem ipsum dolor “,

“Items”:

[

{

“UniqueId”: “Group-1-Item-1”,

“Title”: “Item Title: 1”,

“Subtitle”: “Item Subtitle: 1”,

“ImagePath”: “Assets/LightGray.png”,

“Description” : “Item Description: Pellentesque porta, .”,

“Content” : “Curabitur class aliquam vestibulum nam curae”

},

{

“UniqueId”: “Group-1-Item-2”,

“Title”: “Item Title: 2”,

“Subtitle”: “Item Subtitle: 2”,

“ImagePath”: “Assets/DarkGray.png”,

“Description” : “Item Description: Pellentesque “,

“Content” : “Curabitur class aliquam vestibulum”

},


Vašou úlohou podľa zamerania aplikácie je:

  • v prípade statickej aplikácie zmeniť štruktúru údajov podľa potrieb aplikácie a nahradiť vzorové údaje reálnymi. Statické údaje si aplikácia “nesie so sebou”. Takto je možné prezentovať údaje ktoré sa časom nemenia, napríklad vtipy, citáty, kuchárske recepty a podobne
  • v prípade dynamickej aplikácie, ktorá pracuje s aktuálnymi údajmi z webu je potrebné pripojiť aplikáciu na zdroj údajov. Tento model použijete ak bude aplikácia prezentovať správy o počasí, blogové príspevky, tweety a podobne

V prípade použitia dynamických údajov z webu, musí byť statický dátový model nahradený dynamickým, inak povedané dátový model obsahuje len definície štruktúr údajov a ich prípadné konverzie. Samotné údaje si aplikácia po každom spustení načíta z internetu, napríklad vo formáte JSON, RSS, XML, či v špeciálnom formáte definovanom pre konkrétnu aplikáciu. Prechod na dynamický zdroj údajov si vyžaduje len pridanie asynchrónnej metódy na ich načítanie a prípadnú zmenu atribútov tried, ktoré tvoria dátový model.

Aplikácie vytvorená podľa šablón Grid App s Split App predpokladajú že jednotlivé položky údajov budú hierarchicky usporiadané v skupinách, pričom skupiny a položky sú na úrovni dátového modelu vnútorne prepojené.

Pri návrhu používateľského rozhrania je potrebné zabezpečiť, aby názvy atribútov dátového modelu korešpondovali s objektami pre ich zobrazenie.

Triedy dátového modelu

Súbor SampleDataSource po vytvorení projektu podľa šablón Grid App s Split App obsahuje dve triedy:

SampleDataItem

public class SampleDataItem

{

public SampleDataItem(String uniqueId, String title, String subtitle,

String imagePath, String description, String content)

{

this.UniqueId = uniqueId;

this.Title = title;

this.Subtitle = subtitle;

this.Description = description;

this.ImagePath = imagePath;

this.Content = content;

}

 

public string UniqueId { get; private set; }

public string Title { get; private set; }

public string Subtitle { get; private set; }

public string Description { get; private set; }

public string ImagePath { get; private set; }

public string Content { get; private set; }

 

public override string ToString()

{

return this.Title;

}

}

 

SampleDataGroup

public class SampleDataGroup

{

public SampleDataGroup(String uniqueId, String title, String subtitle,

String imagePath, String description)

{

this.UniqueId = uniqueId;

this.Title = title;

this.Subtitle = subtitle;

this.Description = description;

this.ImagePath = imagePath;

this.Items = new ObservableCollection<SampleDataItem>();

}

 

public string UniqueId { get; private set; }

public string Title { get; private set; }

public string Subtitle { get; private set; }

public string Description { get; private set; }

public string ImagePath { get; private set; }

public ObservableCollection<SampleDataItem> Items { get; private set; }

 

public override string ToString()

{

return this.Title;

}

}

 

Poznámka: V porovnaní so šablónami Grid a Split aplikácií pre Windows 8 bola dátová štruktúra podstatne zjednodušená a sprehľadnená. Dátový model pre Windows 8 obsahoval štyri triedy: SampleDataCommon, SampleDataItem, SampleDataGroup a SampleDataSource. Triedy SampleDataGroup a SampleDataSource boli odvodené od bázovej triedy SampleDataCommon. Rozširovali triedu SampleDataCommon pridaním ďalších vlastností, ktoré mala len skupina, a v druhom prípade len objekty skupiny.

Trieda SampleDataSource vytvára kolekciu skupín položiek buď s pevne daným statickým obsahom, alebo dynamickými údajmi. Ak sa Inicializuje s údajmi zástupných symbolov a nie s živými prevádzkovými údajmi tak bude poskytovať údaje nielen pri spustení, ale aj počas návrhu.

Ak sa pripájate k dynamickému zdroju údajov a webe, ktoré možno nie sú v okamihu návrhu k dispozícii, alebo sa nenačítajú dosť rýchlo, môžete použiť nasledujúcu programovú konštrukciu, ktorá poskytne v dobe návrhu vzorové údaje, aby ste videli ich grafickú interpretáciu.

public SampleDataSource()

{

if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)

{

//načítanie reálnych údajov

}

else

{

//vzorové údaje zobrazené počas návrhu

}

}

 

Údaje sú umiestnené v objektoch typu ObservableCollection

private ObservableCollection<SampleDataGroup> _groups =

new ObservableCollection<SampleDataGroup>();

 

public ObservableCollection<SampleDataGroup> Groups

{

get { return this._groups; }

}

Reklamy

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s


%d bloggers like this: