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

Mais procurados

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
Bruno Lui
 
Android
AndroidAndroid
Android
Everson Wolf
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
Guiherme Alarcão
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
Leonardo Rossetto
 
Android
AndroidAndroid
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
Fundação Vanzolini
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
Ramon Ribeiro Rabello
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
Gustavo Zimmermann
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
Jose Berardo
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
Juarez Junior
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
Trabalho android
Trabalho androidTrabalho android
Trabalho android
Alecio Milhomem
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Tchelinux
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
Jose Berardo
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma Android
Ronildo Oliveira
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
Kalil Maciel
 
Introdução à plataforma android.
Introdução à plataforma android.Introdução à plataforma android.
Introdução à plataforma android.
Everton Dewes
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
HugoDalevedove
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
Rafael Sakurai
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
Leonardo Sousa
 

Mais procurados (20)

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android
AndroidAndroid
Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Android
AndroidAndroid
Android
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Trabalho android
Trabalho androidTrabalho android
Trabalho android
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma Android
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Introdução à plataforma android.
Introdução à plataforma android.Introdução à plataforma android.
Introdução à plataforma android.
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 

Semelhante a Introdução à plataforma Android

Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
Afonso Machado
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
jgbirk
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Felipe Silveira
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
Iury Teixeira
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
Paulo Remoli
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
KMILT
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
Lucas Boeing Scarduelli
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
Heider Lopes
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
Campus Party Brasil
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Rogério Moraes de Carvalho
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
Odair Sousa
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
Claudio Pereira
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
João Luis Teixeira
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
ETEC Monsenhor Antonio Magliano
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
Roberson Alves
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Wellington Oliveira
 
Androi studio
Androi studioAndroi studio
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
guisester
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
Erisvaldo Junior
 

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

Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
 
Androi studio
Androi studioAndroi studio
Androi studio
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 

Mais de Natanael Fonseca

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
Natanael Fonseca
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
Natanael Fonseca
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
Natanael Fonseca
 
Aula05
Aula05Aula05
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
Natanael Fonseca
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
Natanael Fonseca
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
Natanael Fonseca
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
Natanael Fonseca
 
Fragmentos
FragmentosFragmentos
Fragmentos
Natanael Fonseca
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
Natanael Fonseca
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
Natanael Fonseca
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
Natanael Fonseca
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
Natanael Fonseca
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
Natanael Fonseca
 
Java annotation
Java annotationJava annotation
Java annotation
Natanael Fonseca
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
Natanael Fonseca
 

Mais de Natanael Fonseca (19)

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Java annotation
Java annotationJava annotation
Java annotation
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
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.