Arquivos de Março, 2015

As novidades de Android 5.1 sob a perspectiva de desenvolvimento

Na última quarta feira (9/3/2015) o google anunciou uma nova atualização da plataforma Android: o Android 5.1. Os telefones nexus já estão recebendo a atualização! Você pode ver o anúncio aqui.

Mas o que muda para os desenvolvedores de aplicações?

Apesar de ser apenas uma atualização da versão 5.0 (Lollipop), foram feitas 3 alterações importantes nas APIs acessíveis aos desenvolvedores:

  • AndroidHttpClient foi marcado como deprecated, reafirmando a intenção do Google de dar suporte apenas ao URLConnection, como já dito aqui.
  • Novas permissões para aplicativos de operadoras: Os aplicativos assinados com a chave específica da operadora (carrier) agora tem mais privilégios, como por exemplo capturar eventos de SMS com maior prioridade usando o CarrierMessagingService.
  • Por fim, a maior mudança: foi adicionado suporte nativo a telefones com dois ou mais sim cards (Multiple SIM)

O suporte a Multiple SIM é especialmente importante para nós, desenvolvedores brasileiros, visto a grande quantidade de telefones com …

Criando um Service em Android

Um dos principais componentes de uma aplicação Android são os Services.

Assim como as Activities, os Services são componentes fundamentais em um aplicação, possuindo ciclo de vida próprio. Porém, são diferentes das Activities nos seguintes pontos:

  • Não possuem interface com o usuário.
  • Sua execução continua mesmo quando o usuário inicia outra aplicação.

Por conta dessas características, os Services são geralmente utilizados para realizar tarefas de sincronização (com um servidor, por exemplo) podendo ter sua execução agendada e não dependendo de nenhuma ação do usuário. Por isso, são chamados de componentes de background.

 

Tipos de Serviços

Existem dois principais tipos de serviços:

  • Started (unbounded): são serviços iniciados através de outros componentes (activities, por exemplo) através do método startService(). Após o seu início, o serviço pode continuar sendo executado indefinidamente.
  • Bounded: são serviços iniciados através do método bindService(). Os Bound Services interagem com os outros componentes através de uma interface cliente-servidor, que