SlideShare uma empresa Scribd logo
Aula 01
(Android™ Básico)
Introdução a plataforma
                       Android™
Natanael Fonseca
Arquiteto de Software



Site Pessoal: www.natanaelfonseca.com.br
Ementa
•   O que é o Android™;
•   Versões da Plataforma;
•   Arquitetura;
•   Android Market;
•   Android SDK e Tools para desenvolvimento;
•   Hello World.
O que é o Android™ ?
• Sistema operacional;
• Versão modificada do Linux;]
• Criada por uma Start-Up chamada Android, Inc. em 2005;
• Estratégia da Google para entrar no mercado mobile;
• Open Souce e totalmente gratuito;
• Possui o apoio de diversas empresas fornecedoras de hardware:
  Motorola, Sony Ericsson, Samsung, HTC e outras;
• Atratividade, ou seja, desenvolvedores escrevem para o Android e
  distribuem para inumeros hardwares;
Versões da Plataforma
Android™ recebeu inumeros updates nos ultimos anos, cada update
recebe um apelido relacionado a uma sobremesa :
 Versão           Data                      Codename

 1.0              23 de setembro 2008       --

 1.1              9 de Fevereiro de 2009    --

 1.5              30 de Abril de 2009       Cupcake

 1.6              15 de Setembro de 2009    Donut

 2.0/2.1          26 de Outubro de 2009     Eclair

 2.2              20 de Maio de 2010        Froyo

 2.3              6 de Dezembro de 2010     Gingerbread

 3.0              22 de Fevereiro de 2011   Honeycomb

 4.0              19 de outubro de 2011     Ice Cream Sandwich

 4.1/4.2          27 de Junho de 2012       Jelly Bean
Caracteristicas
Como “Sistema Operacional” o Android™ suporta as seguintes
funcionalidades :
  Feature            Tipos
  Storage            SQL Lite, File and Content Provider.
  Connectivity       GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (inclui
                     A2DP and AVRCP), WiFi, LTE, and WiMAX.
  Messaging          Suporta tanto SMS quanto MMS.
  Web Browser        Baseado no open-source WebKit, junto com Chrome’s V8 JavaScript engine
  Media Support      H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP
                     container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV,
                     JPEG, PNG, GIF, and BMP
  Hardware Support   Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor e GPS
  Multi-Touch        Suporta multi-touch screens.
  Multi-Tasking      Suporta multi-tasking applications.
  Flash Support      Android 2.3 suporta Flash 10.1.
  Tethering          Suporta compartilhamento de conexão de Internet como um “wireless hotspot”
Arquitetura

Dividido em cinco seções :

•   Linux Kernel
•   Libraries
•   Android Runtime
•   Aplication Framework
•   Applications
Android Market

• Agora se chama Google Play.
• Loja de Aplicativos Oficial da
  Google;
• Anunciado em Agosto de 2008;
• Possui aplicativos pagos e
  gratuitos;
• jogos, filmes, música e livros;
Ambiente de Desenvolvimento
Um ambiente típico de desenvolvimento android™
possui:
• Java SE Development Kit 5 ou 6 (JDK);
   – http://www.oracle.com/technetwork/java/javase/downloads/index.html

• Android SDK;
   – http://developer.android.com/sdk/index.html

• Eclipse 3.6.2 (Helios) ou superior
   – http://eclipse.org/mobile/

• Android Development Tools (ADT) plug-in for Eclipse
   – http://developer.android.com/tools/sdk/eclipse-adt.html
Android SDK e Tools
Construido de maneira modular o Android SDK possui um conjunto de pacotes que podem ser
baixados separadamente, são eles :

Pacote                    Descrção/Utilidade                                     Localização
SDK Tools                 Debug e teste                                          <sdk>/tools/
SDK Platform-tools        Utilitarios especificos da versao do Android           <sdk>/platform-tools/
Documentation             Uma copia offline da documentação oficial              <sdk>/docs/
SDK Platform              Existe uma versão(SDK) para cada versão do Android.    <sdk>/platforms/<android-version>/

