✔ Conceitos✔Principais Características Técnicas✔Arquitetura✔Blocos de Construção (de uma aplicação)✔Ciclo de Vida (Aplicação e Atividade)✔Como desenvolver para Android?✔Exemplo Simples de Aplicação✔ReferênciaPlataforma Android2
O que é o Android?● É uma plataforma de software de código aberto que inclui um sistema operacional para dispositivos móveis baseado em Linux;● É uma plataforma completa para dispositivos móveis,e inclui:		•Sistema Operacional (Kernel GNU Linux)•Middleware• Aplicações● Android surgiu da parceria da Google com a OpenHandsetAlliance (OHA), aliança onde figuram os principais atores do mercado móvel mundial.Plataforma Android 3
Open HandsetAlliance● Criada e fundada pela Google, nasceu para o desenvolvimento e implementação do Android em terminais móveis;● Atualmente é formada por mais de 30 organizações do setor móvel, com o objetivo de acelerar as inovações nas comunicações móveis e oferecer a seus consumidores um melhor serviço;● Dentre as empresas que a formam estão:•Fabricantes de Dispositivos Móveis – Samsung, LG, HTC, Motorola...• Fabricantes de Componentes – Texas Instruments, Intel, Nvidia...• Fabricantes de Software – PV, Ebay, Esmertec...• Operadoras Móveis de todo mundo – T-Mobile. Italia Telecom, China Mobile...• Empresas de Comercialização – Aplix, Noser, Systems.Plataforma Android4
Filosofia de Desenvolvimento●  Android nasceu com uma filosofia de código aberto;● A idéia é que programadores de todo o mundo contribuam de maneira livre e constante com o seu desenvolvimento;● É liberado também para que os fabricantes desenvolvam aplicações específicas para seus telefones;● É importante ressaltar que não é pelo fato da licença ser de código aberto que os desenvolvedores não cobrem pelos programas que venham a desenvolver.Plataforma Android 5
Principais Características Técnicas●Baseado em Linux, onde todos os serviços básicos, como gerenciamento de drives, memória e segurança, estão baseados nesse SO de código aberto;●Dalviké o nome da máquina virtual onde executam as aplicações;● Ela é otimizada para requerer pouca memória e poder usar várias instancias simultaneamente sem que o dispositivo fique lento;● Os executáveis tem uma extensão .dex, que é uma versão otimizada do .class;● A linguagem em que se programa é Java (estratégia da Google.)Plataforma Android 6
Principais Características Técnicas● Navegador web integrado, baseado no projeto open sourceWebkit  – o mesmo do iPhone e Nokia série 60;● Ele é de código aberto;● Atua como base para varias aplicações que existem atualmente no mercado, como o navegador Safari.● Utiliza o SQLite para armazenamento de dados estruturados;● Já vem incluído na SDK;● Pode acessar totalmente as suas classes;● É possível utilizar também outros BDs.● Bluetooth, EDGE, 3G e WiFi: foco nas principais tecnologias de transmissão de dados sem fio;● Câmera e GPS: Ter o celular como uma ferramenta para interação com redes sociais;Plataforma Android 7
Principais Características Técnicas● Biblioteca de gráficos otimizada para dispositivos móveis: biblioteca para gráficos 2de 3d baseada na especificação OpenGL ES1.0;● Suporte multimídia: compatibilidade com os principais formatos existentes, dentre eles: mpeg4, mp3, aac, amr, jpg, png e gif.● Telefonia com tecnologia GSM: As aplicações podem manipular operações telefônicas, caso o fabricante permita esse acesso;Plataforma Android 8
Principais Características Técnicas● Framework de desenvolvimento de aplicações:	•Reutilização de código;•Facilidade de acesso a recursos exclusivos e manutenção;● Ambiente de desenvolvimento com pluginpara Eclipse, incluindo:	•Emulador;•Ferramentas para debug e supervisão de memória e desempenho.Plataforma Android 9
Plataforma Android10
Linux Kernel● A camada mais baixa da arquitetura, Kernel Linux, é a responsável por gerenciar:• Processos e threads;	• Memória;	• Arquivos e pastas	• Redes;	• Driversdos dispositivos;•Energia.• Os drivers de dispositivo fornecidos incluem Display,câmera, teclado, WiFi, memória Flash, áudio, etc.Plataforma Android 11
Android Runtime● A base de desenvolvimento do Android é Java,porém não existe uma JVM e sim outra maquina virtual, a Dalvik, otimizada para interpretar código sem dispositivos móveis;● Ao compilar o bytecode (.class), este é convertido para o formato específico da máquina virtual Dalvik, o .dex(DalvikExecutable), que representa a aplicação compilada;● Depois da aplicação Android ter sido compilada é gerado um arquivo único, neste caso com a extensão .apk(Android Package File).Plataforma Android12
NativeLibraries● A camada de Bibliotecas é formada por um conjunto de bibliotecas escritas em C/C++;● Tudo disponível para os desenvolvedores através do Framework de aplicações;● Entre as mais importantes encontra-se o SQLite, OpenGL, WebKit, FreeType, SecureSocketsLayer (SSL) e as bibliotecas de mídia que permitem reproduzir arquivos de áudio,vídeo e imagem.Plataforma Android 13
Java SDK● O Framework é uma base para as aplicações, onde os desenvolvedores tem acesso completo;● Pensando na reutilização dos componentes, uma aplicação pode capturar funcionalidades de outra criada anteriormente para o seu desenvolvimento;● Nele estão inclusos:• Telephony manager: gerência de hardware do dispositivo;	• View system: conjunto de telas (componentes gráficos) para desenvolver uma aplicação;	• Contentproviders: dados que são compartilhados entre várias aplicações, como por exemplo, a agenda;	• Resource Manager: administrador de recursos que permite acessar a recursos como Strings, gráficos, arquivos de layout;Plataforma Android 14
Java SDK●NotificationManager: administrador de notificações para mostrar alertas. As aplicações podem adicionar eventos numa barra de notificações;● ActivityManager: administrador de atividades. Este gerencia o ciclo de vida das aplicações e da navegação entre elas;● LocationManager: serviço de localização. Permite o celular receber avisos, notificações, eventos, etc. de um lugar específico ou de sua localização atual;● Serviço XMPP. Envio de mensagens para aplicações entre terminais Android. Pode ser utilizado entre jogos multiusuário, por exemplo.Plataforma Android 15
Applications● Conjunto de aplicações do Android, dentre as básicas encontra-se um navegador Web, um cliente de e-mail, um calendário, entre outras;● Todas feitas em linguagem Java.Plataforma Android 16
O que é necessário para desenvolver para a plataforma Android?● JDK;● Eclipse;● Android SDK;● Plug-inADT (Android DevelopmentTools) para o Eclipse;● Configuração de variáveis de ambiente.Plataforma Android 17
Exemplo Simples●Localizador GPS.Plataforma Android 18
??Perguntas? Sugestões??!?Plataforma Android 18
‎"Pelo conhecimento o homem pode libertar-se do medo e das superstições, deixando de projetá-los no mundo e nos outros"
Obrigado ! ! !Plataforma Android 19

