Google Android Diego Souza diegotsouza83@hotmail.com Renato França ragpf@hotmail.com.

Post on 18-Apr-2015

109 views 0 download

Transcript of Google Android Diego Souza diegotsouza83@hotmail.com Renato França ragpf@hotmail.com.

Google AndroidGoogle Android

Diego Souzadiegotsouza83@hotmail.com

Renato Françaragpf@hotmail.com

Sobre o cursoSobre o curso

Google AndroidDiego Souza

Ementa1. Introdução 2. Configuração do ambiente 3. Conceitos básicos 4. Acitivity 5. Intent e Intent Filter 6. Gerenciadores de Layout 7. View 8. Broadcast Receiver 9. Notification 10. Service 11. Banco de dados 12. Content provider 13. Http, Service e Web Services 14. Mapas e GPS

IntroduçãoIntrodução

Google AndroidDiego Souza

Alguns dados estatísticos

• Para cada 1,5 bilhões de televisores existem 3 bilhões celulares no mundo.

• Mais de 3 bilhões de pessoas no mundo possuem um celular, cerca de metade da população mundial.

• Um mercado em expansão, porém, existem poucos profissionais capacitados.

Google AndroidDiego Souza

Mobile Development

• Várias são as plataformas hoje para desenvolvimento de aplicações para dispositivos móveis. Symbian, Brew, JavaME, .NET Compact Framework e Flash Lite.

• O android é a resposta do Google para esse ramo.

Google AndroidDiego Souza

Open Headset Aliance

• Grupo formados por gigantes do mercado de telefonia liderados pelo Google.

• O objetivo principal do grupo é transformar a experiência móvel dos usuários ao redor do mundo.

• Alguns membros: Motorola, HTC, LG, Samsung, Sony Ericson, Toshiba, Intel, Asus, entre outros.

Google AndroidDiego Souza

O que é o android?

• O Android é a nova plataforma do Google voltada para dispositivos móveis.

• Baseada na plataforma Java com sistema operacional Linux.

• Busca inovar e acelerar o desenvolvimento de aplicações e serviços.

• Android é a primeira plataforma móvel completa, aberta e livre (Xing ling pode rodar android ).

Google AndroidDiego Souza

O que é android?

• Sistema Operacional Multitarefa.• Fácil integração com as Aplicações nativas e

serviços do google.• Código aberto e livre.• Poderoso ambiente de desenvolvimento.

Google AndroidDiego Souza

Porque android?

• Plataforma completa para celulares• Android é Free• O código é aberto• Suporte da comunidade• Vários Frameworks disponíveis• Android é 100% Java

Google AndroidDiego Souza

Android Market

• Local onde os desenvolvedores podem postar suas aplicações.

• 70% dos lucros são repassados aos desenvolvedores.

Google AndroidDiego Souza

A plataforma• Framework de Aplicação permitindo reuso de componentes;• Navegador Web Integrado baseado na engine open source WebKit;• Gráficos Otimizados por meio de uma biblioteca de gráficos 2D; e

gráficos 3D baseados na especificação OpenGL ES 1.0;• SQLite para armazenamento de dados em formato de estruturas

relacionais;• Audio (formatos MP3, AAC, AMR), vídeo (MPEG4 e H.264) e

imagens (formatos JPG, PNG, GIF) e suporte a Flash• Bluetooth, EDGE, 3G, WiFi (dependente de hardware) e Tethering.• Câmera, GPS, bússola, e acelerômetro (dependente de hardware)

Google AndroidDiego Souza

Alguns aparelhos

Google AndroidDiego Souza

Motorola Droid2 • Android OS, v2.2 (Froyo)• ARM Cortex A8 1 GHz,

PowerVR SGX530 graphics 128 MB

• 512 MB RAM• microSD, up to 64 GB,

16GB included• 480 x 854 pixels, 3.7” • Acelerometer sensor

Google AndroidDiego Souza

Nexus One

• Android OS, v2.2 (Froyo)• Qualcomm Snapdragon

QSD8250 1 GHz processor

• 512MB RAM• AMOLED capacitive

touchscreen• 480 x 800 pixels, 3.7

inches• O.S. Flash support.

15

Google AndroidDiego Souza

Samsung Galaxy S2

• Android OS, v2.3 (Gingerbread)

• Dual-core 1.2GHz ARM Cortex-A9 proccessor

• 1024 MB RAM• 480 x 800 pixels, 4.3

inches• microSD, up to 64GB• AMOLED screen

16

Google AndroidDiego Souza

Motorola Atrix

• Android OS, v2.2 (Froyo)

• Dual-core 1GHz ARM Cortex-A9 proccessor

• 1024MB RAM• 540 x 960 pixels, 4.0

inches• HDMI Support

17

Google AndroidDiego Souza

Galaxy Tab

• Android OS, v2.2 (Froyo)

• ARM Cortex A8 processor, 1 GHz

• SGX530 GPU 256MB • 512MB RAM• microSD, up to 64GB• HDMI Support• AMOLED screen