System Images             Imagens de cada versão do Android, normalmente         <sdk>/platforms/<android-version>/
                          utilizadas pelo Emulador.
Sources for Android SDK   Uma copia do fonte do Android                          <sdk>/sources/
Samples for SDK           Demos muito uteis demonstrando recursos de cada        <sdk>/platforms/<android-
                          plataforma.                                            version>/samples/
Google APIs               Utilizando para desenvolver aplicativos com diversas   <sdk>/add-ons/
                          APIs do Google, Ex. Maps.
Android Support           Bibliotecas que adicionam suporte a funcionalidades    <sdk>/extras/android/support/
                          não existentes naquela versão da plataforma.

Google Play Billing       APIs para Pagamento do Google.                         <sdk>/extras/google/
Google Play Licensing     Bibliotecas e exemplos que permitem você verificação   <sdk>/extras/google/
                          de licensa quando distribuindo na Google Play.
Opções de execução
• È possível rodar os aplicativos no Emulador Android ou em um device
  Real Rodando uma das versões da Plataforma Android;
• Emulador tende a ser bem mais lento;
• Emulador te fornece mais liberdade na visualização da estrutura de
  pastas;
• Device tende a ser bem mais rápido;
• Device permite uma experiencia mais proxima do usuário final;




                                  VS
Emulador Android
• Fornecido junto com o Android SDK;
• Suporte a diferentes densidades de tela (ldpi,mdpi,hdpi,xhdpi);
• È possivel trabalhar em um ambiente rootavel;
• Simula mensagem, camera, chamadas e networking;
Configurando o Ambiente

• Configure a variavel de Ambiente ANDROID_HOME para a
  pata raiz do seu SDK;
• Configure o Path do SO incluindo nele a pasta tools e platform-
  tools do Android SDK;
• Configure o JDK no eclipse;
• Instale o driver do dispositivo plugado no
  computador(Opcional, Samsung Kies);
• Crie um emulador compativel com os requisitos do projeto.
Hello World
• Arquivo
   –   Aula01_HelloWorld.zip


• Trecho Relevante
       package br.com.treinamento.helloworld;

       import android.app.Activity;
       import android.os.Bundle;

       public class MainActivity extends Activity {

               @Override
               protected void onCreate(Bundle savedInstanceState) {

                       super.onCreate(savedInstanceState);

                       setContentView(R.layout.main);
               }

       }
Anatomia de um Aplicativo Android
            •   src — Contém os arquivos .java source do seu projeto. neste exemplo temos o
                arquivo MainActivity.java, que corresponde à unica Activity deste projeto.

            •   Android 2.3.3 library — Contém o arquivo android.jar, qual possui todas as
                classes necessarias para rodar o aplicativo na plataforma escolhida.

            •   gen — Contém o arquivo R.java file, um arquivo "compiler-generated" que
                referencia todas os recursos encontrados no projeto(Não modifique este
                arquivo).

            •   assets — Esta pasta contém todos os assets usados pela sua aplicação tais como
                HTML, arquivos texto, databases e etc.

            •   res — Recursos usados na aplicação, tais como arquivos de layout, values, strings
                e outros. É possivel criar subdiretorios para adicionar suporte a diferentes
                devices e configurações.

            •   AndroidManifest.xml — O arquivo de manifesto obrigatorio para sua aplicação
                Android(O mais importante). Nele você espeficica informações necessárias ao
                ambiente que vai executar sua aplicação, tais como Activities criadas,
                Permissões, Serviços e Broadcast Receivers.
Dicas de quem já começou
•   Domine a linguagem Java;
•   Leve a sério o DRY(Don´t repeat yourself) Concept;
•   Aprenda Design Patterns;
•   Testes unitários podem te salvar um dia.
•   Documentação é a chave para não se perder.
• Parece obvio, mas, planeje a Arquitetura com antecedencia.
Referencias

• Beginning Android™ Application Development, Wei-Meng Lee, Wiley 2011.
• Android Training : http://developer.android.com/training/index.html.

