desenvolvimento android

54
Diego Keller [email protected] @diegokeller

Upload: diego-keller

Post on 11-Jun-2015

2.350 views

Category:

Technology


2 download

DESCRIPTION

Apresentação sobre desenvolvimento Android realizada por Diego Keller em Caxias do Sul - RS em evento promovido pela Flexxo.

TRANSCRIPT

Page 1: Desenvolvimento android

Diego Keller [email protected] @diegokeller

Page 2: Desenvolvimento android
Page 3: Desenvolvimento android

Primeiros conceitos Desafios Ambiente de desenvolvimento Números sobre o Android Buscando Informação Android Ice Cream Sandwich

Page 4: Desenvolvimento android
Page 5: Desenvolvimento android

Android é uma pilha!!!

Page 6: Desenvolvimento android

“Pilha de softwares para dispositivos móveis que inclui um sistema operacional, middleware e aplicações chave.”

O Android SDK provê as ferramentas e API’s necessárias para o desenvolvimento de aplicações para a plataforma Android usando a linguagem de programação Java.

Page 7: Desenvolvimento android
Page 8: Desenvolvimento android

Java VM

Dalvik VM

Máquina virtual Java simplificada e otimizada para execução de aplicações em dispositivos com menor poder de

processamento e memória.

Page 9: Desenvolvimento android

Não é compatível com a especificação da JVM:

Não pode rodar aplicativos Java SE nem ME

Executa arquivos no formato próprio .DEX É Open Source: Apache License 2.0

Page 10: Desenvolvimento android

Cada aplicação é executada em uma instância da VM Dalvik.

Aplicações não compartilham dados (memória) nem código.

A sistema Android foi adaptado para poder gerenciar diversas instância da VM simultaneamente.

Page 11: Desenvolvimento android

Existe uma API para cada versão do Android

Novas versões são compatíveis com as anteriores.

Fonte: http://developer.android.com/guide/appendix/api-levels.html

Page 12: Desenvolvimento android

Ao criar sua aplicação, procure compilar usando a menor versão da API possível.

Novas versões irão rodar sua aplicação sem problemas. Mas é importante que você teste a aplicação no maior número de versões possível.

E usando a menor versão possível, você aumenta o número de dispositivos que podem executar sua aplicação.

Page 13: Desenvolvimento android

Aplicações Android são empacotadas no formato .APK.

O Android é um sistema Linux multiusuário, onde cada aplicação tem o seu usuário.

Permissões são definidas em todos os arquivos da aplicação, de modo que apenas o usuário da própria aplicação tenha acesso.

Cada aplicação roda em um processo, que é uma instância da Dalvik.

Page 14: Desenvolvimento android
Page 15: Desenvolvimento android

Performance

Menos memória e processador, velocidade de conexão.

Usabilidade

Telas menores

Diversidade

de dispositivos

Compatibilidade

Diferentes versões da API do Android.

Page 16: Desenvolvimento android

Escolha as estruturas de dados corretas dependendo do seu problema.

Page 17: Desenvolvimento android

Assegure-se de utilizar algoritmos eficientes e de rápida execução.

Page 18: Desenvolvimento android

Escolher as estruturas de dados corretas e os algoritmos mais eficientes são a melhor forma de otimizar o seu programa.

Page 19: Desenvolvimento android

Prefira os tipos primitivos int aos objetos Integer.

Prefira dois arrays de objetos ao invés de um único array de um objeto novo. Pessoa[] destinatarios

String[] nomes

String[] emails Evite criar objetos que você não precisa, ou

objetos de vida curta. Quanto menos objetos você criar, melhor.

Page 20: Desenvolvimento android

Não use getters e setter para acesso a campos dentro da própria classe. Acesse-os diretamente.

Em comparação ao acesso por getter, o acesso direto é 3 x mais rápido em VM’s sem o JIT e 7 x mais rápido em VM’s com JIT.

Sempre que possível use constantes

static final int intVal = 42; static final String strVal = "Hello, world!";

Page 21: Desenvolvimento android

