desenvolvimento para android - bento gonçalves (08/2011)

84

Upload: gustavo-ciello

Post on 16-Jan-2015

1.638 views

Category:

Technology


0 download

DESCRIPTION

Slides do workshop sobre Desenvolvimento para Android, apresentado no Tchêlinux Bento Gonçalves (13/08/2011). http://tchelinux.org/site/doku.php?id=evento_2011_agosto_bento

TRANSCRIPT

Page 1: Desenvolvimento para Android - Bento Gonçalves (08/2011)
Page 2: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Desenvolvimento para

Page 3: Desenvolvimento para Android - Bento Gonçalves (08/2011)

4 Frases que o dono de um Android escuta [todos os dias]

Page 4: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Que marca de iPhone é esse seu ?

Page 5: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Nossa! Com esse dinheiro dava até pra comprar um iPhone!

Page 6: Desenvolvimento para Android - Bento Gonçalves (08/2011)

É uma imitação do iPhone?

Page 7: Desenvolvimento para Android - Bento Gonçalves (08/2011)

A bateria do meu Nokia 5125 dura duas semanas a fio. E eu mando SMS!

Page 8: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Quem sou eu

Page 9: Desenvolvimento para Android - Bento Gonçalves (08/2011)

História do AndroidOutros OSs para dispositivos móveis

Coisas boas do Android

Coisas ruins do Android

O que é o AndroidMercado Mobile

Paradigmas de desenvolvimento

Estrutura de um aplicativo Android

Conceitos utilizados no desenvolvimentoAmbiente e Ferramentas

Hello World Como debugar uma aplicaç!ao móvel

Publicação de Apps no Android Market

Page 10: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Sistemas Operacionais(para dispositivos móveis)

• Visão tradicional‒ Modelo fechado‒ Symbian, PalmOS, WinMo,

Blackberry‒ Linux (sem padrões)‒ JavaME

Page 11: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Sistemas Operacionais(para dispositivos móveis)

• Visão atual‒ Modelo aberto‒ iOS, Android, WinMO,

Blackberry, Symbian‒ Desenvolvimento nativo‒ “Apps” & “Markets”

Page 12: Desenvolvimento para Android - Bento Gonçalves (08/2011)
Page 13: Desenvolvimento para Android - Bento Gonçalves (08/2011)

O Android é um “Software Stack”

Page 14: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Software Stack

• Aplicações

• Middleware

• Sistema Operacional

Page 15: Desenvolvimento para Android - Bento Gonçalves (08/2011)
Page 16: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Parte Linux

• Kernel 2.6• Drivers, memória, rede,

gerenciamento de processos

• Sem glibc (custom)• Sem “unix utils”• Sem Xwindow

Page 17: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Parte Middleware

• Bibliotecas de baixo nível• SSL, OpenGL, Codecs,

Webkit, SQLite, Dalvik

• Application Framework• Activity Mngr, Location Mngr,

Notification Mngr, Telephony

Page 18: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Parte Aplicações

• Home• Contatos• Telefone• Browser• Gmail• Maps• Market (...)

Page 19: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Dizem que Android == Java...

Page 20: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Porque Android != Java

• Android *usa* Java• Implementa parte da

especificação Apache Harmony• dex != class• apk != jar• Dalvik != Oracle JVM• Patentes

Page 21: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Dalvik, Eyjafjörður, Islândia

Page 22: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Dalvik

• Apache Harmony• Otimizado para as

restrições dos dispositivos móveis

• Não precisa de SWAP• Multiplas VMs

https://sites.google.com/site/io/dalvik-vm-internals

Page 23: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Um pouco de história [pic related]

Page 24: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Agosto/2005 – Google adquire uma empresa chamada “Android Inc.”, de Palo Alto (Califórnia) e fundada em

Outubro/2003

Page 25: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Setembro/2007

Page 26: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Novembro/2007

Page 27: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.0 (Sem nome)

Page 28: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.0 e 1.1

• Set/2008 e Fev/2009• Primeira versão (e update)• HTC G1 e HTC Dream• Early Adopters

Page 29: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.5 (Cupcake)

Page 30: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.5

• Abril/2009• Widgets• Gravação de video• MPEG4• Teclados de terceiros• HTC Hero

Page 31: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.6 (Donut)

Page 32: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 1.6

