Your SlideShare is downloading. ×
0
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Android26.05
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android26.05

2,542

Published on

Basic structure to start programming to Android, configuring the development tools and environments, and notions about interface and coding

Basic structure to start programming to Android, configuring the development tools and environments, and notions about interface and coding

Published in: Education, Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,542
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
304
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. * Unisinos – UNIINFO 2011 – 26/05/2011 Guilherme Callegaro Sesterheim
  • 2. * Android e smartphones* Fragmentação de versões do Android* Ambiente de desenvolvimento* Testes de aplicativos* Publicando aplicativos* Desenvolvimento *
  • 3. * 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++. *
  • 4. * Hoje o Android Market possui mais de 200 mil aplicativos disponíveis * Em fevereiro a Google abriu a web store para facilitar a procura por aplicativos no Android Market* Os percentuais mostram o crescimento em comparação ao mês anterior à pesquisa (fevereiro) *
  • 5. Perspectivas para desenvolvedores* O Market vende mais do que a App Store (maior loja de aplicativos existente) desde março* Desde janeiro, é permitida a inclusão de pagamentos dentro de aplicativos* Projeção de lucro para desenvolvedores sozinhos x empresas* Oportunidade 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
  • 6. * Smartphones * Marcos: * Nov 2009 – Lançamento do Motorola Milestone * Jun 2010 – Lançamento do Samsung Galaxy S * Melhores smartphones atualmente (09/05/2011): * HTC Thunderbolt 4G * Motorola Atrix 4G * HTC Inspire 4G * T-Mobile G2x * Google Nexus S 4G * * Curiosidade: o lucro da HTC triplicou no primeiro trimestre de 2011 em função da demanda por Androids. Já a Motorola estuda o desenvolvimento de um mobile OS próprio
  • 7. Escolhendo smartphone para iniciar a desenvolver* Samsung Galaxy 5 – 2.1 (R$ 400,00)** Motorola MB502 – 2.1 (R$ 550,00)* Sony Ericsson Xperia X8 – 2.1 (R$ 600,00) *
  • 8. Problemas do Market* Aplicativos maliciosos – roubo de informações* Em março de 2011 foram descobertos e removidos 52 aplicativos virais do Android Market. Eles representavam diversas ameaças aos usuários, responsáveis pelos mais de 50 mil downloads (calculadora, xadrez, entre outros) ** Falta de controle sobre o Market* Iniciada a utilização do Google remote kill, implementado desde
  • 9. * Fragmentação em smartphones* Fragmentação em smartphones e tablets* Tentativas de diminuição da fragmentação *
  • 10. * Fragmentação de versões operando em smartphones (15/03/2011) *
  • 11. Fragmentação de versões operando em smartphones e tablets (15/03/2011)*
  • 12. Tentativa de diminuição da fragmentação* Há a expectativa de diminuição da fragmentação de Androids operando em smartphones e tablets através da liberação do 3.1 – Ice Cream Sandwich, que será compatível com ambas as plataformas* Há uma negociação entre * fabricantes e Google para que todos os novos modelos de smartphone sejam atualizados por pelo menos 18 meses* Uma mudança recente da Google sobre o Market, fez com que a partir de então os aplicativos que não são compatíveis com o aparelho que está fazendo a busca, não sejam mostrados
  • 13. * Baixando os SDKs* Montando o ambiente de desenvolvimento * Eclipse + ADT plugin (Google) * Motodev studio for Android *
  • 14. * Baixando o SDK *
  • 15. * Escolhando os SDK que serão instalados *
  • 16. Montando o ambiente de desenvolvimento* 1 – Baixar o eclipse em eclipse.org/downloads* 2 – Instalar o ADT (Android development tools) plugin *
  • 17. Montando o ambiente de * desenvolvimento
  • 18. *
  • 19. Montando o ambiente de desenvolvimento – alternativa 1 – Baixar o plugin diretamente no site da Google 2 – Mesmo procedimento anterior, 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 verificarperiodicamente as atualizações, através domenu Help > Check for Updates, ou através do site da Google
  • 20. * 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 e físicos * Tradutor de aplicativos nativo *
  • 21. * Construtor de interface *
  • 22. * Emulador* ADB *
  • 23. * Criando dispositivos de teste *
  • 24. * Emulador*
  • 25. * ADB – Android Debug Bridge * O que é * Localizado em <sdk-path>/platform-tools/ * Pode receber instruções via linha de comando *
  • 26. * Registro na Google * Google checkout * Google adsense* Publicando um aplicativo *
  • 27. * Criando conta no Android Market
  • 28. * Inserindo dados comerciais na conta do Google Checkout para poder vender aplicativos* É permitido o cadastro de pessoas físicas *
  • 29. * Atrelando conta do AdSense ao Google Checkout *
  • 30. * Manage board *
  • 31. * Passos para publicar um aplicativo: * Enviando o .apk * Enviar recursos para divulgação * Descrever detalhes sobre a aplicação * Opções de publicação * Informações para contato a ser divulgada aos usuários * Autorização ao Google *
  • 32. * Enviar recursos para divulgação*
  • 33. * Descrever detalhes sobre a aplicação*
  • 34. * Descrever detalhes sobre a aplicação / Opções de publicação*
  • 35. * Informações para contato a ser divulgada aos usuários* Autorização ao Google *
  • 36. * Fundamentals / Introdução* Manifest* Debugging* Activities* Services* UI (user interface)* Data storage* Security* Widgets *
  • 37. * Fundamentals / Introdução * 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 *
  • 38. * Manifest *
  • 39. * Debugging * ADB – Android Debug Bridge * AVD – Android Virtual Device * Logcat * Captura de telas * Debug.startMethodTracing(String fileName) *
  • 40. * 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 *
  • 41. * 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, on MenuItemSelected, onTouchEvent, on WindowFocusChanged*
  • 42. * Services * 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(), onUnbi nd(), onRebind(), onDestroy() *
  • 43. *
  • 44. * UI – User Interface * ViewGroup, View * addView(View) * Listeners *
  • 45. * Data Storage * 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 *
  • 46. * Security * 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 * Exemplos: SET_ALARM, RECORD_AUDIO, RECEIVE_SMS, REBOOT, INTERNET, FLASHLIG HT, DEVICE_POWER, CAMERA, CALL_PHONE, BATTERY_STATS, etc *
  • 47. * Widgets * Manifest * AppWidgetProviderInfo * onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive() *
  • 48. *
  • 49. * Vídeo sobre ativações do Android: http://www.youtube.com/watch?v=fqFpq9WXbJo&feature=player_embedded#at=118* Aplicativos pagos X gratuitos no Market: http://www.techzine.com.br/arquivo/android-market-supera-appstore-em-total-de-aplicativos-grtis/* Levantamento atualizado sobre aplicativos do Market: http://www.distimo.com/appstores/app-store/19-Google_Android_Market* Hello world Phython para Android: http://www.mestreandroid.com.br/desenvolvimento-python-para-android/* Informações sobre o Android market: http://www.distimo.com/appstores/app-store/19-Google_Android_Market* Qual plataforma gera mais lucro: http://livetouch.blogspot.com/2011/03/android-x-ios-qual-plataforma-gera-mais.html* Início do pagamento dentro de apps: http://www.hardware.com.br/noticias/2011-01/app-1.html* Lucro da HTC triplica por causa do Android: http://info.abril.com.br/noticias/mercado/lucro-da-htc-triplica-com-demanda-po-androids-08042011- 7.shl* Queda da fragmentação do Android: http://www.blogdoandroid.com/2011/02/a-fragmentacao-do-android-caiu-mesmo/* Ação da Google para frear a fragmentação do Android: http://www.eletronicoblog.pop.com.br/post/7240/chega-de-fragmentacao-android-podera-ser-o- unico-para-todos-smartphones* Google remote kill: http://tecnoblog.net/58868/aplicativos-maliciosos-do-android-market-serao-desativados- remotamente/* Nova web store: http://www.hardware.com.br/noticias/2011-05/novidades-android-market.html* Tentativa de diminuição de fragmentação: http://www.eletronicoblog.pop.com.br/post/7240/chega-de-fragmentacao-android-podera-ser-o- unico-para-todos-smartphones* Anúncio do Ice Cream Sandwich 3.1 http://www.engadget.com/2011/05/10/google-announces-ice-cream-sadwich-for-q4-2011-for- smartphones/* Google obriga fabricantes a atualizar androids: http://www.gizmodo.com.br/conteudo/como-o-google-obrigara-fabricantes-a-atualizar-seus-novos- androids/* Melhora na fragmentação do Android: http://www.tekimobile.com/2011/03/android-ainda-e-muito-fragmentado-mas-esta-melhorando.html* Vantagem do froyo: http://geekfiles.altervista.org/pt/android-dati-di-distribuzione-froyo-resta-in-vantaggio/* Instalando o ambiente: http://developer.android.com/sdk/eclipse-adt.html#installing* Motodev Studio: http://developer.motorola.com/docstools/motodevstudio/* ADB: http://developer.android.com/guide/developing/tools/adb.html* Desenvolvimento: http://developer.android.com/guide/topics/fundamentals.html* http://developer.android.com/guide/topics/fundamentals/activities.html* http://developer.android.com/guide/topics/fundamentals/services.html* http://developer.android.com/guide/topics/ui/index.html* http://developer.android.com/guide/topics/data/data-storage.html http://developer.android.com/guide/topics/security/security.html ** http://developer.android.com/guide/topics/manifest/manifest-intro.html* http://developer.android.com/guide/topics/appwidgets/index.html http://developer.android.com/guide/developing/debugging/index.html

×