Artigo no estilo: Curso

De que se trata o artigo:

Nesta segunda parte do artigo, apresentaremos mais recursos da nova versão do Android. Abordaremos a integração com serviços de agendamento de tarefas, novos componentes de interface gráfica e a vasta gama de possibilidades multimídia e de comunicação trazidas por essa nova versão da plataforma.


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

Ao conhecermos as novidades da plataforma, podemos usufruir desses novos recursos empregando-os em nossos aplicativos Android. Além disso, poderemos refletir e vislumbrar novas possibilidades na programação para dispositivos móveis que rodam o SO do Google.

Resumo DevMan:

A plataforma evolui a passos largos a cada nova versão. A versão atual traz, entre outras funcionalidades: novos componentes de interface gráfica e layouts; integração com calendários corporativos; e permite que aplicativos de redes sociais complementem informações dos contatos do aparelho com os dados de uma rede social. Isso sem contar com os recursos multimídia e de comunicação direta entre aparelhos via Wi-Fi. Nesse artigo, apresentaremos os benefícios que essa nova versão do Android pode oferecer para os desenvolvedores e suas aplicações.

Autores: Bruno Vinicius e Nelson Glauber de Vasconcelos Leal

Na primeira parte desse artigo, começamos a falar sobre o lançamento do Android 4, denominado Ice Cream Sandwich (ou simplesmente ICS), e seus novos recursos para os desenvolvedores. Também mostramos recursos já disponíveis nos tablets Android 3 (Honeycomb), e que agora também estão disponíveis nos smartphones. Dentre eles, abordamos: notificações ricas, onde podem ser exibidos avisos para o usuário de uma maneira mais amigável; App Widgets redimensionáveis e que exibem conteúdo em forma de lista na tela principal dos dispositivos; e a aceleração de hardware, que traz uma melhoria significativa no desempenho de aplicações que utilizam mais recursos gráficos, como jogos.

Nessa segunda parte, vamos abordar recursos exclusivos do ICS, como: a integração com agenda de compromissos; a possibilidade de aplicações de redes sociais complementarem informações dos contatos do aparelho com os dados do perfil da rede social; novos componentes visuais como o GridLayout e o Switch; e por fim, falaremos dos novos recursos multimídia e de conectividade, como o Wi-Fi Direct e o Bluetooth Health.

Acesso a API de calendário

Nesta nova versão, é possível criar aplicações que interajam com a aplicação de calendário nativa dos aparelhos Android, que permite o controle e agendamento de eventos. Esses eventos normalmente estão ligados a uma conta Exchange ou Google Calendar, por exemplo. O compartilhamento dos dados é feito através de um Content Provider, um recurso do próprio Android para compartilhar um banco de dados de uma aplicação com os demais aplicativos do SO. Com ele, é possível gerenciar eventos agendados em uma ou várias contas de calendário que estejam cadastradas no aparelho.

Para testarmos os exemplos que mostraremos a seguir, devemos ter uma conta de calendário cadastrada no aparelho. Aqui, usaremos uma conta do Hotmail. Assim, execute o emulador do Android 4 e, em seguida, abra a aplicação de Calendário. Pressione a tecla Menu e depois selecione Settings. Na tela que for exibida, selecione Add Account na parte superior direita. Feito isso, será apresentada a tela da Figura 1, então informe seu e-mail e senha e clique em Next.

Figura 1. Tela de configuração de conta Exchange.

Neste momento, será exibida a tela da Figura 2. Preencha com seus dados e com as opções apresentadas na imagem e depois clique em Next. Uma tela com mais algumas configurações de sincronização será carregada. Pode deixá-la com as alternativas padrão e clicar em Next. Enfim, a tela de confirmação será apresentada. Clique em Next e sua conta Exchange estará configurada.

Figura 2. Tela de configuração de conta Exchange.

Uma vez que estamos com a conta configurada, vamos ver como interagir com ela. Iniciaremos mostrando como inserir um evento utilizando a própria aplicação de calendário, e em seguida, faremos essa interação com o provedor de conteúdo (Content Provider) que ela disponibiliza.

O código da Listagem 1 mostra como abrir a aplicação de calendário para inserir um novo evento. Começamos criando uma Intent com a ação android.intent.action.INSERT, passando o tipo vnd.android.cursor.item/event, que funciona como um MIME TYPE de um evento (reunião, compromisso, etc.) para o Content Provider de Calendário. Depois, passamos uma série de parâmetros para preencher alguns campos do evento que iremos inserir no calendário, como: Título (linha 3), Local (linha 4), Hora Inicial e Final (linhas de 5 a 8), Nível de Acesso (linha 9) e as repetições desse evento (linha 11). Este último é o mais “complexo”, pois se trata de uma String que obedece a um padrão bem interessante:

• FREQ=WEEKLY – define que o evento se repete semanalmente;

• COUNT=4faz com que o evento se repita por quatro vezes;

• BYDAY=TU,THpossibilita que o evento fique atrelado a dias da semana. No nosso caso, terça (TUesday) e quinta (THursday).

Deste modo, nosso evento terá quatro ocorrências, sendo agendado para ser executado semanalmente, nas terças e quintas. Logo, o evento terá a duração de duas semanas.

Listagem 1. Intent para inserir um compromisso na Agenda.


  1.  Intent it = new Intent(Intent.ACTION_INSERT);
  2.  it.setType("vnd.android.cursor.item/event");
  3.  it.putExtra(Events.TITLE, "Reunião com Cliente");
  4.  it.putExtra(Events.EVENT_LOCATION, "Escritório");
    
  5.  GregorianCalendar calendario = new GregorianCalendar(2011, 10, 30, 8, 0);
  6.  it.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, 
        calendario.getTimeInMillis());
   
  7.  calendario.add(Calendar.HOUR_OF_DAY, 1);
  8.  it.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, 
        calendario.getTimeInMillis());
    
  9.  it.putExtra(Events.ACCESS_LEVEL, Events.ACCESS_PRIVATE);
  10. it.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
  11. it.putExtra(Events.RRULE, "FREQ=WEEKLY;COUNT=4;BYDAY=TU,TH");
    
  12. startActivity(it); 

Ao executarmos o código da Listagem 1 a aplicação de calendário será invocada exibindo a tela mostrada na Figura 3. Clique em Done e o evento (na sequência que informamos) será criado.

Figura 3. Aplicação de Calendário com informações da Intent.

Além de abrir a aplicação de calendário para inserir um evento, a nova versão do Android permite fazê-lo diretamente do nosso programa. Ou seja, também é possível listar, excluir e editar eventos através do Content Provider disponibilizado pela aplicação de calendário.

...

Quer ler esse conteúdo completo? Tenha acesso completo