AlarmManager no Android, Sua APP Executando Em Tempos Definidos
(17272) (51)
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
CategoriaEngenharia de Software
Autor(es)Vaughn Vernon
EditoraAlta Books
Edição1ª
Ano2024
Páginas160
Tudo bem?
No vídeo acima é apresentada uma maneira de como gerar alarmes no Android utilizando a classe AlarmManager e outros componentes complementares, para uma tarefa de alarme bem sucedida.
Note que o foco de apresentação da AlarmManager no vídeo não é no contexto de "alarmes de relógios", algo já oferecido pelos dispositivos móveis com o sistema Android e também possível com a AlarmManager.
O foco do projeto em vídeo é no contexto de "alarmes que vão permitir que uma aplicação Android realize alguma tarefa em background", isso, tarefa em background, sem o conhecimento do usuário e sem a necessidade de o aplicativo estar aberto, em primeiro plano (foreground).
Alias, o trabalho com AlarmManager no background é uma das maneiras de permitir que nós desenvolvedores possamos, por meio de atualizações no servidor Web e com o auxílio de notificações push, notificar os usuários de nossos aplicativos quando algo novo ou importante estiver disponível.
No vídeo acima foram utilizadas também as classes BroadcastReceiver e Notification para dar mais ênfase sobre como a classe AlarmManager é comumente utilizada.
Fique atento quanto ao método cancel() de AlarmManager, pois, como falo no vídeo, liberar recursos é extremamente importante no sistema Android devido a limitação de memória que os aplicativos têm - ajuda a evitar vazamento de memória e o temido OutOfMemoryException.
Sobre o conteúdo do vídeo eu termino por aqui, mas é de extrema importância que você desenvolvedor Android, independente de seu nível, estude por completo o tópico Execuções em background no Android logo abaixo.
Antes de finalizar deixo alguns bons links de outros artigos aqui do Blog, com vídeos, que lhe colocarão em dia com o que há de novo no desenvolvimento de aplicativos Android:
- Kotlin Android, Entendendo e Primeiro Projeto;
- Android Studio: Instalação, Configuração e Otimização;
- Android Mobile-Commerce, Apresentação e Protótipo do Projeto.
E caso você tenha o desejo de aprender a desenvolver apps Android, ou apenas evoluir nesta área, também com os conteúdos gratuitos do Blog, então não deixe de acessar a lista de estudos em: Estudando Android - Lista de Conteúdos do Blog.
E também não esqueça de se inscrever 📫 na lista de e-mails do Blog para receber os conteúdos de desenvolvimento Android em primeira mão... e também as versões em PDF desses conteúdos (versões em PDF são liberadas somente aos inscritos da lista de e-mails).
Se inscreva também no canal do Blog no YouTube para acompanhar as últimas novidades disponibilizadas em vídeo.
Surgindo dúvidas ou dicas, pode enviar abaixo na área de comentários que logo eu lhe retorno.
Obs. : o link para download do projeto apresentado em vídeo se encontra logo abaixo no artigo, na seção "Download".
Execuções em background no Android
É muito importante você saber que na época em que este artigo e o vídeo foram construídos as regras de negócio no Android, em relação a segurança de dados e em relação ao tempo de vida da bateria do aparelho, eram bem menos críticas do que são atualmente.
Ok, Thiengo. Mas por que você está me informando isso?
Porque desde a versão 6 do Android, também conhecida como Android Marshmallow, a execução de tarefas em background não é nada simples, é preciso, como melhor estratégia, adaptar os algoritmos do aplicativo, aqueles que têm de executar em background, às regras de execução em segundo plano.
Alguns desenvolvedores tentam "forçar" alguma maneira para conseguir continuar com execuções em background nos tempos estipulados em fase de projeto, por exemplo: execuções de 5 em 5 minutos.
Mesmo que você consiga isso, você está assumindo um risco grande em seu app, pois ele pode ser removido tanto dos aparelhos em que está instalado como também da Google Play Store.
Mas por que?
Porque certamente essa execução de 5 em 5 minutos estará consumindo consideravelmente a bateria de aparelhos Android, algo que hoje, nas regras de negócio deste sistema operacional, é inadmissível.
Para você conseguir uma melhor estratégia e adequação de seu aplicativo Android a execuções em background, eu fortemente recomendo que você destrinche os links a seguir:
- Limites da execução em segundo plano;
- Otimizar para o Soneca e o App em espera;
- Schedule tasks with WorkManager (este esta em inglês).
Todos os links indicados são da documentação oficial e os dois primeiros e mais importantes estão em português do Brasil.
Abraço.
Eclipse IDE vs Android Studio IDE
Apesar de o conteúdo da vídeo aula acima estar utilizando o Eclipse IDE 😱, tudo que é apresentado, tanto a parte teórica quanto a parte prática, é ainda válido nos dias de hoje com o desenvolvimento Android utilizando o Android Studio 😁.
Ou seja, independente da linguagem oficial (Java, Kotlin, C ou C++), IDE ou framework que você esteja utilizando, o conteúdo acima é ainda muito útil.
AndroidX
Apesar do conteúdo sobre a API AlarmManager ainda estar atual e ser importante para qualquer nível de desenvolvedor Android.
Apesar disso eu também recomendo, assim que finalizado o projeto em sua própria instalação de IDE, que você o migre para o AndroidX.
Algo que pode ser feito com poucos cliques, como apresentado no tutorial a seguir: Migrar para o AndroidX.
Fontes
AlarmManager - documentação oficial Android
TimeManager - documentação oficial Android
Classe Intent e o Conceito de Pilha em Android
Service no Android, Entendendo e Utilizando
APIs para processamento em background, Android-Arsenal
Comentários Facebook