imobilis - android service pr tico [modo de compatibilidade]€¦ · file -> new -> android...
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/2.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/3.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/4.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/6.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/7.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/8.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/13.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/14.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/15.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/16.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/18.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/19.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/20.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/21.jpg)
� 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](https://reader033.vdocuments.net/reader033/viewer/2022042214/5eb95d27f5be721b281fc7b6/html5/thumbnails/22.jpg)
� 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”.