Conhecendo as estruturas de apps Android: atividades, fragmentos e broadcast receivers

2. Respondendo a alterações de conectividade de rede:

  • Broadcast Receiver pode detectar alterações na conexão com a Internet (ACTION_CONNECTIVITY_CHANGE).
  • Exemplo: Exibe uma mensagem quando um dispositivo perde uma conexão com a Internet.

3. Respondendo a mensagens SMS recebidas:

  • Broadcast Receiver pode detectar mensagens SMS recebidas (ACTION_SMS_RECEIVED).
  • Exemplo: Exiba notificações ou processe mensagens SMS automaticamente.

5. Service: Processo em segundo plano sem interface do usuário

Service é um componente essencial em um aplicativo Android que permite executar tarefas em segundo plano sem uma interface de usuário. Service é ideal para tarefas que precisam continuar em execução mesmo quando o aplicativo está inativo, como streaming de música, sincronização de dados ou atualizações de localização.

Ao usar Service, você pode garantir que seu aplicativo continue funcionando corretamente mesmo quando os usuários não estiverem interagindo diretamente com o aplicativo.

Tipos de serviço

Service pode ser dividido em dois tipos principais:

1. Started Service

Started Service é um tipo de Service que é iniciado por outro componente, como Activity ou Broadcast Receiver, e continuará a ser executado até que a tarefa seja concluída.

Como funciona:

  • Started Service começa chamando o método startService().
  • Service será executado em segundo plano até que a tarefa seja concluída ou interrompida manualmente.
  • Quando a tarefa estiver concluída, o Service será interrompido automaticamente.

Código de exemplo:

Intent intent =  new Intent(this,  MyStartedService.class);
startService(intent);

2. Bound Service

Bound Service é um tipo de Service que se liga a outros componentes, como Activity ou Fragment, e será executado enquanto esses componentes estiverem ativos.

Como funciona:

  • Bound Service começa chamando o método bindService().
  • Service será executado enquanto houver componentes conectados a ele.
  • Se todos os componentes liberarem a ligação, o Service será interrompido automaticamente.

Código de exemplo:

Intent intent = new Intent(this,  MyBoundService.class);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);

A diferença entre serviço iniciado e serviço vinculado

AspectosStarted ServiceBound Service
Como começarComeçando com startService().Começando com bindService().
DuraçãoÉ executado até que a tarefa seja concluída ou interrompida.Funciona enquanto houver componentes conectados.
ComunicaçãoNão é possível se comunicar diretamente com outros componentes.Pode se comunicar diretamente com componentes colados.
Exemplos de usoStreaming de música, sincronização de dados.Reprodutor de música, comunicação em tempo real.

Exemplos de uso de serviço em aplicativos

1. Aplicativos de música:

  • Started Service: Reproduza música em segundo plano quando o aplicativo estiver inativo.
  • Bound Service: Controle a reprodução de música de Activity ou Fragment.

2. Aplicativos de esportes:

  • Started Service: rastreia a localização do usuário durante a corrida ou ciclismo.
  • Bound Service: Exibe dados de localização e velocidade em tempo real no Activity.

3. Aplicativo de bate-papo:

  • Started Service: Envie e receba mensagens em segundo plano.
  • Bound Service: Exibe novas mensagens em tempo real no Activity.

6. Content Provider: Compartilhamento de dados entre aplicativos

Content Provider é um componente essencial em aplicativos Android que permite que os aplicativos compartilhem dados com outros aplicativos. Usando Content Provider, você pode dar acesso aos dados do seu aplicativo, como listas de contatos, arquivos de mídia ou bancos de dados, a outros aplicativos.

Content Provider também permite que seu aplicativo acesse dados de outros aplicativos, como acessar a lista de contatos ou a galeria de fotos de um usuário.

Últimos artigos