• Set/2009• Android Market• Suporte a CDMA e VPNs• Navegação GPS• Text-to-speech

Page 33: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.0 e 2.1 (Eclair)

Page 34: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.0 e 2.1

• Out/2009 e Jan/2010• Melhorias na câmera• Melhorias no navegador• Desempenho• Motorola Milestone• Nexus One

Page 35: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.2 (Froyo)

Page 36: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.2

• Maio/2010• Desempenho• Compilador JIT• V8• Tethering e Hotspot Wi-Fi nativo• Apps no SD• Adobe Flash• Telas com alto DPI (320)

Page 37: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.3 (Gingerbread)

Page 38: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 2.3

• Dez/2010• Nova Interface• Desempenho (GC concorrente)• SIP nativo (VoIP) e chat por video• NFC• Download Manager• Múltiplas câmeras• NDK melhorado• Nexus S

Page 39: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 3.0, 3.1 e 3.2 (Honeycomb)

Page 40: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 3.x

• Fev-Mai-Jul/2011• Suporte exclusivo a Tablets (Sistema

totalmente redesenhado)• Dispositivos USB (3.1)• Suporte a novos hardwares• Modo de compatibilidade (3.2)• Motorola XOOM

Page 41: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android 4.0? (Ice Cream Sandwich)

Page 42: Desenvolvimento para Android - Bento Gonçalves (08/2011)

O mercado Android hoje

Page 43: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Vendas - Comparativo

Page 44: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Smartphones - EUA

Page 45: Desenvolvimento para Android - Bento Gonçalves (08/2011)

~500.000 ativações por dia

Page 46: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Estranhas patentes

Page 47: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Incidentes de segurança

Page 48: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Fragmentação (Agosto 2011)

Page 49: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Pirataria

Page 50: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Comunidade

Page 51: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Concorrência

Page 52: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Desenvolver para dispositivos móveis é quebrar paradigmas

Page 53: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Você não usa o celular como usa um computador !

Page 54: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Há coisas que só podem ser feitas com um celular!

Page 55: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Você não pode [nem deve] prever onde e quando seu App será usado.

Page 56: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Bons desenvolvedores conhecem vários programas

Page 57: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Bons desenvolvedores conhecem outros desenvolvedores

Page 58: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Bons desenvolvedores conhecem vários dispositivos

Page 59: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Apps que resolvem um problema

Page 60: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Apps que resolvem um problema que os usuários não sabem que tem

Page 61: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Feedback com bom senso

Page 62: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android Building Blocks

Page 63: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Application

Page 64: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Activities

Page 65: Desenvolvimento para Android - Bento Gonçalves (08/2011)
Page 66: Desenvolvimento para Android - Bento Gonçalves (08/2011)
Page 67: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Views e Widgets

Page 68: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Services

Page 69: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Foreground Services

Page 70: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Broadcast Receivers

Page 71: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Notifications

Page 72: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Content Providers

Page 73: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Data Storage

• Shared Preferences• Internal Storage• External Storage• SQLite• Network Connection

Page 74: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Intents

Page 75: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Intents implícitos e intent filter

Page 76: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Resources

• Drawables• Layouts• Values• XML• Menu• Animations• RAW

Page 77: Desenvolvimento para Android - Bento Gonçalves (08/2011)

• Tamanhos e densidades de telas• Orientação do dispositivo• Funções do dispositivo (Teclado, Touch)• Localização• Versão do Android

Alternative Resources

Page 78: Desenvolvimento para Android - Bento Gonçalves (08/2011)

AndroidManifest.xml

Page 79: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Debug e testeEmulador x Device

Page 80: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Publicando sua App

• Chaves• Assinatura• Alinhamento• Versionamento• Teste• Mais teste• APK

Page 81: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Android Market

• Regras do Market• Conta de desenvolvedor• US$ 25,00• Licenciamento• In-App Billing• Teste• Bom senso• Usuários

Page 82: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Mais Recursos

• http://developer.android.com• http://portalandroid.org• http://www.androidbrasil.com• http://diariodoandroid.com.br• http://www.euandroid.com.br• http://vidamovelblog.com

Page 83: Desenvolvimento para Android - Bento Gonçalves (08/2011)

?

Page 84: Desenvolvimento para Android - Bento Gonçalves (08/2011)

Obrigado!

ciello [at] gmail [dot] com@gustavociello