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 a statické údaje tvoriace dátový model aplikácie v súbore SampleDataSource.cs / vb / cpp. Vašou úlohou podľa zamerania aplikácie je nahradiť vzorové statické údaje reálnymi, alebo pripojiť aplikáciu na zdroj dynamických údajov.

Statické a dynamické údaje

Prvý prípad, teda statické údaje, ktoré si aplikácia “nesie so sebou” prichádza do úvahy vtedy ak bude fungovať zo statickým zdrojom údajov. Takto je možné prezentovať údaje ktoré sa časom nemenia, napríklad vtipy, citáty, kuchárske recepty a podobne. Ak bude aplikácia prezentovať správy o počasí, blogové príspevky, tweety a podobne, 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ú logicky 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.
vlastností patriacich k vašim vlastným dátam boli mapované na názvy vlastností, ktoré táto šablóna používa. Názvy používané touto šablónou môžete zmeniť, ale vyžaduje to prejsť väčšiu časť kódu. V tejto téme si ukážeme pár príkladov, ako na to.

Triedy dátového modelu
Súbor SampleDataSource po vytvorení projektu podľa šablón Grid App s Split App obsahuje štyri triedy:

  • SampleDataCommon,
  • SampleDataItem,
  • SampleDataGroup
  • SampleDataSource

triedy SampleDataItem a SampleDataGroup rozširujú triedu SampleDataCommon.

public abstract class SampleDataCommon : GridApp2.Common.BindableBase …
public class SampleDataItem : SampleDataCommon…
public class SampleDataGroup : SampleDataCommon …

SampleDataCommon – obsahuje vlastnosti spoločné pre skupiny aj položky. Zahŕňajú členské premenné pre unikátne ID, názov, podtitul, popis a obrázok. V originálnej terminológii sa jedná o atribúty UniqueId, Title, Subtitle, ImagePath a Description. Trieda je odvodená od BindableBase, ktorá je definovaná v zložke Common, v súbore BindableBase. Cs |. Vb |. Cpp |. H a implementuje metódy triedy INotifyPropertyChanged.

SampleDataItem rozširuje triedu SampleDataCommon pridaním ďalších vlastností, ktoré majú len objekty skupiny, ale nemá ich skupina ako taká. Obsahuje aj atribút príslušnosti k skupine.

SampleDataGroup rozširuje triedu SampleDataCommon o vlastnosti, ktoré má skupina, ale nemajú ich objekty. Predovšetkým je to kolekcia položiek s výstižným názvom Items a TopItems, ktorá zapuzdruje len 12 objektov, ktoré sa v aplikácii typu Grid App zobraznia na hlavnej stránke v každej kategórii. Napríklad 12 posledných blogových príspevkov a podobne.

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<SampleDataItem> _items = new
ObservableCollection<SampleDataItem>();
public ObservableCollection<SampleDataItem> Items
{
  get { return this._items; }
}

Ukážkové údaje po vytvorení projektu obsahujú statické dáta sú vo forme textových reťazcov.

public SampleDataSource()
{
String ITEM_CONTENT = String.Format(“Item Content:
{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}”,
“Curabitur class aliquam …”);
var group1 = new SampleDataGroup(“Group-1”,
“Group Title: 1”,
“Group Subtitle: 1”,
“Assets/DarkGray.png”,
“Group Description: Lorem ipsum dolor sit amet..”);

group1.Items.Add(new SampleDataItem(“Group-1-Item-1”,
“Item Title: 1”,
“Item Subtitle: 1”,
“Assets/LightGray.png”,
“Item Description: Pellentesque porta, mauris quis interdum …”,
ITEM_CONTENT,
group1));

this.AllGroups.Add(group1);

}

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: