Application Class no Android: como utilizar

No items found.
31/7/2020
Eduardo Vieira
Eduardo Vieira
Android Developer

Entusiasta de arquitetura, testes e inovação.

Está sem tempo para ler? Aperte o play para escutar o artigo.

A Application Class é uma importante classe no Android. Ela é responsável pela inicialização do aplicativo e é a primeira classe a ser inicializada.

Ela é a “classe processo”, pois é instanciada assim que o aplicativo é acionado e somente uma instância dela permanece em memória enquanto o aplicativo está em execução, em foreground (primeiro plano) ou em background (segundo plano).

Você deve estar pensando: se a classe Application tem uma única instância no app, então é possível obter todas as informações do sistema relativo ao aplicativo, certo?

Então! Digamos que quase isso! Te explico: todos os dados é “muita coisa”, mas algumas informações importante é sim possível obter, por exemplo, o estado atual do consumo de memória do dispositivo.

Mas a classe Application nem é muito utilizada para isso. Ela é útil mais para criação de instância de escopo global para class que precisam ser inicializadas no início da aplicação.

Ou seja, essa instância única é muitas vezes utilizadas como uma espécie de Singleton em projetos de aplicativos Android.


Exemplo de Singleton em application

  • Activity
  • fragment
  • Dialog
  • APIs


No entanto, não podemos generalizar, primeiro você deve verificar se é possível a modularização do código, ou seja, se é possível manter o código Singleton dentro da própria classe que deverá ter a instância única, então mantenha na classe e não em uma subclass Application.

Application Class no Android: tutorial

Para configurar uma subclass Application no aplicativo Android temos que ir até o arquivo AndroidManifest.xml, e adicionar uma atributo “android:name” na tag <application>, vamos colocar o nome da classe que vamos criar (MyApplication).


<?xml version="1.0" encoding="utf-8"?>

<manifest

    ...>

    <application

        ...

        android:name=".MyApplication">

        ...

    </application>

</manifest>


MyApplication.kt


import android.app.Application


class MyApplication: Application() {


override fun onCreate(){

super.onCreate()

//Sua implementação customizada

}


// Chamado pelo sistema quando a configuração do dispositivo muda

// enquanto o componente está em execução.

// A substituição deste método é totalmente opcional!

override fun onConfigurationChanged ( newConfig : Configuration ) {

super.onConfigurationChanged(newConfig)



}

// Isso é chamado quando o sistema geral está com pouca memória,

// e gostaria de executar processos ativamente para apertar seus cintos.

// A substituição deste método é totalmente opcional!

override fun onLowMemory() {

super.onLowMemory()

}

}

Em nosso exemplo podemos ver como uma subclass Application pode ser utilizada.


Conclusão 

Conseguimos aprender como configurar uma custom Application no aplicativo Android. Ainda ficou com alguma dúvida no assunto? Conta pra gente nos comentários!

Veja um um modelo de projeto já implementado no GitHub.

O que você achou deste conteúdo?
Quer receber nossos conteúdos?
Seu cadastro foi efetuado com sucesso! Enviaremos as novidades no seu email.
Oops! Something went wrong while submitting the form.