introdução à programação em android senac 15/05/2012

58
Introdução à programação em Android Guilherme Callegaro Sesterheim

Upload: guisester

Post on 18-Nov-2014

3.396 views

Category:

Documents


0 download

DESCRIPTION

Apresentação montada para

TRANSCRIPT

Page 1: Introdução à programação em Android Senac 15/05/2012

Introdução à programação em

Android

Guilherme Callegaro Sesterheim

Page 2: Introdução à programação em Android Senac 15/05/2012

GuilhermeSesterheim

• Consultor e desenvolvedor ABAP da ilegra

• Possui formação em Análise e

Desenvolvimento de Sistemas pela Unisinos

• Mestrando em Computação Aplicada na

Unisinos

• Experiência como desenvolvedor Java e na

plataforma Android

Page 3: Introdução à programação em Android Senac 15/05/2012

Agenda

• Quem é a ilegra?

• Android e smartphones

• Fragmentação de versões Android

• Ambiente de desenvolvimento

• Testes de aplicativos

• Publicando aplicativos

• Desenvolvimento

Page 4: Introdução à programação em Android Senac 15/05/2012
Page 5: Introdução à programação em Android Senac 15/05/2012
Page 6: Introdução à programação em Android Senac 15/05/2012
Page 7: Introdução à programação em Android Senac 15/05/2012
Page 8: Introdução à programação em Android Senac 15/05/2012
Page 9: Introdução à programação em Android Senac 15/05/2012

O que é: – Sistema operacional móvel baseado em Linux

– Adquirido pela Google em 2005 e lançado em 2008

– Desenvolvimento de aplicações é baseado em Java / C++ / C / C# e

Python

– Curiosidade: possui 12 milhões de linhas de código, divididas entre

XML, C, Java e C++

Android

Page 10: Introdução à programação em Android Senac 15/05/2012

Curiosidade

O Android em 2006

– Sem touch-screen

– Com teclado físico

Android

Page 11: Introdução à programação em Android Senac 15/05/2012

Android

- Hoje o Android Market possui mais de 450 mil aplicativos disponíveis (em maio de

2011 eram 200 mil)

- Todo mês, em média 20 mil novos aplicativos são enviados

- (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google

quase 350 mil

Page 12: Introdução à programação em Android Senac 15/05/2012

Perspectivas para desenvolvedores

- O Market vende mais do que a App Store

(maior loja de aplicativos existente) desde

março de 2011

- Desde janeiro de 2011, é permitida a

inclusão de pagamentos dentro de

aplicativos

- Projeção de lucro para desenvolvedores

independentes x empresas

Oportunidades de trabalho com Android:

– Sites de free-lancers

– Projetos open source

Empregos fixos: entre R$ 2000,00 para

desenvolvedores e R$ 8000,00 para

analistas

- Visibilidade

Android

Page 13: Introdução à programação em Android Senac 15/05/2012

Tendências encontradas

– Vendas de aplicativos na China cresce exponencialmente,

tendendo a ultrapassar os EUA como maior comprador de apps*

– Grandes jogos baixam seus preços cada vez mais

– 91% das grandes companhias já têm aplicativos para pelo

menos uma plataforma, e estudam a criação de aplicativos para

todas

– Líderes das app stores de hoje não são os de amanhã

- Entrada do WP

* Chineses não consomem aplicativos Android

Android

Page 14: Introdução à programação em Android Senac 15/05/2012

Android

Page 15: Introdução à programação em Android Senac 15/05/2012

Smartphones

– Marcos:

Nov 2009 – Lançamento do Motorola Milestone

Jun 2010 – Lançamento do Samsung Galaxy S

Maio 2012 – Lançamento do Samsung Galaxy SIII

– Top Android phones (04/2012):

Motorola - Droid Razr Maxx

Samsung - Galaxy Nexus (Galaxy X no Brasil)

HTC - One S

Samsung - Galaxy SII

– Curiosidades:

O lucro da HTC triplicou no primeiro trimestre de 2011 em função

da demanda por Androids

A Motorola estudava o desenvolvimento de um mobile OS próprio

Entrada tímida do WP no mercado não segura prejuízos da Nokia

Android

Page 16: Introdução à programação em Android Senac 15/05/2012

Smartphones de baixo custo

- Samsung Galaxy 5 – 2.1 (R$ 300,00)

- Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)

Android

Page 17: Introdução à programação em Android Senac 15/05/2012

Problemas do Market - Aplicativos maliciosos – roubo de

informações

-Em março de 2011 foram descobertos e