Use a seguinte sintaxe do for for (Foo a : mArray) { // Código }

Page 22: Desenvolvimento android

Threads Estruturas de Dados

API de coleções

Webservices

Page 23: Desenvolvimento android

ANR - Application Not Responding

Page 24: Desenvolvimento android

Tamanho da tela (em polegadas) Densidade da tela (resolução), medida em

pixels por polegada.

Page 25: Desenvolvimento android
Page 26: Desenvolvimento android

JDK

JAVA_HOME nas variáveis de ambiente

Adicionar a pasta JAVA_HOME/bin no PATH

Eclipse Android SDK

Apenas descompactar em um diretório

Plugin ADT para Eclipse

Configurar o caminho do Android SDK (pasta extraída anteriormente)

Page 27: Desenvolvimento android

Eclipse

Editor visual no estilo arrastar e soltar para construção das telas.

Execução em modo debug

Editor visual para o arquivo Manifest

Compilação, empacotamento e assinatura de sua aplicação em um arquivo .APK

Page 28: Desenvolvimento android
Page 29: Desenvolvimento android
Page 30: Desenvolvimento android

Emulador

Page 31: Desenvolvimento android

Android SDK and AVD Manager

Page 32: Desenvolvimento android

Contém uma séria de informações sobre sua aplicação.

Nele são feitas definições como: Permissões que sua aplicação precisa (acesso a

internet, a lista de contatos, etc)

Hardware e software necessários (câmera, bluetooth, etc)

Versão mínima do Android necessária para rodar a aplicação

Outras bibliotecas que não as nativas da plataforma.

Versão de sua aplicação

Page 33: Desenvolvimento android

O Android Market irá ler todas as informações do arquivo Manifest de modo a apresentar para o usuário apenas as aplicações que o seu dispositivo pode suportar.

Page 34: Desenvolvimento android

Inscrição:

https://market.android.com/publish/signup

Taxa de US$25,00 com cartão de crédito via Google Checkout.

Taxa de 30% do valor de cada cópia vendida do Android Market

Esse dinheiro vai para as entidades de pagamento e outros, não fica para o Google.

Page 35: Desenvolvimento android

A plataforma fornece uma ferramenta para aplicar licenciamento em aplicações.

Disponível apenas para aplicações pagas. Não tem custo nenhum. Exige API nível 3 no mínimo.

Page 36: Desenvolvimento android

A partir da versão 8 da API, você pode escolher que sua aplicação seja instalada no SD Card ao invés da memória interna.

É uma decisão que o desenvolvedor deve fazer. Para permitir isso, defina o parâmetro “android:installLocation” no seu arquivo de manifesto.

A qualquer momento o usuário pode mover a aplicação para o SD Card ou para a memória interna.

Page 37: Desenvolvimento android

O arquivo .APK fica no SD Card, mas todos os dados do usuário, bancos de dados e arquivos .DEX otimizados ficam dentro da memória interna.

Ao ser instalada no SD Card a aplicação é criptografada usando uma chave aleatória. Apenas o dispositivo aonde a aplicação foi instalada pode descriptografar e acessar a aplicação.

Page 38: Desenvolvimento android

Quando o cartão de memória for desmontado, ou o dispositivo conectado ao PC para armazenamento de arquivos, todas as aplicações instaladas no SD Card são automaticamente finalizadas.

Page 39: Desenvolvimento android
Page 41: Desenvolvimento android

Fonte: http://blog.nielsen.com/nielsenwire/?p=27418

Page 42: Desenvolvimento android

Março de 2011 Fonte: http://blog.nielsen.com/nielsenwire/?p=27418

Page 43: Desenvolvimento android

Agosto de 2011 Fonte: http://goo.gl/k4nm0

Page 44: Desenvolvimento android

Fonte: http://blog.nielsen.com/nielsenwire/?p=27418

Page 45: Desenvolvimento android

Dispositivos que acessaram o Android Market num período de 14 dias terminando em 3 de Outubro de 2011. Fonte: http://developer.android.com/resources/dashboard/platform-versions.html

Page 46: Desenvolvimento android

Dispositivos que acessaram o Android Market num período de 7 dias terminando em 3 de Outubro de 2011. Fonte: http://developer.android.com/resources/dashboard/screens.html

Page 47: Desenvolvimento android
Page 48: Desenvolvimento android

O melhor local para buscar informações é a página do desenvolvedor:

http://developer.android.com/index.html

Page 49: Desenvolvimento android

Lá você entra:

SDK’s

Documentação

Referência da API

Download de exemplos

Page 50: Desenvolvimento android
Page 51: Desenvolvimento android
Page 52: Desenvolvimento android

Lançado dia 19/10/2011 Unificação do Android para tablets e

smartphones. Aparelhos lançados em 2011 com Android 2.3

de fábrica serão atualizados para o ICS.

Page 53: Desenvolvimento android

Unificação do Android para tablets e smartphones.

Page 54: Desenvolvimento android