Mais conteúdo relacionado

PPTX
Sistema Operacional Android
PDF
PDF
Android
PPTX
PDF
Android - Conceito e Arquitetura
PPTX
Iniciando o Desenvolvimento para o Google Android
PPTX
Android
PPTX
Introdução ao Android
Sistema Operacional Android
Android
Android - Conceito e Arquitetura
Iniciando o Desenvolvimento para o Google Android
Android
Introdução ao Android

Mais procurados (20)

PDF
Android
PPTX
Sistema Operacional Android
PDF
Google android pdf
PPT
PALESTRA :: Desenvolvimento para plataforma Android
PDF
Introdução ao Android Studio
PDF
Desenvolvimento Android: Aula 01
PDF
Curso de Google Android - Aula 1
PDF
Introdução ao android e plataforma android
PPT
Introdução à programação para Android
PPT
Trabalho android
PDF
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
PDF
Curso de Android Aula 4
PDF
Arquitetura da Plataforma Android
PDF
Programando Android - Aula 1
PDF
Introdução à plataforma android.
PPTX
Programação Android - Básico
PDF
SESTINFO 2011 Apresentacao Android
PPTX
Plataforma Android
PDF
Desenvolvimento de Apps e Games para Android - Parte 1
Android
Sistema Operacional Android
Google android pdf
PALESTRA :: Desenvolvimento para plataforma Android
Introdução ao Android Studio
Desenvolvimento Android: Aula 01
Curso de Google Android - Aula 1
Introdução ao android e plataforma android
Introdução à programação para Android
Trabalho android
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Curso de Android Aula 4
Arquitetura da Plataforma Android
Programando Android - Aula 1
Introdução à plataforma android.
Programação Android - Básico
SESTINFO 2011 Apresentacao Android
Plataforma Android
Desenvolvimento de Apps e Games para Android - Parte 1
Anúncio

Semelhante a Introdução à plataforma Android (20)

PDF
Introdução ao android - siecomp 2015.1
PPT
Desenvolvendo Soluções com Android
PDF
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
PDF
Treinamento Android Nooclix
PPTX
Introdução ao android
PDF
E tertulia paol-rq
PDF
Curso Básico Android - Aula 01
PDF
Descomplicando o Android
PDF
Android: Conheça o Futuro Inevitável
PDF
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
PDF
Treinamento Android Embarcado
PDF
Desenvolvendo para Android
PDF
Android juliana-mono
PDF
Introdução a Plataforma Android
PPTX
GSOIII - INTRODUÇÃO AO ANDROID
PPTX
Aula01 mobilidade android
PPT
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
PPTX
Introdução ao desenvolvimento mobile Ecossistema Android
PPTX
PDF
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução ao android - siecomp 2015.1
Desenvolvendo Soluções com Android
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Treinamento Android Nooclix
Introdução ao android
E tertulia paol-rq
Curso Básico Android - Aula 01
Descomplicando o Android
Android: Conheça o Futuro Inevitável
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Treinamento Android Embarcado
Desenvolvendo para Android
Android juliana-mono
Introdução a Plataforma Android
GSOIII - INTRODUÇÃO AO ANDROID
Aula01 mobilidade android
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Introdução ao desenvolvimento mobile Ecossistema Android
Introdução à programação em Android - Alcides Maya 16.04.2013
Anúncio

Mais de Natanael Fonseca (19)

