Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo

O artigo trata dos Background Agents, muito utilizado para realizar tarefas em background, por exemplo, sincronizar dados entre o celular e um banco de dados online, sem que o usuário tenha que realizar alguma ação no dispositivo. Além disso, também será abordado como trabalhar com celulares que tenham apenas 256 MB de RAM, estes que são os novos modelos (de baixo custo) do mercado.

Em que situação o tema é útil

O tema é útil quando for necessário criar tarefas em background para sua aplicação. Além disso, será realizado um overview nos tipos de background agents existentes na plataforma do Windows Phone 7. No final, será explanado como identificar a quantidade de memória RAM de um celular. Este último é muito importante, principalmente para manter a compatibilidade com todos os dispositivos que sua aplicação será utilizada.

Resumo do DevMan

O Windows Phone 7 tem se destacado bastante por sua facilidade de desenvolvimento, principalmente pelo fato de utilizar a plataforma .NET em conjunto com as principais linguagens da mesma, como C# e VB.NET. O objetivo deste artigo é ir mais além aos seus recursos, que é a criação de tarefas em background. Para que isso seja possível, existem classes exclusivamente para este fim. Cada uma possui uma característica diferente (que serão abordadas no decorrer deste artigo). Além disso, para que você não tenha problemas ao rodar este tipo de aplicação, também é possível verificar o hardware que a mesma está rodando, pois independente do sistema operacional ser o Windows Phone 7, não existe a garantia da compatibilidade da aplicação.

Para quem já desenvolveu aplicações ou mesmo apenas testou alguns exemplos, sabe bem como é fácil o desenvolvimento para Windows Phone. Quem vem do .NET se sentirá em casa e sairá escrevendo código. Está tudo lá: WCF, C#, XAML. Mais do que apenas criar um ambiente familiar e simples, a Microsoft criou um conjunto de APIs extremamente rica, que dá ao desenvolvedor muitas possibilidades de desenvolvimento sem precisar escrever código ou mesmo sem precisar ir ao “baixo nível” e entender conceitos muitas vezes complicados. Ao mesmo tempo, o Windows Phone é um sistema extremamente seguro e fechado, bloqueando a escrita de código malicioso e, melhor ainda, a instalação/execução de códigos desse tipo.

Dito isso, fica fácil perceber que nem tudo pode ser criado no Windows Phone. Cada aplicativo tem seu “mundo” e você não pode simplesmente acessar diretamente drivers do telefone, file system, dados de outros aplicativos. Para tudo isso, há um modo. Por exemplo, para acessar os contatos e a câmera você usa um set de APIs chamados Launchers e Choosers. Para salvar dados de seu aplicativo, usará um Isolated Storage, um ambiente específico da sua aplicação, no qual você pode ler e escrever dados que serão acessíveis somente da sua aplicação.

Nota do DevMan

Launchers e Choosers são um conjunto de API´s disponibilizadas pelo Windows Phone para que os desenvolvedores possam realizar tarefas que interagem com recursos fechados do sistema operacional (ex: câmera, browser etc.). Os Launchers e Chooser são API´s fundamentais para que o desenvolvedor tenha acesso de forma fácil, rápida e prática a esses recursos, como realizar ligações em sua aplicação, salvar uma imagem no Hub de fotos, entre diversas outras tarefas.

Os Background Agents

O agente de background é utilizado para que possamos executar ações mesmo quando o aplicativo não está sendo usado. Note que, no Windows Phone, não há o conceito de tarefas sendo executadas constantemente, como no seu Windows do desktop. Em resumo, admitindo que não existam esses agentes, assim que o usuário fechar seu aplicativo, tudo irá parar. Nada mais é executado. Então, imagine o cenário: o usuário utiliza seu aplicativo desconectado da internet por um período longo. Ele salvou uma informação localmente no telefone. Você precisa que essa informação seja enviada ao servidor. Você só conseguirá fazer essa informação “subir” para a nuvem quando o usuário voltar a usar seu aplicativo. Isso acontece, pois não há como executar uma tarefa sem executar o aplicativo. Então a única forma seria esperar o usuário voltar ao seu aplicativo, validar o que está localmente, fazer o upload. Não há garantias de tempo, de finalização, pois o usuário pode simplesmente entrar e sair da aplicação em poucos segundos. É para isso que os agentes de background existem.

...
Quer ler esse conteúdo completo? Tenha acesso completo