introdução à programação em android senac 17.06.2013

36
Guilherme Callegaro Sesterhe

Upload: guisester

Post on 11-Jun-2015

308 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introdução à programação em Android SENAC 17.06.2013

Guilherme Callegaro Sesterheim

Page 2: Introdução à programação em Android SENAC 17.06.2013

Quem sou eu?

GuilhermeSesterheim

•Consultor e desenvolvedor ABAP da ilegra

•Mestre em Computação Aplicada pela Unisinos

•Experiência como desenvolvedor Java, Android e iOS

Page 3: Introdução à programação em Android SENAC 17.06.2013

Agenda

• Quem é a ilegra?

• Android e smartphones

• Ambiente de desenvolvimento

• Testes de aplicativos

• Desenvolvimento

Page 4: Introdução à programação em Android SENAC 17.06.2013
Page 5: Introdução à programação em Android SENAC 17.06.2013
Page 6: Introdução à programação em Android SENAC 17.06.2013
Page 7: Introdução à programação em Android SENAC 17.06.2013
Page 8: Introdução à programação em Android SENAC 17.06.2013
Page 9: Introdução à programação em Android SENAC 17.06.2013

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 17.06.2013

O Android em 2006– Sem touch-screen– Com teclado físico

Android

Page 11: Introdução à programação em Android SENAC 17.06.2013

Android

Page 12: Introdução à programação em Android SENAC 17.06.2013

Android

- Em junho de 2013 são quase 1 milhão de aplicativos disponíveis.

- 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

Page 13: Introdução à programação em Android SENAC 17.06.2013

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

Page 14: Introdução à programação em Android SENAC 17.06.2013

Android

Page 15: Introdução à programação em Android SENAC 17.06.2013

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 (06/2013): Samsung – Galaxy S4

Samsung – Galaxy S3

Samsung – Galaxy Note 2

– Curiosidades: •Microsoft lucra mais com Android do que com WP

Android

Page 16: Introdução à programação em Android SENAC 17.06.2013

Smartphones de baixo custo – 17/06/2013

Android

Page 17: Introdução à programação em Android SENAC 17.06.2013
Page 18: Introdução à programação em Android SENAC 17.06.2013

Baixando o SDK – http://developer.android.com/sdk/index.html

Ambiente de desenvolvimento

Page 19: Introdução à programação em Android SENAC 17.06.2013

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

Page 20: Introdução à programação em Android SENAC 17.06.2013
Page 21: Introdução à programação em Android SENAC 17.06.2013

Emulador

Testes de Aplicativos

Page 22: Introdução à programação em Android SENAC 17.06.2013

ADB – Android Debug Bridge

- Localizado em <sdk-path>/platform-tools/- Pode receber instruções via linha de comando

Testes de Aplicativos

Page 23: Introdução à programação em Android SENAC 17.06.2013
Page 24: Introdução à programação em Android SENAC 17.06.2013

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 25: Introdução à programação em Android SENAC 17.06.2013

Manifest

Desenvolvimento

Page 26: Introdução à programação em Android SENAC 17.06.2013

Desenvolvimento

- ADB – Android Debug Bridge

- AVD – Android Virtual Device

- Logcat

- Captura de telas

- Debug.startMethodTracing(String fileName)

Debugging

Page 27: Introdução à programação em Android SENAC 17.06.2013

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()

- Exemplos Intent:ACTION_DIALACTION_MAIN

Page 28: Introdução à programação em Android SENAC 17.06.2013

- 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 29: Introdução à programação em Android SENAC 17.06.2013

- 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 30: Introdução à programação em Android SENAC 17.06.2013

Desenvolvimento

Page 31: Introdução à programação em Android SENAC 17.06.2013

UI – User Interface

Desenvolvimento

Page 32: Introdução à programação em Android SENAC 17.06.2013

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

MODE_PRIVATEMODE_APPENDMODE_WORLD_READABLEMODE_WORLD_WRITABLE

- External storageEnvironment.getExternalStorageState()getExternalStoragePublicDirectory() – images/music/ringtones/videos

- SQLite databases- Network connection

Data Storage

Desenvolvimento

Page 33: Introdução à programação em Android SENAC 17.06.2013

- 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 34: Introdução à programação em Android SENAC 17.06.2013

- Manifest

-AppWidgetProviderInfo

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

Widgets

Desenvolvimento

Page 35: Introdução à programação em Android SENAC 17.06.2013
Page 36: Introdução à programação em Android SENAC 17.06.2013

Obrigado!Guilherme Sesterheim

[email protected]

facebook.com/guilherme.sesterheim

www.sesterheim.com.br

Perguntas