PPTX
Microservices With Istio Service Mesh
PPTX
Microservices com Spring Boot e Spring Cloud Netflix
PPTX
Curso Java Básico - Aula 05
PPTX
PPTX
Curso Java Básico - Aula 04
PPTX
Curso Java Básico - Aula 03
PPTX
Curso Java Básico - Aula02
PPTX
Curso Java Básico - Aula 01
PPTX
Desafios de projeto para quem usa a plataforma Android
PPTX
Fragmentos
PPTX
Atividades e Intenções (Android)
PPTX
Certificados Digitais x509
PPTX
Certificados Digitais x509
PPTX
Infra Estrutura de Chaves Publicas(PKI)
PPTX
Introdução a criptografia
PPT
Transações em EJB
KEY
Introdução ao Spring Framework
PPTX
Java annotation
PPT
Validação de certificados digitais
Microservices With Istio Service Mesh
Microservices com Spring Boot e Spring Cloud Netflix
Curso Java Básico - Aula 05
Curso Java Básico - Aula 04
Curso Java Básico - Aula 03
Curso Java Básico - Aula02
Curso Java Básico - Aula 01
Desafios de projeto para quem usa a plataforma Android
Fragmentos
Atividades e Intenções (Android)
Certificados Digitais x509
Certificados Digitais x509
Infra Estrutura de Chaves Publicas(PKI)
Introdução a criptografia
Transações em EJB
Introdução ao Spring Framework
Java annotation
Validação de certificados digitais