removidos 52 aplicativos virais do

Android Market. Eles representavam

diversas ameaças aos usuários,

responsáveis pelos mais de 50 mil

downloads (calculadora, xadrez, entre

outros)

- Iniciada a utilização do Google remote kill,

implementado desde 2008

Android

Page 18: Introdução à programação em Android Senac 15/05/2012
Page 19: Introdução à programação em Android Senac 15/05/2012

Fragmentação de versões do Android

Fragmentação de versões operando em smartphones (01/2012)

Page 20: Introdução à programação em Android Senac 15/05/2012

Tentativa de diminuição da fragmentação

Há a expectativa de diminuição da fragmentação de Androids

operando em smartphones e tablets através da liberação do 4.0 – Ice

Cream Sandwich, que será compatível com ambas as plataformas

Há uma negociação entre fabricantes e Google para que todos os

novos modelos de smartphone sejam atualizados por pelo menos 18

meses

Uma mudança recente da Google sobre o Market, fez

com que a partir de então os aplicativos que não são

compatíveis com o aparelho que está fazendo a

busca, não sejam mostrados

Fragmentação de versões do Android

Page 21: Introdução à programação em Android Senac 15/05/2012
Page 22: Introdução à programação em Android Senac 15/05/2012

Baixando o SDK

Ambiente de desenvolvimento

Page 23: Introdução à programação em Android Senac 15/05/2012

Escolhendo os SDK que serão instalados

Ambiente de desenvolvimento

Page 24: Introdução à programação em Android Senac 15/05/2012

Montando o ambiente de desenvolvimento

1 – Baixar o eclipse em eclipse.org/downloads

2 – Instalar o ADT (Android development tools) plugin

Ambiente de desenvolvimento

Page 25: Introdução à programação em Android Senac 15/05/2012

Ambiente de desenvolvimento

Page 26: Introdução à programação em Android Senac 15/05/2012

Ambiente de desenvolvimento

Page 27: Introdução à programação em Android Senac 15/05/2012

Ambiente de desenvolvimento

Montando o ambiente de desenvolvimento – alternativa

1 – Baixar o plugin diretamente no site do Android

2 – Repetir o procedimento mostrado anteriormente, porém escolhendo o

arquivo localmente

Após a instalação, é necessário indicar qual SDK deverá ser utilizado através

do menu Window > Preferences > Android

IMPORTANTE: é necessário verificar periodicamente as atualizações, através do menu

Help > Check for Updates, ou através do site do Android

Page 28: Introdução à programação em Android Senac 15/05/2012

Ambiente de desenvolvimento

Motodev studio –Gratuito

–Não há restrição a aparelhos da Motorola

–Principais diferenciais:

* App validator (permissões, e uso de

código)

* Code snippets (adicionar facilmente

códigos já construídos)

* Application signing automático

* Suporta o Android NDK (desenvolvimento

em C e C++)

* Screen capture de dispositivos emulados e físicos*

* Tradutor de aplicativos nativo

Page 29: Introdução à programação em Android Senac 15/05/2012

Construtor de interface

Ambiente de desenvolvimento

Page 30: Introdução à programação em Android Senac 15/05/2012
Page 31: Introdução à programação em Android Senac 15/05/2012

Testes de Aplicativos

Criando dispositivos de teste

Page 32: Introdução à programação em Android Senac 15/05/2012

Emulador

Testes de Aplicativos

Page 33: Introdução à programação em Android Senac 15/05/2012

ADB – Android Debug Bridge

- O que é

- Localizado em <sdk-path>/platform-tools/

- Pode receber instruções via linha de comando

Testes de Aplicativos

Page 34: Introdução à programação em Android Senac 15/05/2012
Page 35: Introdução à programação em Android Senac 15/05/2012

Publicando Aplicativos

Criando conta no Android Market

Page 36: Introdução à programação em Android Senac 15/05/2012

- Inserindo dados

comerciais na conta do

Google Checkout para

poder vender aplicativos

- É permitido o cadastro de

pessoas físicas

Publicando Aplicativos

Page 37: Introdução à programação em Android Senac 15/05/2012

Atrelando conta do AdSense ao Google Checkout

Publicando Aplicativos

Page 38: Introdução à programação em Android Senac 15/05/2012

Manage board

Publicando Aplicativos

Page 39: Introdução à programação em Android Senac 15/05/2012

Passos para publicar um aplicativo:

1. Enviando o .apk

2. Enviar recursos para divulgação

3. Descrever detalhes sobre a aplicação

4. Opções de publicação