18

Google AndroidDiego Souza

Apple Iphone 4• iPhone OS (based on

Mac OS)• Apple A4 1 GHz• PowerVR SGX535

graphics 64 MB• 512 MB RAM• 16 GB/ 32 GB storage

19

Google AndroidDiego Souza

Motorola Defy

• ARM Cortex-A8 processor 800MHz

• 512 MB RAM• MicroSD up to 32GB• 480 x 854 pixels, 3.7

inches• Android OS, v2.1

(Eclair), upgradable to v2.2

Google AndroidDiego Souza

Android x IPhone

Google AndroidDiego Souza

Vamos ao que interessa…

Google AndroidDiego Souza

Arquitetura Android

Google AndroidDiego Souza

Camada de aplicação

• Na camada de aplicação está localizada uma lista de aplicações que incluem um cliente de e-mail, programa de SMS/MMS, calendário, mapas, navegador,gerenciador de contatos, entre outros.

• Aplicações escritas na linguagem Java.

Google AndroidDiego Souza

Aplication Framework

• Componentes que permitirão com que novas estruturas sejam utilizadas para futuras aplicações.

• Um rico e extensível conjunto de componentes gráficos que pode ser utilizado para construir uma aplicação, bem como listas, grids, caixas de textos, botões, etc.

• Provedores de conteúdo que habilitam às aplicações acessar dados de outras aplicações.

Google AndroidDiego Souza

Dalvik VM

• Máquina Virtual do Android.• Toda aplicação roda dentro do seu próprio

processo.• Executa arquivos .dex, bytecodes de java

otimizados para o android.

Google AndroidDiego Souza

O ambiente de desenvolvimento

• Poderoso Ambiente de Desenvolvimento, totalmente integrado ao Eclipse.

• Um Emulador completo.• Ferramentas para Debug e análise de código.• Analisador de memória e performance.• Ferramenta para análise de hieraquia de

Layouts.

Google AndroidDiego Souza

O que é necessário?

• Eclipse IDEwww.eclipse.org

• Java JREhttp://www.oracle.com/technetwork/java/javase/

downloads/jre-6u25-download-346243.html • Android SDK

http://dl.google.com/android/android-sdk_r11-windows.zip • Plugin android

http://dl.google.com/android/ADT-10.0.1.zip

Google AndroidDiego Souza

Emulador

• Vamos dar uma olhada no emulador…

Google AndroidDiego Souza

Hello Android

• Vamos fazer um exemplo prático, com o bom e velho Hello World.

Google AndroidDiego Souza

O que vem por aí?

• Google TV

• Android 3.0 – 8 vezes mais rápido– NFC

• Utilização em Netbooks

Google AndroidDiego Souza

Google TV• Com telas LCD com backlight de LEDs, full HD e tudo que se espera de uma TV de

ponta, o grande diferencial é trazer o sistema operacional Android instalado, onde o usuário encontrará aplicações como o YouTube, Google Maps, previsão do tempo, calendário e navegador Web.

• A aplicação permite o download e a instalação de novos aplicativos, através do Android Market.

ConceitosConceitosbásicosbásicos

Google AndroidDiego Souza

•Representa uma tela da aplicação composta por elementos visuais (android.view.view)

•Similar a JFrame do Swing

•O método setContentView(view) define qual a view principal da tela e deve sempre ser chamado no onCreate()

Activity

Google AndroidDiego Souza

A classe R

• Criada automaticamente e nunca deve ser modificada.

• Define constantes para acesso aos recursos do projeto.

• Ao utilizar um recurso, não precisamos colocar sua extensão.

• O nome dos arquivos adicionados, devem ser minúsculos e sem espaços, caso contrário, a classe R não será compilada corretamente.

Google AndroidDiego Souza

Android Manifest

• É a base de qualquer aplicação android, contendo as configurações necessárias para executar a aplicação.

• Toda activity deve ser declarada no manifest.

Google AndroidDiego Souza

Acessando elementos

• findViewById(R.id.nome_recurso);

• Usado para utilizar recursos da aplicação.

• Acesso aos recurso através dos Id’s da classe R

Google AndroidDiego Souza

•Fazem parte do pacote android.util.Log

•Podemos filtrar esses Log’s no DDMS

LogCat

Google AndroidDiego Souza

•Vamos ver um exemplo prático.

Exemplo

ActivityActivity

Google AndroidDiego Souza

•Uma tela da aplicação.

•Trata todos os eventos gerados pela tela.

•Composta por View’s (layouts).

•Qualquer aplicação (Dialer, browser, etc) é uma activity.

O que é?

Google AndroidDiego Souza

•Gerenciadas pela pilha de Activity.

•Toda activity possui um ciclo de vida.

•Todas devem ser declaradas no Manifest

•Toda activity deve herdar de Activity.

Ex: MyActivity extends Activity

Características

Google AndroidDiego Souza

Ciclo de Vida

Google AndroidDiego Souza

•O método startActivity(Intent) é usado para iniciar uma nova atividade (Activity), que será colocada no topo da atividade pilha.

