Estas três classes Android combinadas são um poderosa ferramenta na mão do desenvolvedor, usadas com inteligência, podem trazer grandes benefícios nas duas pontas da relação usuário aplicativo.
Para o desenvolvimento de uma aplicação que se comunique com o usuário é imprescindível a utilização de notificações periódicas para que ele saiba que o aplicativo existe e todo o projeto não caia no esquecimento, também é possível agendar coleta de dados para identificar deslocamento entre outras possibilidades.
A grande questão é como fazer essas classes trabalharem juntas ao seu favor. Existem muitos bons materiais publicados na web, inclusive serão utilizados para aprofundar as informações aqui prestadas. A grande dificuldade é encontrar um exemplo completo, por este motivo esta postagem foi criada.
Em resumo será criado uma Activity principal e duas BroadCasts, uma denominada Boot e outra Alarme. É possível analisar o diagrama de classes do exemplo logo abaixo:
As classes, Alarme e Boot, são extensões da super-classe Broadcast herdando assim todas as suas características. Assim como, a classe Main estende a super-classe Activity. O relacionamento entre as classes Alarme e Boot com a Main é de agregação pois, mesmo depois de destruída a Activity Main o alarme ficará ativo e cada vez que o sistema é reiniciado a classe Boot vai receber a informação de forma independente.
Assim que instalado, no emulador ou em um aparelho, e inicializado o exemplo apenas mostrará uma tela branca com um label: Testar Alarme no centro como mostrado abaixo.
A partir do momento que o S.O. é reinicializado o um sinal de BroadCast (BOOT_COMPLETED) é enviado pelo sistema e a classe Boot o recebe e arma o Alarme para notificar o sistema na inicialização e a cada dez segundo a contar daí. A classe Boot é mostrada abaixo:
A cada alarme é disparado outro sinal de BroadCast (ALARME) o qual a classe Alarme recebe e roda a notificação. A classe Alarme é mostrada abaixo:
A maior dificuldade no entendimento do funcionamento é que somente com um sinal de BroadCast enviado o sistema não funcionará corretamente. O detalhe é que são dois sinais e que outros sistemas podem receber e enviar múltiplos sinais. Abaixo é possível verificar o Manifest do exemplo:
Foram pedidas a permissões para cada ação que o exemplo utiliza, vibrar e ser informado sobre o Boot do S.O. Também é possível notar que existem dois receivers um para cada comunicação, do Alerta e do Boot.
E finalmente a classe Main é mostrada abaixo:
Caso exista a necessidade de aprofundamento nos tópicos exibidos aqui existem estes vídeos explicativos muito bons.
Nenhum comentário:
Postar um comentário