0
*    Unisinos – UNIINFO 2011 – 26/05/2011    Guilherme Callegaro Sesterheim
* Android e smartphones* Fragmentação de versões do Android* Ambiente de desenvolvimento* Testes de aplicativos* Publicand...
* O que é:   * Sistema operacional móvel, baseado em    Linux.  * Adquirido pela Google em 2005 e lançado em    2008.  * D...
* Hoje o Android Market                                                               possui mais de 200 mil              ...
Perspectivas para desenvolvedores* O Market vende mais do que a App Store (maior loja de aplicativos existente) desde març...
* Smartphones  * Marcos:    * Nov 2009 – Lançamento do Motorola Milestone    * Jun 2010 – Lançamento do Samsung Galaxy S  ...
Escolhendo smartphone para iniciar a desenvolver* Samsung Galaxy 5 – 2.1 (R$ 400,00)** Motorola MB502 – 2.1 (R$ 550,00)* S...
Problemas do Market* Aplicativos maliciosos – roubo de informações* Em março de 2011 foram descobertos e removidos 52 apli...
* Fragmentação em smartphones* Fragmentação em smartphones e tablets* Tentativas de diminuição da fragmentação            ...
* Fragmentação de versões operando em smartphones (15/03/2011)                      *
Fragmentação de versões operando    em smartphones e tablets    (15/03/2011)*
Tentativa de diminuição da          fragmentação* Há a expectativa de diminuição da fragmentação de Androids operando em s...
* Baixando os SDKs* Montando o ambiente de desenvolvimento  * Eclipse + ADT plugin (Google)  * Motodev studio for Android ...
* Baixando o SDK   *
* Escolhando os SDK que serão instalados                          *
Montando o ambiente de           desenvolvimento* 1 – Baixar o eclipse em eclipse.org/downloads* 2 – Instalar o ADT (Andro...
Montando o ambiente de                         *   desenvolvimento
*
Montando o ambiente de desenvolvimento – alternativa     1 – Baixar o plugin  diretamente no site da           Google 2 – ...
* Motodev studio  * Gratuito  * Não há restrição a aparelhos da Motorola  * Principais diferenciais:    * App validator (p...
* Construtor de interface  *
* Emulador* ADB       *
* Criando dispositivos de teste               *
* Emulador*
* ADB – Android Debug Bridge  * O que é  * Localizado em <sdk-path>/platform-tools/  * Pode receber instruções via linha d...
* Registro na Google  * Google checkout  * Google adsense* Publicando um aplicativo                             *
* Criando conta no Android Market
* Inserindo dados comerciais na conta do Google Checkout para poder vender aplicativos* É permitido o cadastro de pessoas ...
* Atrelando conta do AdSense ao Google Checkout                               *
* Manage board                 *
* Passos para publicar um aplicativo:  * Enviando o .apk  * Enviar recursos para divulgação  * Descrever detalhes sobre a ...
* Enviar     recursos     para     divulgação*
* Descrever     detalhes sobre     a aplicaçã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                          *
* Fundamentals / Introdução* Manifest* Debugging* Activities* Services* UI (user interface)* Data storage* Security* Widge...
* Fundamentals / Introdução  * Os aplicativos de Android são instalados através de    um .apk  * A partir do momento em qu...
* Manifest             *
* Debugging  * ADB – Android Debug Bridge  * AVD – Android Virtual Device  * Logcat  * Captura de telas  * Debug.startMeth...
* Activities   * Uma Activity é um componente da aplicação (uma     classe), que proverá uma tela com a qual o usuário pod...
* Definindo a tela que será exibida:     setContentView( String     codigoArquivoXML)    * Iniciando sub atividade:     st...
* Services  * São atividades que operam em background por    um longo tempo e não provêem interface para o    usuário  * É...
*
* UI – User Interface  * ViewGroup, View  * addView(View)  * Listeners                        *
* Data Storage  * Shared Preferences – dados de usuário / internos do smartphone  * Internal storage    * MODE_PRIVATE    ...
* Security  * Nenhuma aplicação tem permissão para interferir em outros    processos, outras aplicações, ou informações co...
* Widgets  * Manifest  * AppWidgetProviderInfo  * onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()          ...
*
*   Vídeo sobre ativações do Android:                              http://www.youtube.com/watch?v=fqFpq9WXbJo&feature=play...
Upcoming SlideShare
Loading in...5
×

Android26.05

2,568

Published on

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,568
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
304
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Android26.05"

  1. 1. * Unisinos – UNIINFO 2011 – 26/05/2011 Guilherme Callegaro Sesterheim
  2. 2. * Android e smartphones* Fragmentação de versões do Android* Ambiente de desenvolvimento* Testes de aplicativos* Publicando aplicativos* Desenvolvimento *
  3. 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. 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. 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. 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. 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. 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. 9. * Fragmentação em smartphones* Fragmentação em smartphones e tablets* Tentativas de diminuição da fragmentação *
  10. 10. * Fragmentação de versões operando em smartphones (15/03/2011) *
  11. 11. Fragmentação de versões operando em smartphones e tablets (15/03/2011)*
  12. 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. 13. * Baixando os SDKs* Montando o ambiente de desenvolvimento * Eclipse + ADT plugin (Google) * Motodev studio for Android *
  14. 14. * Baixando o SDK *
  15. 15. * Escolhando os SDK que serão instalados *
  16. 16. Montando o ambiente de desenvolvimento* 1 – Baixar o eclipse em eclipse.org/downloads* 2 – Instalar o ADT (Android development tools) plugin *
  17. 17. Montando o ambiente de * desenvolvimento
  18. 18. *
  19. 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. 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. 21. * Construtor de interface *
  22. 22. * Emulador* ADB *
  23. 23. * Criando dispositivos de teste *
  24. 24. * Emulador*
  25. 25. * ADB – Android Debug Bridge * O que é * Localizado em <sdk-path>/platform-tools/ * Pode receber instruções via linha de comando *
  26. 26. * Registro na Google * Google checkout * Google adsense* Publicando um aplicativo *
  27. 27. * Criando conta no Android Market
  28. 28. * Inserindo dados comerciais na conta do Google Checkout para poder vender aplicativos* É permitido o cadastro de pessoas físicas *
  29. 29. * Atrelando conta do AdSense ao Google Checkout *
  30. 30. * Manage board *
  31. 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. 32. * Enviar recursos para divulgação*
  33. 33. * Descrever detalhes sobre a aplicação*
  34. 34. * Descrever detalhes sobre a aplicação / Opções de publicação*
  35. 35. * Informações para contato a ser divulgada aos usuários* Autorização ao Google *
  36. 36. * Fundamentals / Introdução* Manifest* Debugging* Activities* Services* UI (user interface)* Data storage* Security* Widgets *
  37. 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. 38. * Manifest *
  39. 39. * Debugging * ADB – Android Debug Bridge * AVD – Android Virtual Device * Logcat * Captura de telas * Debug.startMethodTracing(String fileName) *
  40. 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. 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. 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. 43. *
  44. 44. * UI – User Interface * ViewGroup, View * addView(View) * Listeners *
  45. 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. 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. 47. * Widgets * Manifest * AppWidgetProviderInfo * onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive() *
  48. 48. *
  49. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×