Successfully reported this slideshow.
Minicurso Básico de Android
Thales Levi Azevedo Valente
Apresentação
• Thales Levi Azevedo Valente
– selaht7@gmail.com
– Bacharel em Ciência da Computação – UFMA
– Pesquisador em...
O trabalho Minicurso de Android Básico I (este trabalho), bem como suas outras partes
(referente também aos dias 2, 3 e 4)...
Cronograma do Curso
• Introdução
• Mostra de Aplicativos
• Foco no Android
• API do Android
• Execução das Aplicações
• Pr...
Cronograma do Curso
• Gerenciadores de
Layout
• AbsoluteLayout
• LinearLayout
• RelativeLayout
• FrameLayout
• TableLayout...
Cronograma do Curso
• Roteiro Android(Dia 3):
• Listas e adaptadores
• Menu
• ActionBar
• Arquivo Manifest.xml
• Arquivos ...
Cronograma do Curso
• Roteiro Android(Dia 4):
• Notificações
• Intents
• Passagem e recebimento de objetos entre
Activitie...
Minicurso Básico de Android – 1º Dia
Thales Levi Azevedo Valente
INTRODUÇÃO
Plataformas Mobile Populares
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 10
• Plataforma Mobile Open Source
• Código aberto e distribuído sob licença Apache 2.0, ou
seja, códigos-fonte acessíveis. h...
• Baseado em Linux, com desenvolvimento iniciado em 2003 pela
empresa Android Inc.
• 2005 - foi adquirida pela Google
• 20...
API do Android
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 13
D
o
w
n
-
T
o
p
• Camada onde se encontram os drivers de hardware.
• Provê serviços essenciais (segurança, rede, gerenciamentoo de
memória...
• Bibliotecas responsáveis por:
– Intermediar acesso ao display.
– Suporte aos diferentes formatos mídia (aúdio, vídeo, im...
• Bibliotecas do núcleo Java (Core Libraries) e MVD (Máquina Virtual
Dalvik), otimizada para consumir pouca memória.
• Apl...
• Cada aplicação possui sua própria
instância de máquina Dalvik, ou seja,
são executadas de forma segura e
isoladas das de...
• Conjunto de componentes que oferecem serviços para aplicações.
Exemplos:
– Gerenciador de Pacotes: mantém registro das a...
• Camada de interação entre o usuário e o dispositivo. Nela se
encontram os aplicativos. Exemplos:
– Cliente de e-mail
– A...
• Android encoraja o desenvolvimento em
alto nível;
• Android usa Java como a principal
linguagem de programação;
• Herda ...
Preparando o ambiente de desenvolvimento Android –
Passo a Passo
• Java Runtime Environment (JRE) para a versão do seu sistema (32/64
bits).
• Java Development Kit (JDK) para a versão do ...
Página de download do JRE.
Baixe o JRE no site da Oracle e instale em sua máquina.
(28/05 – 03/07)/2015 Minicurso Básico d...
Página de download do JDK.
Baixe o JDK no site da Oracle e instale em sua máquina
(28/05 – 03/07)/2015 Minicurso Básico de...
Página de download do Eclipse ADT
Baixe a IDE Eclipse ADT no site da Google.
(28/05 – 03/07)/2015 Minicurso Básico de Andr...
Descompacte a IDE Elipse ADT e o Android SDK
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 26
Tela de escolha do workspace
Abra o Eclipse e escolha o seu workspace
(28/05 – 03/07)/2015 Minicurso Básico de Android – T...
Figura X. Página de download do Eclipse ADT
Tela inicial da IDE Elipse ADT
Logo após, o Eclipse carregará e abrirá sua tel...
Verificaremos se o diretório do SDK está correto.
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 29...
Clique em “Browse” para selecionar o diretório, caso queira mudar
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thale...
Navegue até o diretório do sdk e clique em “OK”
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 31
T...
Clique no botão “Apply” para aplicar a mudança de diretório.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Lev...
Serão listadas todas as APIs instaladas em seu SDK. Finalize clicando no botão “OK”
(28/05 –
03/07)/2015
Minicurso Básico ...
Fechando o Eclipse ADT
Caso apareçam estes erros, apenas reinicie o eclipse e serão resolvidos.
(28/05 –
03/07)/2015
Minic...
Figura X. Página de download do Eclipse ADT
Tela inicial do Elipse ADT
Abriremos o SDK Manager apertando este botão
Logo a...
• É um gerenciador de pacotes do SDK com um UI para iteração com
usuário.
• O SDK nada mais é que o kit de desenvolvimento...
Inicialização do Android SDK
Inicialização do Android SDK
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi /...
Instalar os Tools, de preferência os mais atualizados por questões de
compatibilidade com as APIs
(28/05 –
03/07)/2015
Min...
• SDK Tools:
– Dalvik Debug Monitor Server (ddms): rede, memória utilizada, logcat,
explorador de arquivos, captura de tel...
Exemplo de uso do ADB – instalação de APKs externos no AVD
• Abra o CMD
• Mude para o diretório do Android sdkplatform – t...
A mais recente API é necessária para se utilizar as bibliotecas de compatibilidade.
Instale mesmo que não a use
(28/05 –
0...
Depois, instale suas APIs preferenciais.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 42
Selecionaremos essa API por ainda ser muito utilizada por uma parte do
mercado
(28/05 –
03/07)/2015
Minicurso Básico de An...
Extras necessários para utilização das bibliotecas de compatibilidade e usar um
smartphone para teste direto do aplicativo...
• SDK Platform: kit de desenvolvimento para plataforma específica
• ...System Images: tipos de emulador com seus respectiv...
Ao clicar no botão instalar, aceite os termos de compromisso e clique em
instalar
(28/05 –
03/07)/2015
Minicurso Básico de...
As bibliotecas serão baixadas e o SDK Manager será reiniciado.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales L...
Ciclo de vida de uma Activity
• Representa uma simples tela com interface com o usuário
• Um programa Android inicia com uma Activity assim como
program...
• Gerenciadas em pilha -> Activity Manager
• Quando uma Activity é iniciada, esta vai para o
topo da pilha.
Gerência de Ac...
• OnCreate():
– o sistema o chama ao criar a Activity (Componente “mãe” de GUI)
– Nele deve ser chamado setContentView()pa...
• OnPause():
– É o primeiro método a ser chamado quando a Activity perde o foco (uma
outra Activity vem à frente, mas a pr...
• onStop():
– Quando chamado, o aplicativo não é mais visível para o usuário.
– Por algum motivo, um outro aplicativo foi ...
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 54
• Tempo de vida inteiro:
– Ocorre entre onCreat() e onDestroy()
• Tempo de vida visível:
– Ocorre entre onStart() e onStop...
Criando o primeiro projeto Android
Selecione a opção de criação de novo projeto.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 57
Escolha o nome do projeto, pacote, aplicação e APIs mínima, máxima e de
compilação do projeto
(28/05 –
03/07)/2015
Minicur...
Deixe como está, apenas “dê next”
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 59
Tela de customização do ícone.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 60
Tela de escolha do esqueleto inicial da primeira tela de seu
aplicativo. Selecionaremos a tela vazia.
(28/05 –
03/07)/2015...
Definiremos os nomes da classe principal e do arquivo de layout
dela
(28/05 –
03/07)/2015
Minicurso Básico de Android – Th...
Projeto criado. Ignore estes erros, se ocorrerem. São bugs da IDE.
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thal...
Porque foram criados 2 projetos?
• O primeiro projeto é uma biblioteca de compatibilidade. Ela está
localizada no Android SDK e selecionamos ela no SDK.
• ...
Estrutura básica de um projeto Android
Estrutura básica de um projeto Android
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 67
Pasta, pac...
Estrutura básica de um projeto Android
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 68
240 dpi
De...
Estrutura básica de um projeto Android
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 69
Classe pri...
Estrutura básica de um projeto Android
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 70
“organizad...
Criando Máquina Virtual usando o AVD Manager
Abriremos o AVD Manager apertando este botão
Abrindo o AVD Manager
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thal...
Aba 1- Android Virtual Devices
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 73
Tela inicial do AV...
Dispositivos Virtuais Android disponíveis. Também
podem ser criados outros
Aba 2- Devices Definitions
(28/05 –
03/07)/2015...
Tela de criação de definição de um dispositivo
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 75
Te...
Tela de criação de Máquina Virtual
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 76
Tela de criaçã...
Máquina virtual criada pronta para ser inicializada
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA ...
Máquina virtual criada pronta para ser inicializada
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA ...
Máquina virtual inicializada
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 79
Executando o primeiro “Hello World”
Executando o primeiro projeto
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 81
Aplicativo HelloWorld
(28/05 –
03/07)/2015
Minicurso Básico de Android – Thales Levi / UFMA 82
• Quando for lançado um nível de API mais recente, você terá de atualizar
também os tools no SDK Manager, eventualmente, a...
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 84
Dúvidas ?
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 85
Até a próxima !
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 86
• As imagens utilizadas foram adquiridas, em maio...
(28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 87
• LECHETA, R. R. (2010). Google Android. 2a ediçã...
Próxima SlideShare
Cargando en…5
×

Minicurso de Android Básico I - Dia 1

379 visualizaciones

Publicado el

Esta apresentação é referente ao primeiro dia do Minicurso de Android nível básico, ministrado por mim, na Universidade Federal do Maranhão

Publicado en: Móvil
  • Sé el primero en comentar

Minicurso de Android Básico I - Dia 1

  1. 1. Minicurso Básico de Android Thales Levi Azevedo Valente
  2. 2. Apresentação • Thales Levi Azevedo Valente – selaht7@gmail.com – Bacharel em Ciência da Computação – UFMA – Pesquisador em: • Processamento de Imagens • Android – Lattes: • http://lattes.cnpq.br/1509490497932923 (28/05 – 03/07)/2015 2Minicurso Básico de Android – Thales Levi / UFMA
  3. 3. O trabalho Minicurso de Android Básico I (este trabalho), bem como suas outras partes (referente também aos dias 2, 3 e 4), de Thales Levi Azevedo Valente está licenciado com uma Licença Creative Commons - Atribuição-NãoComercial-SemDerivações 4.0 Internacional. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/4.0/. • Você é livre para: – Copiar, distribuir o material • Sobre as seguintes condições: – Atribuição de créditos: você deve fazer referência ao autor – Não-comercial: você não deve usar este material para propósitos comerciais – Não-Derivados: Se você criar trabalhos derivados deste, você não deve distribuí-lo. Termos de uso deste material (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 3
  4. 4. Cronograma do Curso • Introdução • Mostra de Aplicativos • Foco no Android • API do Android • Execução das Aplicações • Primeiros Contatos:  Preparando o ambiente de desenvolvimento Android com Eclipse – Passo a Passo  Ciclo de vida de uma Activity  Criando o primeiro projeto Android  Estrutura básica de um projeto Android  Criando Máquina Virtual usando o AVD Manager  Executando o primeiro “Hello World”  Apresentando a IDE e Interagindo com a Máquina Virtual 4Minicurso Básico de Android – Thales Levi / UFMA(28/05 – 03/07)/2015
  5. 5. Cronograma do Curso • Gerenciadores de Layout • AbsoluteLayout • LinearLayout • RelativeLayout • FrameLayout • TableLayout • ScrollView 5Minicurso Básico de Android – Thales Levi / UFMA(28/05 – 03/07)/2015 • Roteiro Android(Dia 2): • Widgets – Componentes de Interface • Views • TextView • EditText • ImageView • ScaleTypes • Button • CheckBox • Spinner • RadioGroup
  6. 6. Cronograma do Curso • Roteiro Android(Dia 3): • Listas e adaptadores • Menu • ActionBar • Arquivo Manifest.xml • Arquivos em Android • Adicionando bibliotecas Externas 6Minicurso Básico de Android – Thales Levi / UFMA(28/05 – 03/07)/2015
  7. 7. Cronograma do Curso • Roteiro Android(Dia 4): • Notificações • Intents • Passagem e recebimento de objetos entre Activities • Introdução à SQLite • Introdução aos Provedores de Conteúdo 7Minicurso Básico de Android – Thales Levi / UFMA(28/05 – 03/07)/2015
  8. 8. Minicurso Básico de Android – 1º Dia Thales Levi Azevedo Valente
  9. 9. INTRODUÇÃO
  10. 10. Plataformas Mobile Populares (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 10
  11. 11. • Plataforma Mobile Open Source • Código aberto e distribuído sob licença Apache 2.0, ou seja, códigos-fonte acessíveis. http://source.android.com • Mantido pela Open Handeset Alliance (OHA) – Aliança entre diversas empresas para criar padrões abertos para telefonia móvel. • Android domina 84,6% do mercado global de smartphones. (Pesquisa realizada no segundo trimestre 2014 pela Strategy Analytics) Foco no Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 11
  12. 12. • Baseado em Linux, com desenvolvimento iniciado em 2003 pela empresa Android Inc. • 2005 - foi adquirida pela Google • 2007 - surgiu a Open Handset Alliance – associação de empresas com a missão de desenvolver uma plataforma móvel: – Completa – Aberta – gratuita • 2007 - lançamento da versão beta do Android SDK Foco no Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 12
  13. 13. API do Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 13 D o w n - T o p
  14. 14. • Camada onde se encontram os drivers de hardware. • Provê serviços essenciais (segurança, rede, gerenciamentoo de memória e processos, abstração do hardware para outras camadas) • Versão modificada do core do Linux 2.6. Exemplos de modificações: – Binder: permite que um processo possa chamar uma rotina em outro processo – OOM (Out-of-Memory Handler): termina processos quando há falta de memória – Ashmem e pmem: gerenciadores de memória compartilhada com melhor suporte à dispositivos com pouca capacidade de memória Camada Vermelha - Linux Kernel (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 14
  15. 15. • Bibliotecas responsáveis por: – Intermediar acesso ao display. – Suporte aos diferentes formatos mídia (aúdio, vídeo, imagens). – Gráficos 2D e 3D. – Banco de Dados. Camada Verde - Bibliotecas (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 15
  16. 16. • Bibliotecas do núcleo Java (Core Libraries) e MVD (Máquina Virtual Dalvik), otimizada para consumir pouca memória. • Aplicações são executadas em sua própria instância de MV. • Utiliza arquivos .dex gerados a partir das classes Javas compiladas • Os .dex e todos os recursos da aplicação são então “empacotados” em um arquivo .apk. Podem ser encontrados na pasta bin do projeto Camada Amarela – Tempo de execução (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 16 .class .class.class .dx tool .dex .apk . recursos
  17. 17. • Cada aplicação possui sua própria instância de máquina Dalvik, ou seja, são executadas de forma segura e isoladas das demais. • Mas o que isso quer dizer? – Nenhuma aplicação pode acessar recursos de outra aplicação – Nenhuma aplicação pode acessar diretamente recursos do sistema (contatos, sensores, rede) sem que o usuário explicitamente autorize Execução das Aplicações (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 17 Sistema MVD n-2 Aplicação n-2 MVD n Aplicação n MVD n-1 Aplicação n-1 MVD n-3 Aplicação n-3
  18. 18. • Conjunto de componentes que oferecem serviços para aplicações. Exemplos: – Gerenciador de Pacotes: mantém registro das aplicações instaladas. – Gerenciador de Activities: gerencia o ciclo de vida das Activities e organiza-as em pilhas. – Provedor de Conteúdos: Compartilhamento de dados entre aplicações. – Gerenciador de Recursos: provê acesso a tudo que faz parte do aplicativo que não seja código (XML, mídias, arquivos) – Gerenciador de Notificações: permite que uma aplicação notifique o usuário sobre algum evento através de vibração, piscar de leds, tocar algum som ou mostrar um ícone na barra de status Camada Azul 1 – Framework de Aplicações (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 18
  19. 19. • Camada de interação entre o usuário e o dispositivo. Nela se encontram os aplicativos. Exemplos: – Cliente de e-mail – Aplicativos de mensagens – Gerenciadores de contatos – Calendário – Mapas – Navegador Camada Azul 2 –Aplicações (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 19
  20. 20. • Android encoraja o desenvolvimento em alto nível; • Android usa Java como a principal linguagem de programação; • Herda classes básicas do Java padrão: – String, Container, Math, IO e Network • Adiciona novas classes especificas para dispositivos móveis: – Camera, Telephony, Map, Speech Considerações (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 20
  21. 21. Preparando o ambiente de desenvolvimento Android – Passo a Passo
  22. 22. • Java Runtime Environment (JRE) para a versão do seu sistema (32/64 bits). • Java Development Kit (JDK) para a versão do seu sistema (32/64 bits). • Baixar e descompactar a IDE Eclipse ADT Bundle com o Android SDK para a versão de seu sistema(32/64 bits). • http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html • http://downloads.puresoftware.org/files/android/adt-bundle/ Baixe e instale os seguintes itens (os mais atuais preferencialmente): (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 22
  23. 23. Página de download do JRE. Baixe o JRE no site da Oracle e instale em sua máquina. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 23
  24. 24. Página de download do JDK. Baixe o JDK no site da Oracle e instale em sua máquina (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 24
  25. 25. Página de download do Eclipse ADT Baixe a IDE Eclipse ADT no site da Google. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 25
  26. 26. Descompacte a IDE Elipse ADT e o Android SDK (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 26
  27. 27. Tela de escolha do workspace Abra o Eclipse e escolha o seu workspace (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 27
  28. 28. Figura X. Página de download do Eclipse ADT Tela inicial da IDE Elipse ADT Logo após, o Eclipse carregará e abrirá sua tela de interface. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 28
  29. 29. Verificaremos se o diretório do SDK está correto. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 29 Tela inicial da IDE Elipse ADT
  30. 30. Clique em “Browse” para selecionar o diretório, caso queira mudar (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 30 Tela da opção preferências do Eclipse ADT
  31. 31. Navegue até o diretório do sdk e clique em “OK” (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 31 Tela da opção preferências do Eclipse ADT
  32. 32. Clique no botão “Apply” para aplicar a mudança de diretório. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 32 Tela da opção preferências do Eclipse ADT
  33. 33. Serão listadas todas as APIs instaladas em seu SDK. Finalize clicando no botão “OK” (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 33 Tela da opção preferências do Eclipse ADT
  34. 34. Fechando o Eclipse ADT Caso apareçam estes erros, apenas reinicie o eclipse e serão resolvidos. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 34
  35. 35. Figura X. Página de download do Eclipse ADT Tela inicial do Elipse ADT Abriremos o SDK Manager apertando este botão Logo após, o Eclipse carregará e abrirá sua tela de interface. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 35
  36. 36. • É um gerenciador de pacotes do SDK com um UI para iteração com usuário. • O SDK nada mais é que o kit de desenvolvimento para Android, contendo bibliotecas e ferramentas de desenvolvimento necessários para construção, teste e debug de aplicativos para Android. O que é o SDK Manager ? (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 36
  37. 37. Inicialização do Android SDK Inicialização do Android SDK (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 37
  38. 38. Instalar os Tools, de preferência os mais atualizados por questões de compatibilidade com as APIs (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 38
  39. 39. • SDK Tools: – Dalvik Debug Monitor Server (ddms): rede, memória utilizada, logcat, explorador de arquivos, captura de tela, informações sobre o disp. – Hierarchy Viewer: mostra a hierarquia dos layouts. – Mksdcard: cria imagem de disco para usar com sdcard no emulador • SDK Platform Tools: – Adb: comunicação em linha de comando entre o user e dispositivos – Sqlite3: dá acesso a arquivos Sqlite criados e usados no Android • SDK Build Tools: requerido para geração de código O que são estes 3 itens? (exemplos) (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 39
  40. 40. Exemplo de uso do ADB – instalação de APKs externos no AVD • Abra o CMD • Mude para o diretório do Android sdkplatform – tools • Execute o comando adb install “...diretório opencvapkapk conforme seu emulador” • Espere instalar e feche o CMD • Aparecerá um novo Aplicativo no emulador: OpenCV Manager • OBS: deve haver apenas um AVD inicializado e quaisquer dispositivos Android não deve está conectado no computador em modo de debug. Caso falhe por falta de conexão com o ADB, reinicie o emulador e o Eclipse, para reiniciar o processo do ADB. (28/05 – 03/07)/2015 40Minicurso Básico de Android – Thales Levi / UFMA
  41. 41. A mais recente API é necessária para se utilizar as bibliotecas de compatibilidade. Instale mesmo que não a use (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 41
  42. 42. Depois, instale suas APIs preferenciais. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 42
  43. 43. Selecionaremos essa API por ainda ser muito utilizada por uma parte do mercado (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 43
  44. 44. Extras necessários para utilização das bibliotecas de compatibilidade e usar um smartphone para teste direto do aplicativo (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 44
  45. 45. • SDK Platform: kit de desenvolvimento para plataforma específica • ...System Images: tipos de emulador com seus respectivos processadores. Emuladores são utilizados para executar aplicativos • Android Support Repository e Android Support Libraries: necessários para utilização de bibliotecas de compatibilidade. • Google USB driver: necessário para utilização de aparelhos físicos ao invés de emuladores. O que marcamos? (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 45
  46. 46. Ao clicar no botão instalar, aceite os termos de compromisso e clique em instalar (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 46
  47. 47. As bibliotecas serão baixadas e o SDK Manager será reiniciado. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 47
  48. 48. Ciclo de vida de uma Activity
  49. 49. • Representa uma simples tela com interface com o usuário • Um programa Android inicia com uma Activity assim como programas Java/C iniciam com uma Main() • Tem um ciclo de vida bem definido • Se uma Activity não estiver em primeiro plano, ela pode ser destruída pelo sistema caso haja falta de memória. O que é uma Activity ? (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 49
  50. 50. • Gerenciadas em pilha -> Activity Manager • Quando uma Activity é iniciada, esta vai para o topo da pilha. Gerência de Activities New ActivityRunning Activity Activity 1 Activity 2 Activity n-1 Last Running Activity Activity n-3 Free ActivityStack (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 50
  51. 51. • OnCreate(): – o sistema o chama ao criar a Activity (Componente “mãe” de GUI) – Nele deve ser chamado setContentView()para definir o layout. – É executada somente uma vez durante a “vida” do aplicativo • OnStart(): – Chamado quando a Activity é visível para o usuário. • OnResume(): – Chamado quando o aplicativo irá interagir com o usuário Principais métodos: (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 51
  52. 52. • OnPause(): – É o primeiro método a ser chamado quando a Activity perde o foco (uma outra Activity vem à frente, mas a primeira não deixa de ser visível). – Mudanças feitas pelo usuário devem ser salvas neste ponto (ex: mudanças no provedor de conteúdo, como contatos, mídias, etc), animações devem ser paradas, sensores, etc.. – Deve ser executada rapidamente, pois a próxima Activity só será só “ganhará a tela” quando este método for finalizado. Principais métodos: (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 52
  53. 53. • onStop(): – Quando chamado, o aplicativo não é mais visível para o usuário. – Por algum motivo, um outro aplicativo foi colocado no topo da pilha • onDestroy(): – Destruição da Activity – Pode tanto ser chamada em código, quanto o sistema pode fazê-lo caso precise de memória • onRestart(): – Chamado quando o aplicativo volta ao primeiro plano. Principais métodos: (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 53
  54. 54. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 54
  55. 55. • Tempo de vida inteiro: – Ocorre entre onCreat() e onDestroy() • Tempo de vida visível: – Ocorre entre onStart() e onStop() – A Activity está visível, mas não está em primeiro plano. • Tempo de vida em primeiro plano: – Ocorre ente onResume() e onPause() – A Activity está a frente de todas as outras e interagindo com o usuário. Loops chaves do ciclo de vida (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 55
  56. 56. Criando o primeiro projeto Android
  57. 57. Selecione a opção de criação de novo projeto. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 57
  58. 58. Escolha o nome do projeto, pacote, aplicação e APIs mínima, máxima e de compilação do projeto (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 58
  59. 59. Deixe como está, apenas “dê next” (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 59
  60. 60. Tela de customização do ícone. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 60
  61. 61. Tela de escolha do esqueleto inicial da primeira tela de seu aplicativo. Selecionaremos a tela vazia. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 61
  62. 62. Definiremos os nomes da classe principal e do arquivo de layout dela (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 62
  63. 63. Projeto criado. Ignore estes erros, se ocorrerem. São bugs da IDE. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 63
  64. 64. Porque foram criados 2 projetos?
  65. 65. • O primeiro projeto é uma biblioteca de compatibilidade. Ela está localizada no Android SDK e selecionamos ela no SDK. • Esta biblioteca necessita da API mais atual (no momento, a API 22 - Android 5.1). Tanto ela quanto o seu projeto devem ter esta API como API de compilação ou haverá erros tanto na linkagem, quanto a biblioteca acusará erros de falta de recursos (classes java ou arquivos xml de layouts) Porque foram criados dois projetos? (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 65
  66. 66. Estrutura básica de um projeto Android
  67. 67. Estrutura básica de um projeto Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 67 Pasta, pacotes e classes Adicionais (arquivos) Linka Xmls e classes java (gerado automaticamente Bibliotecas .jars Informações sobre o aplicativo Códigos gerados Versão de Compilação
  68. 68. Estrutura básica de um projeto Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 68 240 dpi Definições de layout de menus Definições de layout de telas Recursos para versões especíificas 120 dpi 160 dpi 480 dpi 320dpi Definições de dimensões Definições de strings Definições de estilos de views
  69. 69. Estrutura básica de um projeto Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 69 Classe principal Sempre chamado na criação de uma Activity Setando o layout
  70. 70. Estrutura básica de um projeto Android (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 70 “organizador” View usada para texto Espaço ocupado Espaçamento de margem String que aparecerá para o usuário
  71. 71. Criando Máquina Virtual usando o AVD Manager
  72. 72. Abriremos o AVD Manager apertando este botão Abrindo o AVD Manager (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 72
  73. 73. Aba 1- Android Virtual Devices (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 73 Tela inicial do AVD Manager
  74. 74. Dispositivos Virtuais Android disponíveis. Também podem ser criados outros Aba 2- Devices Definitions (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 74
  75. 75. Tela de criação de definição de um dispositivo (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 75 Tela de criação de dispositivos virtuais. Especificam-se características de tela, sensores, câmeras, etc.
  76. 76. Tela de criação de Máquina Virtual (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 76 Tela de criação de máquina virtual.
  77. 77. Máquina virtual criada pronta para ser inicializada (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 77
  78. 78. Máquina virtual criada pronta para ser inicializada (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 78 Desmarcar essa opção para que fique maior a tela
  79. 79. Máquina virtual inicializada (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 79
  80. 80. Executando o primeiro “Hello World”
  81. 81. Executando o primeiro projeto (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 81
  82. 82. Aplicativo HelloWorld (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 82
  83. 83. • Quando for lançado um nível de API mais recente, você terá de atualizar também os tools no SDK Manager, eventualmente, além das bibliotecas de compatibilidade. • Após as etapas anteriores, reinicie o Eclipse. Talvez você também, eventualmente, poderá ter que atualizar o Plugin ADT presente no Eclipse. • Você não é obrigado a fazer atualizações. Tudo funcionará normal caso não faça. • Nunca faça atualizações sem ter um backup de seus recursos !!!! ( IDEs, SDK, etc) Considerações (adicionado dia 04-06-15) (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 83
  84. 84. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 84 Dúvidas ?
  85. 85. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 85 Até a próxima !
  86. 86. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 86 • As imagens utilizadas foram adquiridas, em maior parte, através de screenshots da tela do computador do próprio autor deste material. • As imagens especificadas abaixo foram adquiridas através da ferramenta de pesquisa de imagens da google https://images.google.com/. Todos os créditos referente a elas são dados aos locais selecionados através de tal ferramenta. Se você é autor e deseja que as imagens sejam removidas, entre em contato e será feito. http://www.appschopper.com/blog/wp-content/uploads/2013/03/Be-the-Pro-with-Best-Books-for-Android-Application-Development- Banner.jpg http://radixsmartclass.in/radixtemp/wp-content/uploads/2013/03/android_on_android_classroom_control.jpg http://vamsystems.com/Images/ContentImages/2015/1/android-banner.jpg http://3.bp.blogspot.com/-sRZob5WYyes/UzU7MkCOR0I/AAAAAAAACx4/sAlM8OIRrnQ/s1600/android-app-banner.png http://hd.wallpaperswide.com/thumbs/android_green_background-t2.jpg http://4.bp.blogspot.com/-OOXne6FICPk/VSGOCJtMm2I/AAAAAAAAABQ/ScOC2wFsnJU/s1600/android.png http://www.androidcentral.com/sites/androidcentral.com/files/postimages/108579/bugdroid-salute-cropped.png Referências
  87. 87. (28/05 – 03/07)/2015 Minicurso Básico de Android – Thales Levi / UFMA 87 • LECHETA, R. R. (2010). Google Android. 2a edição, São Paulo, Novatec • BRAHLER, S. Analysis of the android architecture. Karlsruher Intitute of Technology, Germany, 2010. • KHAN, S., KHALID, S. H., NAUMAN, M., KHAN, S., and ALAM, M. Analysis report on android application framework and existing security architecture. Technical report, Security Engineering Research Group, Pakistan, 2010. • ANDROID DEVELOPERS. Disponível em: <http://developer.android.com/develop/index.html.>. Acesso em: abril de 2015. • ELINUX. Disponível em: <http://elinux.org/Android_Portal>. Acesso em: março de 2015. • IDC. Smartphone OS Market Share, Q3 2014. Disponível em <http://www.idc.com/prodserv/smartphone-os-market-share.jsp>. Acesso em: dezembro de 2014. Referências

×