Aplicações para Windows Phone

A componente de mobilidade está em expansão acelerada no nosso País e em todo o Mundo! Cada vez mais utilizamos os nossos smartphones para diferentes fins e tarefas e, como não poderia deixar de ser, a componente geográfica marca uma forte presença.

De modo a acompanhar esta tendência, e tendo em conta as diferentes preferências e necessidades de cada um, a Esri oferece diferentes aplicações e pacotes de desenvolvimento de software (SDK).

 

01020304

 

Neste post anterior falei-vos da aplicação para iPad, agora falo-vos do mais recente SDK da Esri, o ArcGIS for Windows Phone.

No página do ArcGIS for Windows Phone encontram diversos samples que podem usar para construírem as vossas aplicações nesta nova geração de smartphones. Analogamente à página da ArcGIS API for Microsoft Silverlight/WPF (sobre esta api podem obter mais informações neste post) podem fazer download do código XAML e também do code-behind em C#.

Um aspecto interessante nesta página é a possibilidade de interagirem com os samples como se estivessem a usar um Windows Phone,

 

image

Multi Value Dictionary Objects

Por vezes uma colecção de objectos, implementando a interface ICollection, não é suficiente. Refiro-me por exemplo à necessidade de agrupar uma colecção de objectos a uma determinada chave, algo que só o Dictionary consegue fazer  … mas pouco!

Enquanto que se fizermos algo como :

Object obj = new Object;
MyObjectCollection objCOL = new ObjectCollection();
objCOL.Add(obj);

conseguimos obter uma lista de objectos numa mesma colecção, se tivermos dezenas de colecções e pretendermos devolver a colecção X, não é trivial.

O Dictionary até pode vir ajudar:

Dictionary<string, object> dict = null;
dict = new Dictionary<string,object>();
dict.Add(key, obj);

e ficamos assim com um objecto armazenado numa posição nomeada key, no Dictionary. Mas aí está: não é uma colecção de objectos numa mesma posição do Dictionary.

Ok. Poderíamos fazer algo como:

MyObjectCollection objCOL = new ObjectCollection();
objCOL.Add(obj);
dict.Add(key, objCOL);

e aí teríamos uma colecção numa dada posição do Dictionary.

Pessoalmente, prefiro algo como

MultiValueDictionary mvd = new MultiValueDictionary();
mvd.Add(key, obj);
mvd.Add(key, obj);
mvd.add(key, objCOL);

…. And so on….

Bastante mais simples, e mais prático. Até porque conseguimos enumerar o Dictionary todo, e devolver os objectos todos de cada uma das chaves/posição do Dictionary.

Continuar a ler