Académique Documents
Professionnel Documents
Culture Documents
Android
17 de dezembro de 2008
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Agenda
1 Visão geral
2 Estrutura do sistema
3 Ferramentas de desenvolvimento
4 Uma aplicação
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Visão geral
• Histórico
• O que é Android
• Alguns recursos
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Visão geral
• Histórico
• O que é Android
• Alguns recursos
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Visão geral
• Histórico
• O que é Android
• Alguns recursos
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Histórico
O inicio
Em 2005 o Google compra uma pequena empresa fabricante de software para telefones
celulares.
Em 2007 foi verificado, a partir de estudos, que o Google solicitou várias patentes.
Rumores
Devido aos fatos, surgiram vários rumores que o Google lançaria algum gênero de aparelho
móvel.
A apresentação
Em novembro de 2007 Eric Schmidt, CEO do Google, veio a público apresentar o Android.
Desmentindo assim os rumores.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Histórico
O inicio
Em 2005 o Google compra uma pequena empresa fabricante de software para telefones
celulares.
Em 2007 foi verificado, a partir de estudos, que o Google solicitou várias patentes.
Rumores
Devido aos fatos, surgiram vários rumores que o Google lançaria algum gênero de aparelho
móvel.
A apresentação
Em novembro de 2007 Eric Schmidt, CEO do Google, veio a público apresentar o Android.
Desmentindo assim os rumores.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Histórico
O inicio
Em 2005 o Google compra uma pequena empresa fabricante de software para telefones
celulares.
Em 2007 foi verificado, a partir de estudos, que o Google solicitou várias patentes.
Rumores
Devido aos fatos, surgiram vários rumores que o Google lançaria algum gênero de aparelho
móvel.
A apresentação
Em novembro de 2007 Eric Schmidt, CEO do Google, veio a público apresentar o Android.
Desmentindo assim os rumores.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
O que é Android?
O que é?
É a primeira plataforma, completa e open source, desenvolvida para dispositivos móveis.
Boa parte do seu código está sob a licença Apache 2.0.
Quem desenvolveu?
Um grupo de mais de 30 empresas denominado Open Handset Alliance.
Algumas Empresas:
• Sony Ericsson
• T-Mobile
• AKM Semiconductor Inc
• Google Inc.
• ARM
• Samsung Electronics
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Alguns recursos
• Framework
• Browser integrado
• Gráficos otimizados - 2D e 3D
• Maquina Virtual Dalvik
• Banco de dados SQLite
• Linguagem de programação Java
• Suporte aos principais formatos de imagem, áudio, e vı́deo
• Telefonia GSM
• Bluetooth, EDGE, 3G e WiFi
• Câmera, GPS, compasso e acelerômetro
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Agenda
1 Visão geral
2 Estrutura do sistema
3 Ferramentas de desenvolvimento
4 Uma aplicação
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Estrutura do sistema
• Linux Kernel
• Bibliotecas
• Android Runtime
• Application Framework
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Estrutura do sistema
• Linux Kernel
• Bibliotecas
• Android Runtime
• Application Framework
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Estrutura do sistema
• Linux Kernel
• Bibliotecas
• Android Runtime
• Application Framework
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Estrutura do sistema
• Linux Kernel
• Bibliotecas
• Android Runtime
• Application Framework
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Estrutura do sistema
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Linux Kernel
• Gerenciamento de memória
• Gerenciamento de processos
• Interfaceamento com o hardware
• Versão 2.6.24
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Linux Kernel
• Gerenciamento de memória
• Gerenciamento de processos
• Interfaceamento com o hardware
• Versão 2.6.24
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Linux Kernel
• Gerenciamento de memória
• Gerenciamento de processos
• Interfaceamento com o hardware
• Versão 2.6.24
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Linux Kernel
• Gerenciamento de memória
• Gerenciamento de processos
• Interfaceamento com o hardware
• Versão 2.6.24
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Bibliotecas
Surface Manager
Compõe diferentes serviços de desenho, como as camadas gráficas 2D e 3D
dos aplicativos. É responsável por Gerenciar o acesso ao subsistema do
display.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Bibliotecas
OpenGl ES
Sistema gráfico 3D baseada no OpenGL ES 1.0.
SGL
Responsável pelo sistema 2D.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Bibliotecas
OpenGl ES
Sistema gráfico 3D baseada no OpenGL ES 1.0.
SGL
Responsável pelo sistema 2D.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Bibliotecas
Bibliotecas
Bibliotecas
Bibliotecas
Bibliotecas
Android Runtime
Android Runtime
Android Runtime
Application Framework
Agenda
1 Visão geral
2 Estrutura do sistema
3 Ferramentas de desenvolvimento
4 Uma aplicação
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Ferramentas de desenvolvimento
• Apresentando o SDK
• Configurando o SDK
• Configurando o Eclipse 3.4 (Ganymede)
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Ferramentas de desenvolvimento
• Apresentando o SDK
• Configurando o SDK
• Configurando o Eclipse 3.4 (Ganymede)
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Ferramentas de desenvolvimento
• Apresentando o SDK
• Configurando o SDK
• Configurando o Eclipse 3.4 (Ganymede)
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Ferramentas de desenvolvimento
• Apresentando o SDK
• Configurando o SDK
• Configurando o Eclipse 3.4 (Ganymede)
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Apresentando o SDK
Apresentando o SDK
Apresentando o SDK
Apresentando o SDK
Apresentando o SDK
Apresentando o SDK
Configurando o SDK
Premissas
Por simplicidade, o ambiente de desenvolvimento só será configurado no
Linux.
Deve-se ter o java 5 ou superior. Caso não o tenha digite no seu
terminal:
sudo aptitude install sun-java5-jdk,plugin
Já ter obtido o SDK do android no endereço:
http://code.google.com/intl/pt-BR/android/download.html
Ter o Eclipse 3.4.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Configurando o SDK
Adicionando o SDK ao path do sistema
Este passo possibilita rodar várias ferramentas de linha de comando sem precisar
especificar o caminho para o diretório tools do SDK. Para tal digite no seu
terminal:
sudo nano /home/”Seu usuário”/.bashrc
adiciona ao final do arquivo a seguinte linha:
export PATH=$PATH:”your sdk dir”/tools
Vale lembra que ”your sdk dir” é o diretório onde você descompactou o SDK
baixado. Agora iremos salvar e sair do editor de arquivos nano. Digite:
Ctrl+o
Enter
Ctrl+x
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Instalando o plugin
Instalando o plugin
Instalando o plugin
Instalando o plugin
Instalando o plugin
Instalando o plugin
Instalando o plugin
Instalando o plugin
Configurando o plugin
Configurando o plugin
Configurando o plugin
Configurando o plugin
Configurando o plugin
Agenda
1 Visão geral
2 Estrutura do sistema
3 Ferramentas de desenvolvimento
4 Uma aplicação
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Uma aplicação
Uma aplicação
Activity
Este é o bloco mais usado, cada ’Activity’ representa, em geral, uma tela
uma tela da aplicação.
Cada atividade é uma classe única que estende a base ’Activity’, que
será apresentada ao usuário através de ’View’ e responderá a eventos por
’Intent’ e ’Intent Filters’.
Intent Receiver
Este é utilizado para que a aplicação responda eventos externos. Por
exemplo, a ação que a aplicação vai fazer quando o telefone tocar.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Activity
Este é o bloco mais usado, cada ’Activity’ representa, em geral, uma tela
uma tela da aplicação.
Cada atividade é uma classe única que estende a base ’Activity’, que
será apresentada ao usuário através de ’View’ e responderá a eventos por
’Intent’ e ’Intent Filters’.
Intent Receiver
Este é utilizado para que a aplicação responda eventos externos. Por
exemplo, a ação que a aplicação vai fazer quando o telefone tocar.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Service
Este é o bloco é responsável por códigos de vida longa que rodam sem
uma interface com o usuário. Um bom exemplo é um tocador de música
que deve continuar executando mesmo que se mude de tela e/ou de
programa.
Content Provider
Provedor de conteúdo, é útil quando os dados de uma aplicação
necessitam ser compartilhados com outra aplicação.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Service
Este é o bloco é responsável por códigos de vida longa que rodam sem
uma interface com o usuário. Um bom exemplo é um tocador de música
que deve continuar executando mesmo que se mude de tela e/ou de
programa.
Content Provider
Provedor de conteúdo, é útil quando os dados de uma aplicação
necessitam ser compartilhados com outra aplicação.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Descrição
Há uma fato muito interessante no desenvolvimento de aplicações
Android, é que, não é necessário se preocupar com a finalização dos
processos.
O Android é encubido com está responsável, para tanto ele distingui a
importância das aplicações a partir dos estados dos componente que
compõe está e quando necessita de recursos ele termina a aplicação de
menor prioridade.
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação
Referências
• http://www.android-br.mobi/
• http://code.google.com/intl/pt-BR/android/
documentation.html
• http://pt.wikipedia.org/wiki/Dalvik_virtual_machine