Introdução à plataforma Android

  • 2. Introdução a plataforma Android™ Natanael Fonseca Arquiteto de Software Site Pessoal: www.natanaelfonseca.com.br
  • 3. Ementa • O que é o Android™; • Versões da Plataforma; • Arquitetura; • Android Market; • Android SDK e Tools para desenvolvimento; • Hello World.
  • 4. O que é o Android™ ? • Sistema operacional; • Versão modificada do Linux;] • Criada por uma Start-Up chamada Android, Inc. em 2005; • Estratégia da Google para entrar no mercado mobile; • Open Souce e totalmente gratuito; • Possui o apoio de diversas empresas fornecedoras de hardware: Motorola, Sony Ericsson, Samsung, HTC e outras; • Atratividade, ou seja, desenvolvedores escrevem para o Android e distribuem para inumeros hardwares;
  • 5. Versões da Plataforma Android™ recebeu inumeros updates nos ultimos anos, cada update recebe um apelido relacionado a uma sobremesa : Versão Data Codename 1.0 23 de setembro 2008 -- 1.1 9 de Fevereiro de 2009 -- 1.5 30 de Abril de 2009 Cupcake 1.6 15 de Setembro de 2009 Donut 2.0/2.1 26 de Outubro de 2009 Eclair 2.2 20 de Maio de 2010 Froyo 2.3 6 de Dezembro de 2010 Gingerbread 3.0 22 de Fevereiro de 2011 Honeycomb 4.0 19 de outubro de 2011 Ice Cream Sandwich 4.1/4.2 27 de Junho de 2012 Jelly Bean
  • 6. Caracteristicas Como “Sistema Operacional” o Android™ suporta as seguintes funcionalidades : Feature Tipos Storage SQL Lite, File and Content Provider. Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (inclui A2DP and AVRCP), WiFi, LTE, and WiMAX. Messaging Suporta tanto SMS quanto MMS. Web Browser Baseado no open-source WebKit, junto com Chrome’s V8 JavaScript engine Media Support H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP Hardware Support Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor e GPS Multi-Touch Suporta multi-touch screens. Multi-Tasking Suporta multi-tasking applications. Flash Support Android 2.3 suporta Flash 10.1. Tethering Suporta compartilhamento de conexão de Internet como um “wireless hotspot”
  • 7. Arquitetura Dividido em cinco seções : • Linux Kernel • Libraries • Android Runtime • Aplication Framework • Applications
  • 8. Android Market • Agora se chama Google Play. • Loja de Aplicativos Oficial da Google; • Anunciado em Agosto de 2008; • Possui aplicativos pagos e gratuitos; • jogos, filmes, música e livros;
  • 9. Ambiente de Desenvolvimento Um ambiente típico de desenvolvimento android™ possui: • Java SE Development Kit 5 ou 6 (JDK); – http://www.oracle.com/technetwork/java/javase/downloads/index.html • Android SDK; – http://developer.android.com/sdk/index.html • Eclipse 3.6.2 (Helios) ou superior – http://eclipse.org/mobile/ • Android Development Tools (ADT) plug-in for Eclipse – http://developer.android.com/tools/sdk/eclipse-adt.html
  • 10. Android SDK e Tools Construido de maneira modular o Android SDK possui um conjunto de pacotes que podem ser baixados separadamente, são eles : Pacote Descrção/Utilidade Localização SDK Tools Debug e teste <sdk>/tools/ SDK Platform-tools Utilitarios especificos da versao do Android <sdk>/platform-tools/ Documentation Uma copia offline da documentação oficial <sdk>/docs/ SDK Platform Existe uma versão(SDK) para cada versão do Android. <sdk>/platforms/<android-version>/ System Images Imagens de cada versão do Android, normalmente <sdk>/platforms/<android-version>/ utilizadas pelo Emulador. Sources for Android SDK Uma copia do fonte do Android <sdk>/sources/ Samples for SDK Demos muito uteis demonstrando recursos de cada <sdk>/platforms/<android- plataforma. version>/samples/ Google APIs Utilizando para desenvolver aplicativos com diversas <sdk>/add-ons/ APIs do Google, Ex. Maps. Android Support Bibliotecas que adicionam suporte a funcionalidades <sdk>/extras/android/support/ não existentes naquela versão da plataforma. Google Play Billing APIs para Pagamento do Google. <sdk>/extras/google/ Google Play Licensing Bibliotecas e exemplos que permitem você verificação <sdk>/extras/google/ de licensa quando distribuindo na Google Play.
  • 11. Opções de execução • È possível rodar os aplicativos no Emulador Android ou em um device Real Rodando uma das versões da Plataforma Android; • Emulador tende a ser bem mais lento; • Emulador te fornece mais liberdade na visualização da estrutura de pastas; • Device tende a ser bem mais rápido; • Device permite uma experiencia mais proxima do usuário final; VS
  • 12. Emulador Android • Fornecido junto com o Android SDK; • Suporte a diferentes densidades de tela (ldpi,mdpi,hdpi,xhdpi); • È possivel trabalhar em um ambiente rootavel; • Simula mensagem, camera, chamadas e networking;
  • 13. Configurando o Ambiente • Configure a variavel de Ambiente ANDROID_HOME para a pata raiz do seu SDK; • Configure o Path do SO incluindo nele a pasta tools e platform- tools do Android SDK; • Configure o JDK no eclipse; • Instale o driver do dispositivo plugado no computador(Opcional, Samsung Kies); • Crie um emulador compativel com os requisitos do projeto.
  • 14. Hello World • Arquivo – Aula01_HelloWorld.zip • Trecho Relevante package br.com.treinamento.helloworld; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
  • 15. Anatomia de um Aplicativo Android • src — Contém os arquivos .java source do seu projeto. neste exemplo temos o arquivo MainActivity.java, que corresponde à unica Activity deste projeto. • Android 2.3.3 library — Contém o arquivo android.jar, qual possui todas as classes necessarias para rodar o aplicativo na plataforma escolhida. • gen — Contém o arquivo R.java file, um arquivo "compiler-generated" que referencia todas os recursos encontrados no projeto(Não modifique este arquivo). • assets — Esta pasta contém todos os assets usados pela sua aplicação tais como HTML, arquivos texto, databases e etc. • res — Recursos usados na aplicação, tais como arquivos de layout, values, strings e outros. É possivel criar subdiretorios para adicionar suporte a diferentes devices e configurações. • AndroidManifest.xml — O arquivo de manifesto obrigatorio para sua aplicação Android(O mais importante). Nele você espeficica informações necessárias ao ambiente que vai executar sua aplicação, tais como Activities criadas, Permissões, Serviços e Broadcast Receivers.
  • 16. Dicas de quem já começou • Domine a linguagem Java; • Leve a sério o DRY(Don´t repeat yourself) Concept; • Aprenda Design Patterns; • Testes unitários podem te salvar um dia. • Documentação é a chave para não se perder. • Parece obvio, mas, planeje a Arquitetura com antecedencia.
  • 17. Referencias • Beginning Android™ Application Development, Wei-Meng Lee, Wiley 2011. • Android Training : http://developer.android.com/training/index.html.