introdução à programação em android - alcides maya 16.04.2013

Post on 11-Jun-2015

835 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução à programação em

Android

Guilherme Callegaro Sesterheim

GuilhermeSesterheim

• Consultor e desenvolvedor ABAP da ilegra

• Mestre em Computação Aplicada pela

Unisinos

• Experiência como desenvolvedor Java,

Android e iOS

Agenda

• Quem é a ilegra?

• Android e smartphones

• Ambiente de desenvolvimento

• Testes de aplicativos

• Desenvolvimento

Vagas na ilegra

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

O Android em 2006

– Sem touch-screen

– Com teclado físico

Android

Android

Android

- Em setembro de 2012 o Android Market possuía mais de 675 mil aplicativos

disponíveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Também em

setembro alcançaram a marca de 25 bilhões de downloads de aplicativos.

- Todo mês, mais de 20 mil novos aplicativos são enviados.

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

quase 350 mil

- A cada dia, 1 milhão dispositivos Android são ativados. Espera-se que este

número chegue a 1,5 milhão e mantenha-se estável a partir de então em 2014

Perspectivas para desenvolvedores

- A Plays store vende mais do que a App

Store 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

- 80% do dinheiro das app stores vão para

as grandes desenvolvedoras

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

Imagem desatualizada

Android

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 (10/2012):

Motorola - Droid Razr HD (bateria)

Samsung - Galaxy SIII

Samsung - Galaxy Nexus (Galaxy X no Brasil)

LG Optimus G (ainda não disponível no Brasil)

HTC - One X+ (ainda não disponível no Brasil)

– Curiosidades:

• Microsoft lucra mais com Android do que com WP

Android

Smartphones de baixo custo

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

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

Android

Baixando o SDK – developer.android.com

Ambiente de desenvolvimento

Escolhendo os SDK que serão instalados

Ambiente de desenvolvimento

Montando o ambiente de desenvolvimento

1 – Eclipse em eclipse.org/downloads

2 – Instalar o ADT (Android development tools) plugin

Ambiente de desenvolvimento

Ambiente de desenvolvimento

Ambiente de desenvolvimento

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

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

* Tradutor de aplicativos nativo

Construtor de interface

Ambiente de desenvolvimento

Testes de Aplicativos

Criando dispositivos de teste

Emulador

Testes de Aplicativos

ADB – Android Debug Bridge

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

- Pode receber instruções via linha de comando

Testes de Aplicativos

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

Manifest

Desenvolvimento

Desenvolvimento

- ADB – Android Debug Bridge

- AVD – Android Virtual Device

- Logcat

- Captura de telas

- Debug.startMethodTracing(String fileName)

Debugging

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

- 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

- 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

Desenvolvimento

UI – User Interface

Desenvolvimento

- 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

- 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

- Manifest

- AppWidgetProviderInfo

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

Widgets

Desenvolvimento

Obrigado! Guilherme Sesterheim

guilherme.sesterheim@ilegra.com

facebook.com/guilherme.sesterheim

www.sesterheim.com.br

Perguntas

top related