5. Informações para contato a ser divulgada aos usuários

6. Autorização ao Google

Publicando Aplicativos

Page 40: Introdução à programação em Android Senac 15/05/2012

Enviar recursos para divulgação

Publicando Aplicativos

Page 41: Introdução à programação em Android Senac 15/05/2012

Descrever detalhes sobre a aplicação

Publicando Aplicativos

Page 42: Introdução à programação em Android Senac 15/05/2012

Descrever detalhes sobre a aplicação / Opções de

publicação

Publicando Aplicativos

Page 43: Introdução à programação em Android Senac 15/05/2012

– Informações para contato a ser divulgada aos usuários

– Autorização ao Google

Publicando Aplicativos

Page 44: Introdução à programação em Android Senac 15/05/2012
Page 45: Introdução à programação em Android Senac 15/05/2012

Desenvolvimento

Fundamentals

- Os aplicativos de Android são instalados através de um .apk

- A partir do momento em que é instalado, cada aplicativo do Android

tem sua sandbox (baseia-se no conceito de multi-usuários do Linux)

- Cada processo recebe suas permissões específicas

- Cada processo executa dentro de uma VM

- Cada aplicação consegue acessar apenas o que foi determinado

através do manifest

Page 46: Introdução à programação em Android Senac 15/05/2012

Manifest

Desenvolvimento

Page 47: Introdução à programação em Android Senac 15/05/2012

Desenvolvimento

- ADB – Android Debug Bridge

- AVD – Android Virtual Device

- Logcat

- Captura de telas

-Debug.startMethodTracing(String fileName)

Debugging

Page 48: Introdução à programação em Android Senac 15/05/2012

Desenvolvimento

Activities

- Uma Activity é um componente da aplicação (uma classe), que proverá uma

tela com a qual o usuário poderá interagir

- Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída para

ser feito o efeito de flutuação sobre outras telas já existentes

- Implementando métodos obrigatórios:

onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()

- Intents:

ACTION_VIEW

ACTION_DIAL

ACTION_EDIT

ACTION_MAIN

Page 49: Introdução à programação em Android Senac 15/05/2012

- Definindo a tela que será exibida:

setContentView( String

codigoArquivoXML)

- Iniciando sub atividade:

startActivity(Intent nova)

- Capturando resultado de uma

atividade: startActivityForResult() /

onActivityResult()

- Finalizando uma atividade: finish() /

finishActivity()

- Guardando o estado de uma Activity –

onSaveInstanceState() /

onRestoreInstanceState()

- Outros eventos importantes:

onCreateOptionsMenu, onKeyDown,

onMenuItemSelected, onTouchEvent,

onWindowFocusChanged

Desenvolvimento

Page 50: Introdução à programação em Android Senac 15/05/2012

- São atividades que operam em background por um longo tempo

e não provêem interface para o usuário

- É necessário declarar os Services, que a aplicação poderá

disparar, no manifest

- Pode ser executado, desacoplado, e capturado futuramente

- onCreate(), onStartCommand(), onBind(), onUnbind(),

onRebind(), onDestroy()

Services

Desenvolvimento

Page 51: Introdução à programação em Android Senac 15/05/2012

Desenvolvimento

Page 52: Introdução à programação em Android Senac 15/05/2012

UI – User Interface ViewGroup, View

addView(View)

Listeners

Desenvolvimento

Page 53: Introdução à programação em Android Senac 15/05/2012

- Shared Preferences – dados de usuário / internos do smartphone

- Internal storage

MODE_PRIVATE

MODE_APPEND

MODE_WORLD_READABLE

MODE_WORLD_WRITABLE

- External storage

Environment.getExternalStorageState()

getExternalStoragePublicDirectory() –

images/music/ringtones/videos

- SQLite databases

- Network connection

Data Storage

Desenvolvimento

Page 54: Introdução à programação em Android Senac 15/05/2012

- Nenhuma aplicação tem permissão para interferir em outros processos,

outras aplicações, ou informações confidenciais do sistema

- Application signing

- Permissões

Existem 115 diferentes tipos de permissões

Security

Desenvolvimento

Page 55: Introdução à programação em Android Senac 15/05/2012

- Manifest

- AppWidgetProviderInfo

- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()

Widgets

Desenvolvimento

Page 56: Introdução à programação em Android Senac 15/05/2012
Page 57: Introdução à programação em Android Senac 15/05/2012

Perg

untas

?

Page 58: Introdução à programação em Android Senac 15/05/2012

Obrigado! Guilherme Sesterheim

[email protected]

@guisester