Artigo no estilo: Curso

De que se trata o artigo:

O artigo trata de dois conceitos chaves na plataforma Windows Phone: Launchers e Choosers. O primeiro serve para acionar aplicativos nativos do smartphone. Já o segundo, além disto, retorna uma resposta acerca da tarefa que concluiu. Devido à importância na integração com a plataforma onde está sendo executado, um desenvolvedor de aplicativos mobile deve saber como utilizar estes dois conceitos quando produzir para a nova plataforma da Microsoft. Além disso, a aplicação ficará com uma interface semelhante ao resto do aplicativo, indo de encontro ao estilo pregado pela própria plataforma, o Metro Style.

Em que situação o tema é útil:

É útil para desenvolvedores que desejam produzir aplicativos robustos e com forte integração com o sistema operacional do Windows Phone.

Resumo DevMan:

Neste artigo abordaremos a possibilidade de integração de aplicativos desenvolvidos por terceiros com aplicativos nativos do Windows Phone. Para isso, desenvolveremos um exemplo prático utilizando launchers e choosers, duas tecnologias chaves no desenvolvimento de software para a plataforma Windows Phone. Por fim, iremos analisar diversos trechos de código para entender como utilizar os conceitos apresentados em diferentes situações.

Autores: Ricardo Ogliari e Robison Cris Brito

Com o advento das novas plataformas para desenvolvimento de aplicativos mobile, juntamente com o aumento considerável no poder de hardware dos smartphones, os desenvolvedores passaram a ser mais exigidos pelo mercado. Foi-se o tempo onde existiam somente o Java ME e o Brew. Hoje em dia, para causar impacto com sua criação, é necessário criar um aplicativo complexo, robusto, com uma interface rica e, na maioria dos casos, com uma forte integração com o sistema operacional alvo.

Esta necessidade fica evidente quando analisamos as plataforma mobile mais atuais, principalmente Android e iPhone. Porém, também não podemos esquecer da mais nova desta lista: o Windows Phone.

Um conceito chave ao desenvolvermos projetos para a plataforma Android é o de Intent. Através dela podemos declarar a intenção de efetuar alguma ação no sistema operacional. Este, por sua vez, reenvia este aviso para todos os aplicativos do aparelho. Neste momento, alguma aplicação saberá que poderá tratar de forma correta a intenção mencionada pelo usuário e assume a responsabilidade pela execução da funcionalidades chamada. Veja alguns exemplos abaixo:

• Chamar browser:


  Uri uri = new Uri(“http://www.mobilidadetudo.com”);
  Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

• Efetuar uma ligação:


  Uri uri = new Uri.parse(“tel:99999999”);
  Intent intent = new Intent(Intent.ACTION_CALL, uri); 

• Mostrar todos os contatos da agenda:


  Uri uri = new Uri.parse(“content://com.android.contacts/contacts/”);
  Intent intent = new Intent(Intent.ACTION_PICK, uri); 

Também na programação iOS este tipo de funcionalidade pode ser aplicada. A arquitetura da plataforma permite, de forma fácil, a integração com aplicativos nativos do iPhone, por exemplo. Porém, neste caso o segredo é uma chamada ao método openURL. O que definirá como a integração com o sistema operacional será feita são os parâmetros passados na chamada. Veja dois exemplos abaixo:

• Enviar e_mail:


  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://teste@email.com"]]; 

• Chamada telefônica:


  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://99887766"]]; 

É possível até imaginar a integração com o sistema operacional do smartphone como um dos principais pontos que alavancaram o sucesso das plataformas iOS e Android entre os desenvolvedores. Quem programa para mobile há algum tempo sabe como esta tarefa é extremamente maçante no mundo Java ME e BREW.

Tudo bem, mas ainda não falamos do Windows Phone. A mais recente plataforma do mercado, lançada pela Microsoft para substituir o Windows Mobile, vem ganhando bons comentários de especialistas. Talvez esta impressão seja pelo software ou pela arquitetura de desenvolvimento atraente, porém, não é exagero dizer que a forte integração com o sistema operacional disponível aos desenvolvedores também seja responsável por isso.

Neste artigo vamos dissertar sobre a integração com aplicativos nativos do Windows Phone através do desenvolvimento de um software básico, porém, bastante esclarecedor ao usuário. Além disso, vamos analisar diversos trechos de código-fonte para entender como utilizar os conceitos aqui apresentados em diferentes situações.

Launchers e Choosers

No desenvolvimento para a plataforma Windows Phone, a integração com o sistema operacional e com os aplicativos nativos se dá através de dois conceitos importantíssimos: Launchers e Choosers. Ambos vão disparar uma ação que o Windows Phone vai interceptar e tratar da melhor forma possível. A diferença essencial é que no Chooser, o desenvolvedor receberá algumas informações como retorno da ação, já no Launcher não. Depois que a ação é executada o usuário voltará para seu aplicativo sem que seu código receba alguma informação disto.

Um bom exemplo de Launcher é efetuar uma ligação. Ao chamar esta tarefa, o sistema operacional vai acionar o aplicativo nativo responsável por esta ação. Depois que a chamada foi encerrada o aplicativo volta a receber o foco, o controle da operação. Porém, seu código não vai receber nenhuma informação como, por exemplo: status da chamada, tempo de duração, dentre outros.

Já um bom exemplo de Chooser pode ser a escolha de uma imagem diretamente na galeria de fotos do aparelho. Quando esta tarefa é acionada novamente, o controle passa para um aplicativo nativo do smartphone. Porém, quando o usuário selecionar uma imagem, seu aplicativo receberá uma informação de retorno, onde poderemos saber efetivamente que foto foi escolhida e poder utilizá-la em nosso aplicativo.

Para solidificar estes conceitos vamos, inicialmente, desenvolver uma solução que fica bem próxima de um aplicativo real que poderia até ser completado pelo leitor de alguma forma e ser submetido à loja de aplicativos do Windows Phone. Posteriormente, vamos trabalhar com exemplos de códigos mais simples, porém, que exemplificarão todas as formas de uso de Launchers e Choosers.

O primeiro aplicativo

Nosso primeiro aplicativo fará uma rota no Bing entre dois amigos escolhidos na sua agenda. Ou ainda, entre a posição do usuário e um contato escolhido por ele próprio. Porém, esta última funcionalidade não será implementada neste artigo. Fica como um desafio ao leitor (fica a dica - http://windowsphonegeek.com/articles/Understanding-the-Windows-Phone-Location-Service-How-to-Get-Current-GPS-coordinates). Veja na ...

Quer ler esse conteúdo completo? Tenha acesso completo