introdução à plataforma android

17
Aula 01 (Android™ Básico)

Upload: natanael-fonseca

Post on 18-Nov-2014

5.419 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introdução à plataforma Android

Aula 01(Android™ Básico)

Page 2: Introdução à plataforma Android

Introdução a plataforma Android™

Natanael FonsecaArquiteto de Software

Site Pessoal: www.natanaelfonseca.com.br

Page 3: Introdução à plataforma Android

Ementa• O que é o Android™;• Versões da Plataforma;• Arquitetura;• Android Market;• Android SDK e Tools para desenvolvimento;• Hello World.

Page 4: Introdução à plataforma Android

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;

Page 5: Introdução à plataforma Android

Versões da PlataformaAndroid™ 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

Page 6: Introdução à plataforma Android

CaracteristicasComo “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 (incluiA2DP 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”

Page 7: Introdução à plataforma Android

Arquitetura

Dividido em cinco seções :

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

Page 8: Introdução à plataforma Android

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;

Page 9: Introdução à plataforma Android

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

Page 10: Introdução à plataforma Android

Android SDK e ToolsConstruido 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 utilizadas pelo Emulador.

<sdk>/platforms/<android-version>/

Sources for Android SDK Uma copia do fonte do Android <sdk>/sources/

Samples for SDK Demos muito uteis demonstrando recursos de cada plataforma.

<sdk>/platforms/<android-version>/samples/

Google APIs Utilizando para desenvolver aplicativos com diversas APIs do Google, Ex. Maps.

<sdk>/add-ons/

Android Support Bibliotecas que adicionam suporte a funcionalidades não existentes naquela versão da plataforma.

<sdk>/extras/android/support/

Google Play Billing APIs para Pagamento do Google. <sdk>/extras/google/

Google Play Licensing Bibliotecas e exemplos que permitem você verificação de licensa quando distribuindo na Google Play.

<sdk>/extras/google/

Page 11: Introdução à plataforma Android

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

Page 12: Introdução à plataforma Android

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;

Page 13: Introdução à plataforma Android

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.

Page 14: Introdução à plataforma Android

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 {

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);}

}

Page 15: Introdução à plataforma Android

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.

Page 16: Introdução à plataforma Android

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.

Page 17: Introdução à plataforma Android

Referencias

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