imobilis - android service pr tico [modo de compatibilidade]€¦ · file -> new -> android...

22
C o m p u t a ç ã o M ó v e l

Upload: others

Post on 11-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

C o m p u t a ç ã o M ó v e l

Page 2: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Baixar e instalar o MOTODEV◦ http://developer.motorola.com/tools/motodevstudio

� Baixar e instalar o SDK Android◦ http://developer.android.com/sdk

Configurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambiente

◦ http://developer.android.com/sdk

� Se necessário, baixar e instalar o JDK◦ http://www.oracle.com/technetwork/java/javase/

Page 3: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Criar AVD

Configurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambienteConfigurando o ambiente

Page 4: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Criando um novo projeto

� File -> New -> Android Project Using Studio for Android

Novo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projeto

Page 5: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

Novo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projetoNovo projeto

Page 6: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Um serviço que executa um loop com um contador até 50 e imprime as mensagens no LogCat.

� A classe que representa o serviço deve ser

ServiceServiceServiceServiceServiceServiceServiceService

� A classe que representa o serviço deve ser uma subclasse de android.app.Service e deve obrigatoriamente implementar o método IBinder onBind(intent), e se necessário métodos para controlar o ciclo de vida do Serviço, como onCreate(), onStart() e onDestroy().

Page 7: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� O método IBinder onBind(intent) serve para realizar conexões com outros componentes. Exemplo: conexões RPC

ServiceServiceServiceServiceServiceServiceServiceService

Vamos ver na prática!Vamos ver na prática!Vamos ver na prática!Vamos ver na prática!

Page 8: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Crie uma nova classe, chamada ExemploServico: Clique no pacote com.service com.service com.service com.service e File File File File ----> New > New > New > New ----> Class> Class> Class> Class

ServiceServiceServiceServiceServiceServiceServiceService

Page 9: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

ServiceServiceServiceServiceServiceServiceServiceService

Page 10: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

ExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServico

Limite do loopTag do LogCat

Método IBinder onBind(Intent)

Page 11: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

ExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoMétodos onCreate(),onStart() e onDestroy()

Page 12: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

ExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServico

Método run() – padrão RunnableChama função fazAlgumaCoisa()

Para simular um processamento demorado, a classe fazAlgumaCoisa() faz a thread dormir por 1 segundo

Page 13: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� No método run(), quando o valor do contador chega a 50, o loop da thread termina e o método stopSelf() é chamado, o que encerra o cliclo de vida do serviço, fazendo com que o próprio Android chame o método onDestroy,

ExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServicoExemploServico

próprio Android chame o método onDestroy, encerrando o processo para liberar memória e recursos utilizados.

Page 14: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Dentro do projeto altere o arquivo AndroidManifest.xml

AndroidManifestAndroidManifestAndroidManifestAndroidManifestAndroidManifestAndroidManifestAndroidManifestAndroidManifest........xmlxmlxmlxmlxmlxmlxmlxml

Page 15: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Agora, vamos modificar nossa view para facilitar o Start da nossa aplicação:

� res/layout/main.xml

ViewViewViewViewViewViewViewView

Page 16: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Modificar a Activity (src/com.service/MainActivity.java)

MainActivityMainActivityMainActivityMainActivityMainActivityMainActivityMainActivityMainActivity

Page 17: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

MainActivityMainActivityMainActivityMainActivityMainActivityMainActivityMainActivityMainActivity

Page 18: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Crie um filtro do LogCat:

Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1

Page 19: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Compile a aplicação;

� Clique no botão “Iniciar”;

Podemos ver a execução da aplicação no

Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1Teste 1

� Podemos ver a execução da aplicação no LogCat:

� Clique em “Parar”.

Page 20: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Crie um filtro do LogCat:

Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2

Page 21: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Compile a aplicação

� Clique no botão “Iniciar”;

Podemos ver a execução da aplicação no

Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2

� Podemos ver a execução da aplicação no LogCat

Page 22: iMobilis - Android Service pr tico [Modo de Compatibilidade]€¦ · File -> New -> Android Project Using Studio for Android Novo projeto. Novo projeto. Um serviço que executa um

� Clique no botão “Sair” do emulador;

� Confira o resultado no LogCat...

Ele ainda está rodando, ok? Isto é o Service!

Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2Teste 2

� Ele ainda está rodando, ok? Isto é o Service!

� A execução só será interrompida quando o loop chegar ao valor 50, ou se você entrar na aplicação e clicar no botão “Parar”.