Android

  • 2.
    ✔ Conceitos✔Principais CaracterísticasTécnicas✔Arquitetura✔Blocos de Construção (de uma aplicação)✔Ciclo de Vida (Aplicação e Atividade)✔Como desenvolver para Android?✔Exemplo Simples de Aplicação✔ReferênciaPlataforma Android2
  • 3.
    O que é oAndroid?● É uma plataforma de software de código aberto que inclui um sistema operacional para dispositivos móveis baseado em Linux;● É uma plataforma completa para dispositivos móveis,e inclui: •Sistema Operacional (Kernel GNU Linux)•Middleware• Aplicações● Android surgiu da parceria da Google com a OpenHandsetAlliance (OHA), aliança onde figuram os principais atores do mercado móvel mundial.Plataforma Android 3
  • 4.
    Open HandsetAlliance● Criada efundada pela Google, nasceu para o desenvolvimento e implementação do Android em terminais móveis;● Atualmente é formada por mais de 30 organizações do setor móvel, com o objetivo de acelerar as inovações nas comunicações móveis e oferecer a seus consumidores um melhor serviço;● Dentre as empresas que a formam estão:•Fabricantes de Dispositivos Móveis – Samsung, LG, HTC, Motorola...• Fabricantes de Componentes – Texas Instruments, Intel, Nvidia...• Fabricantes de Software – PV, Ebay, Esmertec...• Operadoras Móveis de todo mundo – T-Mobile. Italia Telecom, China Mobile...• Empresas de Comercialização – Aplix, Noser, Systems.Plataforma Android4
  • 5.
    Filosofia de Desenvolvimento● Android nasceu com uma filosofia de código aberto;● A idéia é que programadores de todo o mundo contribuam de maneira livre e constante com o seu desenvolvimento;● É liberado também para que os fabricantes desenvolvam aplicações específicas para seus telefones;● É importante ressaltar que não é pelo fato da licença ser de código aberto que os desenvolvedores não cobrem pelos programas que venham a desenvolver.Plataforma Android 5
  • 6.
    Principais Características Técnicas●Baseadoem Linux, onde todos os serviços básicos, como gerenciamento de drives, memória e segurança, estão baseados nesse SO de código aberto;●Dalviké o nome da máquina virtual onde executam as aplicações;● Ela é otimizada para requerer pouca memória e poder usar várias instancias simultaneamente sem que o dispositivo fique lento;● Os executáveis tem uma extensão .dex, que é uma versão otimizada do .class;● A linguagem em que se programa é Java (estratégia da Google.)Plataforma Android 6
  • 7.
    Principais Características Técnicas●Navegador web integrado, baseado no projeto open sourceWebkit  – o mesmo do iPhone e Nokia série 60;● Ele é de código aberto;● Atua como base para varias aplicações que existem atualmente no mercado, como o navegador Safari.● Utiliza o SQLite para armazenamento de dados estruturados;● Já vem incluído na SDK;● Pode acessar totalmente as suas classes;● É possível utilizar também outros BDs.● Bluetooth, EDGE, 3G e WiFi: foco nas principais tecnologias de transmissão de dados sem fio;● Câmera e GPS: Ter o celular como uma ferramenta para interação com redes sociais;Plataforma Android 7
  • 8.
    Principais Características Técnicas●Biblioteca de gráficos otimizada para dispositivos móveis: biblioteca para gráficos 2de 3d baseada na especificação OpenGL ES1.0;● Suporte multimídia: compatibilidade com os principais formatos existentes, dentre eles: mpeg4, mp3, aac, amr, jpg, png e gif.● Telefonia com tecnologia GSM: As aplicações podem manipular operações telefônicas, caso o fabricante permita esse acesso;Plataforma Android 8
  • 9.
    Principais Características Técnicas●Framework de desenvolvimento de aplicações: •Reutilização de código;•Facilidade de acesso a recursos exclusivos e manutenção;● Ambiente de desenvolvimento com pluginpara Eclipse, incluindo: •Emulador;•Ferramentas para debug e supervisão de memória e desempenho.Plataforma Android 9
  • 10.
  • 11.
    Linux Kernel● A camadamais baixa da arquitetura, Kernel Linux, é a responsável por gerenciar:• Processos e threads; • Memória; • Arquivos e pastas • Redes; • Driversdos dispositivos;•Energia.• Os drivers de dispositivo fornecidos incluem Display,câmera, teclado, WiFi, memória Flash, áudio, etc.Plataforma Android 11
  • 12.
    Android Runtime● Abase de desenvolvimento do Android é Java,porém não existe uma JVM e sim outra maquina virtual, a Dalvik, otimizada para interpretar código sem dispositivos móveis;● Ao compilar o bytecode (.class), este é convertido para o formato específico da máquina virtual Dalvik, o .dex(DalvikExecutable), que representa a aplicação compilada;● Depois da aplicação Android ter sido compilada é gerado um arquivo único, neste caso com a extensão .apk(Android Package File).Plataforma Android12
  • 13.
    NativeLibraries● A camada deBibliotecas é formada por um conjunto de bibliotecas escritas em C/C++;● Tudo disponível para os desenvolvedores através do Framework de aplicações;● Entre as mais importantes encontra-se o SQLite, OpenGL, WebKit, FreeType, SecureSocketsLayer (SSL) e as bibliotecas de mídia que permitem reproduzir arquivos de áudio,vídeo e imagem.Plataforma Android 13
  • 14.
    Java SDK● OFramework é uma base para as aplicações, onde os desenvolvedores tem acesso completo;● Pensando na reutilização dos componentes, uma aplicação pode capturar funcionalidades de outra criada anteriormente para o seu desenvolvimento;● Nele estão inclusos:• Telephony manager: gerência de hardware do dispositivo; • View system: conjunto de telas (componentes gráficos) para desenvolver uma aplicação; • Contentproviders: dados que são compartilhados entre várias aplicações, como por exemplo, a agenda; • Resource Manager: administrador de recursos que permite acessar a recursos como Strings, gráficos, arquivos de layout;Plataforma Android 14
  • 15.
    Java SDK●NotificationManager: administradorde notificações para mostrar alertas. As aplicações podem adicionar eventos numa barra de notificações;● ActivityManager: administrador de atividades. Este gerencia o ciclo de vida das aplicações e da navegação entre elas;● LocationManager: serviço de localização. Permite o celular receber avisos, notificações, eventos, etc. de um lugar específico ou de sua localização atual;● Serviço XMPP. Envio de mensagens para aplicações entre terminais Android. Pode ser utilizado entre jogos multiusuário, por exemplo.Plataforma Android 15
  • 16.
    Applications● Conjunto deaplicações do Android, dentre as básicas encontra-se um navegador Web, um cliente de e-mail, um calendário, entre outras;● Todas feitas em linguagem Java.Plataforma Android 16
  • 17.
    O que énecessário para desenvolver para a plataforma Android?● JDK;● Eclipse;● Android SDK;● Plug-inADT (Android DevelopmentTools) para o Eclipse;● Configuração de variáveis de ambiente.Plataforma Android 17
  • 18.
  • 19.
  • 20.
    ‎"Pelo conhecimento ohomem pode libertar-se do medo e das superstições, deixando de projetá-los no mundo e nos outros"
  • 21.
    Obrigado ! !!Plataforma Android 19