Sobes.tech
Junior — Middle

Como adquirir uma mensagem no thread principal usando Handler e Looper?

sobes.tech IA

Resposta da IA

No Android, para processar mensagens no thread principal (UI), usa-se a classe Looper, que cria um ciclo de processamento de mensagens, e Handler, que coloca as mensagens na fila desse Looper.

Para obter uma mensagem no thread principal:

  1. No thread principal, chama-se Looper.getMainLooper(), que retorna o Looper do thread principal.
  2. Cria-se um Handler associado a esse Looper:
Handler handler = new Handler(Looper.getMainLooper()) {
    @Override
    public void handleMessage(Message msg) {
        // Processamento da mensagem no thread principal
    }
};
  1. Mensagens ou objetos Runnable podem ser enviados a esse Handler, e eles serão processados no thread principal.

Assim, Handler e Looper fornecem um mecanismo de fila e processamento de mensagens no thread principal, permitindo atualizar a UI de forma segura de outros threads.