Desenvolvimento para
4 Frases que o dono de um Android escuta [todos os dias]
Que marca de iPhone é esse seu ?
Nossa! Com esse dinheiro dava até pra comprar um iPhone!
É uma imitação do iPhone?
A bateria do meu Nokia 5125 dura duas semanas a fio. E eu mando SMS!
Quem sou eu
História do Android Outros OSs para dispositivos móveis Coisas boas do Android Coisas ruins do Android O que é o Android Mercado Mobile Paradigmas de desenvolvimento Estrutura de um aplicativo Android Conceitos utilizados no desenvolvimento Ambiente e Ferramentas Hello World Como debugar uma aplicaç!ao móvel Publicação de Apps no Android Market
Sistemas Operacionais (para dispositivos móveis) Visão tradicional Modelo fechado Symbian, PalmOS, WinMo, Blackberry Linux (sem padrões) JavaME
Sistemas Operacionais (para dispositivos móveis) Visão atual Modelo aberto iOS, Android, WinMO, Blackberry, Symbian Desenvolvimento nativo “ Apps” & “Markets”
 
O Android é um “Software Stack”
Software Stack Aplicações Middleware Sistema Operacional
 
Parte Linux Kernel 2.6 Drivers, memória, rede, gerenciamento de processos  Sem glibc (custom) Sem “unix utils” Sem Xwindow
Parte Middleware Bibliotecas de baixo nível SSL, OpenGL, Codecs,  Webkit, SQLite, Dalvik Application Framework Activity Mngr, Location Mngr, Notification Mngr, Telephony
Parte Aplicações Home Contatos Telefone Browser Gmail Maps Market (...)
Dizem que Android == Java...
Porque Android != Java Android *usa* Java Implementa parte da especificação Apache Harmony dex != class apk != jar Dalvik != Oracle JVM Patentes
Dalvik, Eyjafjörður, Islândia
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
Um pouco de história [pic related]
Agosto/2005 – Google adquire uma empresa chamada “Android Inc.”, de Palo Alto (Califórnia) e fundada em Outubro/2003
Setembro/2007
Novembro/2007
Android 1.0 (Sem nome)
Android 1.0 e 1.1 Set/2008 e Fev/2009 Primeira versão (e update) HTC G1 e HTC Dream Early Adopters
Android 1.5 (Cupcake)
Android 1.5 Abril/2009 Widgets Gravação de video MPEG4 Teclados de terceiros HTC Hero
Android 1.6 (Donut)
Android 1.6 Set/2009 Android Market Suporte a CDMA e VPNs Navegação GPS Text-to-speech
Android 2.0 e 2.1 (Eclair)
Android 2.0 e 2.1 Out/2009 e Jan/2010 Melhorias na câmera Melhorias no navegador Desempenho Motorola Milestone Nexus One
Android 2.2 (Froyo)
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)
Android 2.3 (Gingerbread)
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
Android 3.0, 3.1 e 3.2 (Honeycomb)
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
Android 4.0? (Ice Cream Sandwich)
O mercado Android hoje
Vendas - Comparativo
Smartphones - EUA
~500.000 ativações por dia
Estranhas patentes
Incidentes de segurança
Fragmentação (Agosto 2011)
Pirataria
Comunidade
Concorrência
Desenvolver para dispositivos móveis é quebrar paradigmas
Você não usa o celular como usa um computador !
Há coisas que só podem ser feitas com um celular!
Você não pode [nem deve] prever onde e quando seu App será usado.
Bons desenvolvedores conhecem vários programas
Bons desenvolvedores conhecem outros desenvolvedores
Bons desenvolvedores conhecem vários dispositivos
Apps que resolvem um problema
Apps que resolvem um problema que os usuários não sabem que tem
Feedback com bom senso
Android Building Blocks
Application
Activities
 
 
Views e Widgets
Services
Foreground Services
Broadcast Receivers
Notifications
Content Providers
Data Storage Shared Preferences Internal Storage External Storage SQLite Network Connection
Intents
Intents implícitos e intent filter
Resources Drawables Layouts Values XML Menu Animations RAW
Tamanhos e densidades de telas Orientação do dispositivo Funções do dispositivo (Teclado, Touch) Localização Versão do Android Alternative Resources
AndroidManifest.xml
Debug e teste Emulador x Device
Publicando sua App Chaves Assinatura Alinhamento Versionamento Teste Mais teste APK
Android Market Regras do Market Conta de desenvolvedor US$ 25,00 Licenciamento In-App Billing Teste Bom senso Usuários
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
?
Obrigado! ciello [at] gmail [dot] com @gustavociello

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