Vývoj pro Band (3) - správa dlaždic aplikace

13:35 Pepa 0 Comments

V MS Bandu můžete vytvářet nové dlaždice, počet vytvořených dlaždic vaší aplikací je limitován počtem aktuálně volných slotů v náramku (i to lze zjistit v aplikaci).
Takto vytvořené dlaždice lze spravovat, mazat a dále s nimi v rámci aplikace pracovat.

Výpis volných slotů v náramku

try
{
  IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

  if (pairedBands.Length < 1)
  {                //CHYBA
      return;
  }
  using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
  {
     // počet volných slotů
     int tileCapacity = await bandClient.TileManager.GetRemainingTileCapacityAsync();
    output.Text = "Dostupná kapacita dlaždic: " + tileCapacity.ToString();
  }
}
catch (BandException ex)
{ 
  // handle a Band connection exception
} 

Vložení nové dlaždice

try
{
  IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

  if (pairedBands.Length < 1)
  {  
    output.Text = "Nespárován žádný MS Band!";
    return;
  }

  using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
  {
    int tileCapacity = await bandClient.TileManager.GetRemainingTileCapacityAsync();

    if (tileCapacity<1)
    {
      output.Text = "Nedostatečná kapacita volných slotů v náramku!";
      return;
    }
    //přidání dlaždice do Bandu
if (await bandClient.TileManager.AddTileAsync(CreateTile(nazev))) 
    {
      output.Text = "Přidána dlaždice: " + nazev;
    }
  }
}
catch (BandException ex)
{
  output.Text = "zachycena výjimka: " + ex.Message;
}

public BandTile CreateTile(String nazev)
{
  // vytvoření small tile ikony (24x24px)
  WriteableBitmap smallIconBitmap = new WriteableBitmap(24, 24);
  BandIcon smallIcon = smallIconBitmap.ToBandIcon();

  // vytvoření ikony (Band1: 46x46px, Band2: 48x48px)
  WriteableBitmap tileIconBitmap = new WriteableBitmap(46, 46);
  BandIcon tileIcon = tileIconBitmap.ToBandIcon();

  Guid tileGuid = Guid.NewGuid(); //identifikátor

  BandTile tile = new BandTile(tileGuid)
  {
    IsBadgingEnabled = true,   // povolit badging (počet nepřečtených zpráv)
    Name = nazev,
    SmallIcon = smallIcon,
    TileIcon = tileIcon
  };
  return tile;
}

Výpis dlaždic aplikace

try
{
  IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

  if (pairedBands.Length < 1)
  {
    output.Text = "Nespárován žádný MS Band!";
    return;
  }

  using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
  {
    IEnumerable<BandTile> tiles = await bandClient.TileManager.GetTilesAsync();

    output.Text = "Dlaždice:";

    foreach (var item in tiles)
    {
      output.Text += "\n" + item.Name;
    }
  }
}
catch (BandException ex)
{
  output.Text = "zachycena výjimka: " + ex.Message;
}

0 komentářů: