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

Download Introdução à programação em Android - Alcides Maya 16.04.2013

Post on 11-Jun-2015

832 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

  • 1. Introduo programao emAndroidGuilherme Callegaro Sesterheim

2. GuilhermeSesterheim Consultor e desenvolvedor ABAP da ilegra Mestre em Computao Aplicada pelaUnisinos Experincia como desenvolvedor Java,Android e iOS 3. Agenda Quem a ilegra? Android e smartphones Ambiente de desenvolvimento Testes de aplicativos Desenvolvimento 4. Vagas na ilegra 5. O que : Sistema operacional mvel baseado em Linux Adquirido pela Google em 2005 e lanado em 2008 Desenvolvimento de aplicaes baseado em Java / C++ / C / C# ePython Curiosidade: possui 12 milhes de linhas de cdigo, divididas entreXML, C, Java e C++Android 6. O Android em 2006 Sem touch-screen Com teclado fsicoAndroid 7. Android 8. Android- Em setembro de 2012 o Android Market possua mais de 675 mil aplicativosdisponveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Tambm emsetembro alcanaram a marca de 25 bilhes de downloads de aplicativos.- Todo ms, mais de 20 mil novos aplicativos so enviados.- (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Googlequase 350 mil- A cada dia, 1 milho dispositivos Android so ativados. Espera-se que estenmero chegue a 1,5 milho e mantenha-se estvel a partir de ento em 2014 9. Perspectivas para desenvolvedores- A Plays store vende mais do que a AppStore desde maro de 2011- Desde janeiro de 2011, permitida aincluso de pagamentos dentro deaplicativos- Projeo de lucro para desenvolvedoresindependentes x empresas- 80% do dinheiro das app stores vo paraas grandes desenvolvedorasOportunidades de trabalho com Android: Sites de free-lancers Projetos open sourceEmpregos fixos: entre R$ 2000,00 paradesenvolvedores e R$ 8000,00 paraanalistas- VisibilidadeAndroidImagem desatualizada 10. Android 11. Smartphones Marcos:Nov 2009 Lanamento do Motorola MilestoneJun 2010 Lanamento do Samsung Galaxy SMaio 2012 Lanamento do Samsung Galaxy SIII Top Android phones (10/2012):Motorola - Droid Razr HD (bateria)Samsung - Galaxy SIIISamsung - Galaxy Nexus (Galaxy X no Brasil)LG Optimus G (ainda no disponvel no Brasil)HTC - One X+ (ainda no disponvel no Brasil) Curiosidades: Microsoft lucra mais com Android do que com WPAndroid 12. Smartphones de baixo custo- Samsung Galaxy 5 2.1 (R$ 300,00)- Sony Ericsson Xperia X10 2.1 (R$ 300,00)Android 13. Baixando o SDK developer.android.comAmbiente de desenvolvimento 14. Escolhendo os SDK que sero instaladosAmbiente de desenvolvimento 15. Montando o ambiente de desenvolvimento1 Eclipse em eclipse.org/downloads2 Instalar o ADT (Android development tools) pluginAmbiente de desenvolvimento 16. Ambiente de desenvolvimento 17. Ambiente de desenvolvimento 18. Ambiente de desenvolvimentoMontando o ambiente de desenvolvimento alternativa1 Baixar o plugin diretamente no site do Android2 Repetir o procedimento mostrado anteriormente, porm escolhendo oarquivo localmenteAps a instalao, necessrio indicar qual SDK dever ser utilizado atravsdo menu Window > Preferences > AndroidIMPORTANTE: necessrio verificar periodicamente as atualizaes, atravs do menuHelp > Check for Updates, ou atravs do site do Android 19. Ambiente de desenvolvimentoMotodev studioGratuitoNo h restrio a aparelhos da MotorolaPrincipais diferenciais:* App validator (permisses, e uso de cdigo)* Code snippets (adicionar facilmente cdigos j construdos)* Application signing automtico* Suporta o Android NDK (desenvolvimento em C e C++)* Screen capture de dispositivos emulados* Tradutor de aplicativos nativo 20. Construtor de interfaceAmbiente de desenvolvimento 21. Testes de AplicativosCriando dispositivos de teste 22. EmuladorTestes de Aplicativos 23. ADB Android Debug Bridge- Localizado em /platform-tools/- Pode receber instrues via linha de comandoTestes de Aplicativos 24. DesenvolvimentoFundamentals- Os aplicativos de Android so instalados atravs de um .apk- A partir do momento em que instalado, cada aplicativo do Androidtem sua sandbox (baseia-se no conceito de multi-usurios do Linux)- Cada processo recebe suas permisses especficas- Cada processo executa dentro de uma VM- Cada aplicao consegue acessar apenas o que foi determinadoatravs do manifest 25. ManifestDesenvolvimento 26. Desenvolvimento- ADB Android Debug Bridge- AVD Android Virtual Device- Logcat- Captura de telas- Debug.startMethodTracing(String fileName)Debugging 27. DesenvolvimentoActivities- Uma Activity um componente da aplicao (uma classe), que prover umatela com a qual o usurio poder interagir- Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuda paraser feito o efeito de flutuao sobre outras telas j existentes- Implementando mtodos obrigatrios:onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()- Intents:ACTION_VIEWACTION_DIALACTION_EDITACTION_MAIN 28. - Definindo a tela que ser exibida:setContentView( StringcodigoArquivoXML)- Iniciando sub atividade:startActivity(Intent nova)- Capturando resultado de umaatividade: startActivityForResult() /onActivityResult()- Finalizando uma atividade: finish() /finishActivity()- Guardando o estado de uma Activity onSaveInstanceState() /onRestoreInstanceState()- Outros eventos importantes:onCreateOptionsMenu, onKeyDown,onMenuItemSelected, onTouchEvent,onWindowFocusChangedDesenvolvimento 29. - So atividades que operam em background por um longo tempoe no provem interface para o usurio- necessrio declarar os Services, que a aplicao poderdisparar, no manifest- Pode ser executado, desacoplado, e capturado futuramente- onCreate(), onStartCommand(), onBind(), onUnbind(),onRebind(), onDestroy()ServicesDesenvolvimento 30. Desenvolvimento 31. UI User InterfaceDesenvolvimento 32. - Shared Preferences dados de usurio / internos do smartphone- Internal storageMODE_PRIVATEMODE_APPENDMODE_WORLD_READABLEMODE_WORLD_WRITABLE- External storageEnvironment.getExternalStorageState()getExternalStoragePublicDirectory() images/music/ringtones/videos- SQLite databases- Network connectionData StorageDesenvolvimento 33. - Nenhuma aplicao tem permisso para interferir em outros processos,outras aplicaes, ou informaes confidenciais do sistema- Application signing- PermissesExistem 115 diferentes tipos de permissesSecurityDesenvolvimento 34. - Manifest- AppWidgetProviderInfo- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()WidgetsDesenvolvimento 35. Obrigado!Guilherme Sesterheimguilherme.sesterheim@ilegra.comfacebook.com/guilherme.sesterheimwww.sesterheim.com.brPerguntas