SlideShare uma empresa Scribd logo
UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS APLICADAS E EDUCAÇÃO
       CAMPUS IV – LITORAL NORTE

   PROJETO AVANÇADO DE SOFTWARE II
       PROFESSOR RAONI KULESZA
Equipe
• Thiago Oliveira
  – http://about.me/thiagooliveira
  – thiago.oliveira@dce.ufpb.br


• Hermanny Alexandre
  – hermannyfilho@hotmail.com
Agenda
•   Introdução ao                  ;
•   Estrutura geral;
•   Versões;
•   Requisitos para programar em
•   Aplicações;
•   Componentes;
•   Activities;
•   Services;
Introdução ao
• Plataforma aberta para dispositivos móveis
  desenvolvida pela Google;

• Atualmente é mantida pela Open Handset
  Alliance (OHA);

• Utiliza Já linguagem Java + XML ;
Estrutura geral
• Application framework;

• Dalvik virtual machine;

• Browser Integrado;

• SQLite;

• Tecnologias de comunicação;
Versões




http://developer.android.com/resources/dashboard/platform-versions.html
Requisitos para programar em

• Java
  – (http://java.sun.com/javase/downloads/index.jsp)
• Eclipse
  – (http://www.eclipse.org/downloads/)
• SDK Android
  – (http://developer.android.com/sdk/index.html)
• Plugin ADT
  – Veremos agora...
Requisitos para programar em

• Instalando o Plugin ADT
  – Abra o Eclipse;
  – Help >> Install new Software >> Add
  – Coloque o link contido no site:
    http://developer.android.com/index.html
  – Selecione OK e espere o donwload;
  – Após o término basta reiniciar o Eclipse;
Aplicações
• Por padrão cada aplicação roda em seu
  próprio processo Linux;

• Cada    processo  possui    sua  própria
  JVM, isolamento da aplicação em nível de
  código;

• Uma aplicação pode fazer uso de outras
  aplicações ou de componentes de outras
  aplicações.
Componentes
• Para que uma aplicação possa fazer uso de
  outras,     ou      partes      de    outras
  aplicações, Android utiliza componentes que
  podem ser criados, iniciados ou chamados
  quando necessários;
• Android possui quatro tipos de componentes:
  – Activities                     Iremos nos
  – Services                       aprofundar
                                   nesses dois
  – Broadcast Receivers
  – Content Providers
Activities
• O que é uma Activity?

• Declarando Activities no arquivo manifest;

• Activities e Tasks;

• Ciclo de vida de uma Activity;

• Pilha de Activities.
O que é uma Activity?

• Um objeto que herda da classe Activity.



• Apresenta uma interface visual para o
  usuário, que representa alguma ação ou
  funcionalidade específica.
O que é uma Activity?

• Uma aplicação é formada por uma ou várias
  activities.

• Uma activity pode chamar e iniciar
  outra, possibilitando assim a mudança da
  aplicação sendo utilizada.
Declarando Activities no arquivo
          AndroidManifest
• Arquivo xml onde são declarados os
  componentes da aplicação, além de outras
  informações sobre a aplicação.
Activities e Tasks

• Task é o que o usuário enxerga como sendo
  uma aplicação. É um grupo de activities
  arranjados em uma estrutura de pilha.

• A activity raiz da pilha é a que iniciou a task e
  a que está no topo é a que está rodando.
Activities e Tasks

• A pilha nunca é reorganizada, somente se
  coloca ou se retira objetos dela.

• Activities        possuem          afinidades
  definidas, unindo elas em tasks quando for o
  caso.
Ciclo de Vida de uma Activity
• Uma Activity possui três estados:

  – Active ou Running;
     • Está visivel para o usuário;


  – Paused;
     • Perde o foco mas ainda continua visível para o usuário;


  – Stopped;
     • Completamente sobreposta por outra Activity;
• Retângulos
  representam
  métodos
  comuns as
  Activities;

• As elipses
  representam
  estados que a
  Activity pode
  estar
Pilha de Activities

• As activities são gerenciadas pelo sistema como
  uma pilha;

• Quando uma nova Activity é iniciada ela é
  colocada no topo da pilha e se torna a Activity
  corrente;

• Quando uma Activity é encerrada, a Activity
  imediatamente abaixo é colocada como corrente;
Services

• É um componente da aplicação que pode
  realizar operações por tempo indeterminado;

• Os Services não possuem interface e são
  executados em background;
Services

• Cada serviço é uma classe que herda de
  Service;

• Um exemplo clássico de Service
 é o tocador de músicas.
Services

• Métodos para criação de um service:

  – onCreate();
  – startService() , stopService();
  – onBind();
  – onDestroy();
Dúvidas?
Obrigado!

Mais conteúdo relacionado

Destaque

Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
Arthur Emanuel
 
Coding for Android on steroids with Kotlin
Coding for Android on steroids with KotlinCoding for Android on steroids with Kotlin
Coding for Android on steroids with Kotlin
Kai Koenig
 
Google android Activity lifecycle
Google android Activity lifecycle Google android Activity lifecycle
Google android Activity lifecycle
University of Potsdam
 
Learning Android Part 2/6
Learning Android Part 2/6Learning Android Part 2/6
Learning Android Part 2/6
Girish Bellalcheru
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
Kumar
 
CatalisMTL - Prototypage et MVP
CatalisMTL  - Prototypage et MVPCatalisMTL  - Prototypage et MVP
CatalisMTL - Prototypage et MVP
CatalisMTL
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
Jean Collas
 
Android Life Cycle
Android Life CycleAndroid Life Cycle
Android Life Cycle
mssaman
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la force
Nicolas PENNEC
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
Franck SIMON
 
Android life cycle
Android life cycleAndroid life cycle
Android life cycle
瑋琮 林
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
Soham Patel
 
Protocol-Oriented MVVM
Protocol-Oriented MVVMProtocol-Oriented MVVM
Protocol-Oriented MVVM
Natasha Murashev
 
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
André De Sousa
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
Ana Dolores Lima Dias
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
Alphorm
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Android Basics
Android BasicsAndroid Basics
Android Basics
Krushnakant Solanki
 

Destaque (18)

Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Coding for Android on steroids with Kotlin
Coding for Android on steroids with KotlinCoding for Android on steroids with Kotlin
Coding for Android on steroids with Kotlin
 
Google android Activity lifecycle
Google android Activity lifecycle Google android Activity lifecycle
Google android Activity lifecycle
 
Learning Android Part 2/6
Learning Android Part 2/6Learning Android Part 2/6
Learning Android Part 2/6
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
 
CatalisMTL - Prototypage et MVP
CatalisMTL  - Prototypage et MVPCatalisMTL  - Prototypage et MVP
CatalisMTL - Prototypage et MVP
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
 
Android Life Cycle
Android Life CycleAndroid Life Cycle
Android Life Cycle
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la force
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Android life cycle
Android life cycleAndroid life cycle
Android life cycle
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
Protocol-Oriented MVVM
Protocol-Oriented MVVMProtocol-Oriented MVVM
Protocol-Oriented MVVM
 
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Android Basics
Android BasicsAndroid Basics
Android Basics
 

Semelhante a Android - Activities and services

JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
Thiago Soares
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
Walanem Figueiredo
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
José Gabriel Gruber
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
Ronildo Oliveira
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
Alvaro Viebrantz
 
Palestra
PalestraPalestra
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio
 
Diapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdfDiapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdf
J0071
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
Marcio Marinho
 
Tdd – por quê, quando e onde
Tdd – por quê, quando e ondeTdd – por quê, quando e onde
Tdd – por quê, quando e onde
Rafael Kinha
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
Bruno Lui
 
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
Felipe Ribeiro
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
Rafael Benevides
 
Apresentacao engenharia aup
Apresentacao engenharia aupApresentacao engenharia aup
Apresentacao engenharia aup
Renato Lucena
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
Carlos Santos
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Tchelinux
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
ledsifes
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Regis Machado
 

Semelhante a Android - Activities and services (20)

JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Palestra
PalestraPalestra
Palestra
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Diapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdfDiapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdf
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Tdd – por quê, quando e onde
Tdd – por quê, quando e ondeTdd – por quê, quando e onde
Tdd – por quê, quando e onde
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
Hooks, plugins, eventos e serviços, como usar tudo isso no drupal 8?
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Apresentacao engenharia aup
Apresentacao engenharia aupApresentacao engenharia aup
Apresentacao engenharia aup
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 

Mais de Thiago Oliveira

Apresentação tcc
Apresentação   tccApresentação   tcc
Apresentação tcc
Thiago Oliveira
 
Data Warehouse
Data WarehouseData Warehouse
Data Warehouse
Thiago Oliveira
 
MPS-BR Nível A
MPS-BR Nível AMPS-BR Nível A
MPS-BR Nível A
Thiago Oliveira
 
KDD e Data Mining
KDD e Data MiningKDD e Data Mining
KDD e Data Mining
Thiago Oliveira
 
Cmmi 5
Cmmi 5Cmmi 5
Neo4 jv2 english
Neo4 jv2 englishNeo4 jv2 english
Neo4 jv2 english
Thiago Oliveira
 
E business
E businessE business
E business
Thiago Oliveira
 
Grids computacionais
Grids computacionaisGrids computacionais
Grids computacionais
Thiago Oliveira
 

Mais de Thiago Oliveira (8)

Apresentação tcc
Apresentação   tccApresentação   tcc
Apresentação tcc
 
Data Warehouse
Data WarehouseData Warehouse
Data Warehouse
 
MPS-BR Nível A
MPS-BR Nível AMPS-BR Nível A
MPS-BR Nível A
 
KDD e Data Mining
KDD e Data MiningKDD e Data Mining
KDD e Data Mining
 
Cmmi 5
Cmmi 5Cmmi 5
Cmmi 5
 
Neo4 jv2 english
Neo4 jv2 englishNeo4 jv2 english
Neo4 jv2 english
 
E business
E businessE business
E business
 
Grids computacionais
Grids computacionaisGrids computacionais
Grids computacionais
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (7)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Android - Activities and services

  • 1. UNIVERSIDADE FEDERAL DA PARAÍBA CENTRO DE CIÊNCIAS APLICADAS E EDUCAÇÃO CAMPUS IV – LITORAL NORTE PROJETO AVANÇADO DE SOFTWARE II PROFESSOR RAONI KULESZA
  • 2. Equipe • Thiago Oliveira – http://about.me/thiagooliveira – thiago.oliveira@dce.ufpb.br • Hermanny Alexandre – hermannyfilho@hotmail.com
  • 3. Agenda • Introdução ao ; • Estrutura geral; • Versões; • Requisitos para programar em • Aplicações; • Componentes; • Activities; • Services;
  • 4. Introdução ao • Plataforma aberta para dispositivos móveis desenvolvida pela Google; • Atualmente é mantida pela Open Handset Alliance (OHA); • Utiliza Já linguagem Java + XML ;
  • 5. Estrutura geral • Application framework; • Dalvik virtual machine; • Browser Integrado; • SQLite; • Tecnologias de comunicação;
  • 7. Requisitos para programar em • Java – (http://java.sun.com/javase/downloads/index.jsp) • Eclipse – (http://www.eclipse.org/downloads/) • SDK Android – (http://developer.android.com/sdk/index.html) • Plugin ADT – Veremos agora...
  • 8. Requisitos para programar em • Instalando o Plugin ADT – Abra o Eclipse; – Help >> Install new Software >> Add – Coloque o link contido no site: http://developer.android.com/index.html – Selecione OK e espere o donwload; – Após o término basta reiniciar o Eclipse;
  • 9. Aplicações • Por padrão cada aplicação roda em seu próprio processo Linux; • Cada processo possui sua própria JVM, isolamento da aplicação em nível de código; • Uma aplicação pode fazer uso de outras aplicações ou de componentes de outras aplicações.
  • 10. Componentes • Para que uma aplicação possa fazer uso de outras, ou partes de outras aplicações, Android utiliza componentes que podem ser criados, iniciados ou chamados quando necessários; • Android possui quatro tipos de componentes: – Activities Iremos nos – Services aprofundar nesses dois – Broadcast Receivers – Content Providers
  • 11. Activities • O que é uma Activity? • Declarando Activities no arquivo manifest; • Activities e Tasks; • Ciclo de vida de uma Activity; • Pilha de Activities.
  • 12. O que é uma Activity? • Um objeto que herda da classe Activity. • Apresenta uma interface visual para o usuário, que representa alguma ação ou funcionalidade específica.
  • 13. O que é uma Activity? • Uma aplicação é formada por uma ou várias activities. • Uma activity pode chamar e iniciar outra, possibilitando assim a mudança da aplicação sendo utilizada.
  • 14. Declarando Activities no arquivo AndroidManifest • Arquivo xml onde são declarados os componentes da aplicação, além de outras informações sobre a aplicação.
  • 15. Activities e Tasks • Task é o que o usuário enxerga como sendo uma aplicação. É um grupo de activities arranjados em uma estrutura de pilha. • A activity raiz da pilha é a que iniciou a task e a que está no topo é a que está rodando.
  • 16. Activities e Tasks • A pilha nunca é reorganizada, somente se coloca ou se retira objetos dela. • Activities possuem afinidades definidas, unindo elas em tasks quando for o caso.
  • 17. Ciclo de Vida de uma Activity • Uma Activity possui três estados: – Active ou Running; • Está visivel para o usuário; – Paused; • Perde o foco mas ainda continua visível para o usuário; – Stopped; • Completamente sobreposta por outra Activity;
  • 18. • Retângulos representam métodos comuns as Activities; • As elipses representam estados que a Activity pode estar
  • 19. Pilha de Activities • As activities são gerenciadas pelo sistema como uma pilha; • Quando uma nova Activity é iniciada ela é colocada no topo da pilha e se torna a Activity corrente; • Quando uma Activity é encerrada, a Activity imediatamente abaixo é colocada como corrente;
  • 20. Services • É um componente da aplicação que pode realizar operações por tempo indeterminado; • Os Services não possuem interface e são executados em background;
  • 21. Services • Cada serviço é uma classe que herda de Service; • Um exemplo clássico de Service é o tocador de músicas.
  • 22. Services • Métodos para criação de um service: – onCreate(); – startService() , stopService(); – onBind(); – onDestroy();