•O método sempre deve receber por parâmetro a Intent da activity a ser inicializada.

•Ao inicializar, a nova activity ficará no topo da pilha.

Navegação entre telas

Google AndroidDiego Souza

•Ss vezes necessitamos obter um resultado de uma atividade quando ela termina sua execução.•

•Ex: Por exemplo, você pode iniciar uma atividade que permite ao usuário escolher uma pessoa em uma lista de contatos, quando termina, ele retorna a pessoa que foi selecionada.

•Para isso, utilizamos o método startActivityForResult(intent, data)

•Você receberá o retorno da execução no método onActivityResult(intent, data)

Recebendo parâmetros de outras telas

Google AndroidDiego Souza

•Passamos parâmetros para outras telas através das Intent’s.

•O método putExtra adiciona novos valores a intent que iniciará a nova activity.

Passando parâmetros para outras telas

Google AndroidDiego Souza

•Para encerrar um activity utilizamos o método finish()

•Ao utilizá-lo, o onDestroy() é invocado

Encerrando uma Activity

Google AndroidDiego Souza

•Vamos ver um exemplo prático.

Exemplo

IntentIntent

Google AndroidDiego Souza

•É considerada o coração do android

•Representa o envio de uma mensagem de requisição ao S.O. para que algo seja feito

•A mensagem é interpretada pela S.O.

•Representa uma“Ação” que uma aplicação deseja executar.

O que é uma intent?

Google AndroidDiego Souza

•Enviar uma mensagem ao S.O.

•Abrir uma nova tela da aplicação. Ex. startActivity(intent);

•Iniciar outra aplicação a partir da sua.

•Chamar um broadcast receiver

•Dentre outros

Utilização

Google AndroidDiego Souza

• Utilizamos uma intent para iniciar uma activity

• Ao receber uma intent, o S.O. interpreta a mensagem para iniciar alguma activity devidamente.

• Exemplo:

Intent it = new intent(this,tela2.class);

startActivity(it);

Navegação entre telas

Google AndroidDiego Souza

• Abrir o Browser

• Fazer ligações

• Tocar um arquivo mp3 da web

• Visualizar contatos da agenda

• Utilizar a API do google maps• Obs: Algumas aplicações precisam de permissões para

serem executadas.

Algumas intents nativas

Google AndroidDiego Souza

•Vamos ver alguns exemplos no Eclipse.

Exemplos

Intent FilterIntent Filter

Google AndroidDiego Souza

•Utilzado para interceptar mensagens que foram enviadas ao S.O.

•Muitas vezes não sabemos qual classe iniciará determiada activity

•Definimos filtros para as Intents, para que activity’s que estiverem com eles mapeados, saberem que estão sendo chamadas.

Intent Filter

Google AndroidDiego Souza

•Uma Tag <intent-filter> deve ser criada para a intent que receberá o filtro

•Exemplo:

<activity android:name=".Menu" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>

Configurando um Intent Filter

Google AndroidDiego Souza

•Toda intent com a tag action setada para MAIN e a categoria para LAUNCHER indica que ela será exibida no menu principal, e essa será a activity de entrada da sua aplicação.

Configurando um Intent Filter

Google AndroidDiego Souza

•Ação: Define o que a intent deseja realizar. Existem as padrões, mas podemos criar nossas próprias de acordo com as necessidades.

•Categoria: Conjunto de ações que definem o que a ação deseja realizar. Também é possível definir categorias próprias.

•Existem outros tipos de categorias, mas as principais são Action e Category.

Como identificar uma intent?

Google AndroidDiego Souza

•Se podemos criar uma activity sem o uso de filtros, é reamente necessário criá-los?

•Uma Intent é uma chamada ao S.O que qualquer aplicação pode responder.

•Útil também para fazer com que aplicações em processos diferentes se comuniquem.

•Integração entre aplicações.

Porque criar filtros?

Google AndroidDiego Souza

•Vamos ver alguns exemplos.

Exemplos

Google AndroidDiego Souza

•Crie uma nova aplicação que fará uma chamada a aplicação Controle de combustível via intent filter.

•Faça uma chamada a aplicação Controle de combustível e capture o melhor combustível a ser utilzado e exiba como resultado na sua aplicação.

Exercícios

Google AndroidDiego Souza

Referências Bibliográficas

• Google Android- Autor: Lecheta, Ricardo R.- Editora: Novatec

• Desenvolvimento de Aplicações Android - Autor: Mednieks, Zigurd; Meike, Blake;

- Editora: Novatec • Android para desenvolvedores

- Autor: Pereira, Lucio Camilo Oliva; - Editora: Brasport

Google AndroidDiego Souza

Links

• http://developer.android.com

• http://forum.portalandroid.org/

• http://www.androidbrasil.com/

Google AndroidDiego Souza

Perguntas

?

Google AndroidDiego Souza

Muito Obrigado...

• Diego Souzadiegotsouza83@hotmail.com

• Renato Françaragpf@hotmail.com