Android 4: Ice Cream Sandwich - Parte 1
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=4 – faz com que o evento se repita por quatro vezes;
• BYDAY=TU,TH – possibilita 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.
...Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.