Copyright © 2016 Janynne Gomes 1
Módulo 1: Fundamentos da Computação Móvel
Aula: Introdução ao Android
Desenvolvimento para Dispositivos Móveis
Copyright © 2016 Janynne Gomes 2
Janynne Gomes
● Bacharel em Sistemas de Informação
● Pós graduando Engenharia de Software e Gerência de
Projetos
● Professora de programação mobile na ETEIT – Escola
Técnica da Univale – http://univale.br/eteit
● Site: http://janynnegomes.com
● E-mail: janynne.gomes@univale.br
Desenvolvimento para Dispositivos Móveis
Copyright © 2016 Janynne Gomes 3
●
Cronograma de aulas do módulo 1
– Semana 1
● Aula: Evolução da Computação Móvel (2 h/a)
● Aula: Características dos dispositivos móveis (2 h/a)
– Semana 2
● Aula: Exercícios em sala sobre aulas 1 e 2 (2 h/a)
● Aula: Arquiteturas de aplicações móveis (2 h/a)
– Semana 3
● Aula: Introdução ao Android (2 h/a)
● Aula: Introdução ao Java (2 h/a)
●
Duração: 12 h/a
Módulo 1: Fundamentos da Computação Móvel
Copyright © 2016 Janynne Gomes 4
●
Leituras Sugeridas no módulo 1
● LEE, VALENTINO;Aplicações móveis: arquitetura projeto e
desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger;
revisão técnica: Renato Haddad. São Paulo, Pearson Education
do Brasil, 2005. ISBN 85-346-1540-3 1.
●
BERNAL, Paulo Sérgio M.Comunicações móveis: tecnologias e
aplicações. São Paulo: Érica, c2002. 204 p. ISBN 8571948984
Módulo 1: Fundamentos da Computação Móvel
Copyright © 2016 Janynne Gomes 5
●
Conteúdo da aula
– Introdução
– Versões do Android
– Configuração do ambiente
●
Android SDK
●
Android Studio
●
Emulador do Android
●
ADB (Android Debug Bridge)
– Conceitos básicos
●
Estrutura de projeto
●
Arquivo AndroidManifest.xml
●
Arquivos de Layout
●
Tratamento de eventos
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 6
●
Introdução
– O Android é o sistema operacional móvel do
Google e é lider mundial nesse segmento.
– OHA (Open Handset Alliance) é um grupo
formado por grandes empresas como Intel,
Samsung, LG, Motorola, Sony Ericson, HTC,
ASUS, Acer e Dell que definiu uma plataforma
única a aberta para celulares, isso favorece a
criação de aplicações corporativas, resultando
dessa união esforços no desenvolvimento do
Android junto ao Google.
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 7
●
Introdução
– Disponível para plataformas:
●
TVs (Google TV)
●
Smartphones
●
Tablets
● Relógios (Android Wear)
●
Óculos (Google Glass)
●
Carros (Android Auto)
Aula: Introdução ao Android
Google TV
Android Wear
Android Auto
Copyright © 2016 Janynne Gomes 8
●
Introdução
– Baseado no kernel do Linux
– É de código aberto e
qualquer pessoa pode alterar e
usar de graça
– Possui a Máquina Virtual Dalvik
(para versões inferiores a 4.4)
– Possui a Máquina Virtual ART
(para versões iguais ou
superiores a 4.4)
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 9
●
Introdução
Aula: Introdução ao Android
x
Dalvik ART (Android Runtime)
● Compilação JIT - Just in
time
Dalvik
● Compilação AOT – Ahead of
time
● Redução do consumo de
memória
Copyright © 2016 Janynne Gomes 10
●
Google Play
– Loja oficial para vender aplicativos Android
– Taxa de $25 para criar conta de
desenvolvedor (tem que ter cartão
internacional)
– Aplicativos pagos são retidos 30% do valor
para o Google
– Endereço:
http://play.google.com/apps/publish
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 11
● Versões do Android
– 2008 - 1.0
– 2009(Abril) – Android 1.5 (Cupcake)
– 2009(Setembro) – Android 1.6 (Donut)
– 2009(Outubro) – Android 2 e 2.1 (Eclair)
– 2010(Maio) – Android 2.2 (Froyo)
– 2010(Dezembro) – Android 2.3 (Gingerbread)
– 2011(Fevereiro) – Android 3 (Honeycomb)
– 2011(Outubro) – Android 4 (Ice Cream Sandwich)
– 2012(Junho) – Android 4.1 (Jelly Bean)
– 2013(Outubro) – Android 4.4 (KitKat)
– 2014(Novembro) – Android 5 (Lollipop)
– 2015(Agosto) – Android 6 (Marshmallow)
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 12
Configuração do ambiente
de desenvolvimento
Aula: Introdução ao Android
Android SDK
Android Studio
Emulador do Android
ADB (Android Debug Bridge)
Copyright © 2016 Janynne Gomes 13
●
Android SDK
– Conjunto de bibliotecas para
desenvolver aplicativos
Android
– Já vem na instalação do
Android Studio
– Baixar em http://developer.android.com/sdk
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 14
●
Android Studio
– IDE oficial para
desenvolvimento Android
– Compilação através do
Gradle
– Baixar em
http://developer.android.com/sdk
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 15
●
Emulador
– Android Virtual Device
(AVD)
– Simula exatamente a
versão desejada do
Android
– Simula características de
hardware e
configurações
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 16
●
Android Debug Brigde (ADB)
– Ferramenta que controla
o emulador
– Aplicação cliente-
servidor
– Cada emulador iniciado
se conecta ao ADB em
uma porta específica
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 17
●
Android Debug Brigde (ADB)
– Principais comandos
● kill-server: Encerra o processo do ADB
– Ex.: adb kill­server
● start-server: Inicia um processo novo do ADB
– Ex.: adb start­server
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 18
●
Android Debug Brigde (ADB)
– Principais comandos
● devices: Exibe uma lista de dispositivos e
emuladores Android conectados ao computador
– Exemplo: adb devices
● start-server: Inicia um processo novo do ADB
– Exemplo: adb start­server
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 19
●
Exercício: Criação de um projeto
Android
– Siga o tutorial no meu 
site 
● http://janynnegomes.com/port
al/criando-o-primeiro-projet
o-no-android-studio/
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 20
Conceitos Básicos
Aula: Introdução ao Android
Estrutura de projeto
Arquivo AndroidManifest.xml
Arquivos de Layout
Tratamento de eventos
Copyright © 2016 Janynne Gomes 21
●
Estrutura de Projeto
– Existem várias formas de visualizar a
organização de arquivos dentro do
Android Studio:
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 22
●
Estrutura de Projeto
– Visualizando no modo Android
temos:
●
app/manifests : pasta onde ficam os
arquivos de manifesto(arquivo de
configuração global do aplicativo) do
módulo.
●
app/java: pasta onde ficam os arquivos
de código fonte em Java do módulo.
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 23
● Estrutura de Projeto
– Visualizando no modo Android
temos:
●
app/res: pasta onde ficam os
arquivos de recursos (imagens,
layout, textos, cores) do módulo.
●
Gradle Scripts: pasta onde ficam
os script de configuração do Gradle
para compilação do projeto.
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 24
●
Arquivo AndroidManifest.xml
– Contém todas as configurações
para execução da aplicação.
– Registra todas as
activities(telas) do projeto
– Indica qual tela é a inicial
– Registra as permissões á
recursos externos ao aplicativo
(GPS, internet, arquivos,
contatos e etc)
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 25
●
Arquivo AndroidManifest.xml
– Especifica o ícone á ser
utilizado pelo aplicativo.
– Especifica o nome do
aplicativo
– Especifica o tema Android á
ser utilizado no aplicativo
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 26
●
Arquivos de layout
– Arquivos de extensão e formato xml
que definem a interface gráfica do
aplicativo.
– Os elementos XML devem ser
elementos reconhecidos pelo
Android. Ex.: LinearLayout,
ImageView, TextView.
– Se os elementos não são conteiners
de outros elementos, a declaração
dos mesmos já tem uma barra “/” ao
final da declaração.
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 27
●
Arquivos de layout
– Os atributos dos elementos devem ser
propriedades reconhecidas pelo Java
para os objetos que eles representam.
– A declaração de atributos dos
componentes de interface deve seguir
o formato:
●
android:[nome da propriedade] =
“[valor]”
– A declaração do ID de um elemento
gráfico deve seguir o formato:
●
android:id = “@+id/[valor]”
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 28
●
Arquivos de layout
– O atributo tools:context identifica qual a classe
java vinculada a esse layout
– A largura e altura são definidos em valores
pré-definidos pelo Android:
●
wrap_content : apenas a largura/altura dos
elementos/conteúdo que estão dentro dele.
●
fill_parent e mach_parent: estica até a
largura do elemento no qual ele está
inserido.
– Os valores inteiros de dimensões são usados na
notação dp (densidade de pixels
independente), unidade de medida do Android
para se adequar á diversos aparelhos. Ex: 43dp
e não 43px.
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 29
● Tratamento de eventos
– As ações do usuário podem ser capturadas pelo
aplicativo e disparam eventos conhecidos na
interface. Ex.: clique de botão, edição de
texto, movimentação de uma imagem.
– Cada evento gerado é manipulado pelo
aplicativo quando é criado um método
manipulador para ele.
●
Clique do botão → onClick()
●
Movimentação da imagem → onTouchEvent()
●
Edição de textp → onTextChanged()
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 30
● Tratamento de eventos
– Criando manipulador de forma anônima
●
btnAlteraTexto.setOClickListener(...)
– Implementando interface View.OnClickListener na classe
●
button.setOnClickListener(this)
– Criando um método para cada botão (mais comum de encontrar)
● btnAlteraTexto.setOClickListener(onClickAlteraTexto());
– Vinculando o método através do XML
● android:onClick = “onClickAlteraTexto”
Aula: Introdução ao Android
Copyright © 2016 Janynne Gomes 31
●
Referências
– LECHETA, Ricardo R.;Google Android, Aprenda a criar
aplicações para dispositivos móveis com o Android SDK. São
Paulo, Novatec, 2015. ISBN 978-85-7522-468-7. Páginas 25 a 90.
Aula: Introdução ao Android

Introdução ao Android

  • 1.
    Copyright © 2016Janynne Gomes 1 Módulo 1: Fundamentos da Computação Móvel Aula: Introdução ao Android Desenvolvimento para Dispositivos Móveis
  • 2.
    Copyright © 2016Janynne Gomes 2 Janynne Gomes ● Bacharel em Sistemas de Informação ● Pós graduando Engenharia de Software e Gerência de Projetos ● Professora de programação mobile na ETEIT – Escola Técnica da Univale – http://univale.br/eteit ● Site: http://janynnegomes.com ● E-mail: janynne.gomes@univale.br Desenvolvimento para Dispositivos Móveis
  • 3.
    Copyright © 2016Janynne Gomes 3 ● Cronograma de aulas do módulo 1 – Semana 1 ● Aula: Evolução da Computação Móvel (2 h/a) ● Aula: Características dos dispositivos móveis (2 h/a) – Semana 2 ● Aula: Exercícios em sala sobre aulas 1 e 2 (2 h/a) ● Aula: Arquiteturas de aplicações móveis (2 h/a) – Semana 3 ● Aula: Introdução ao Android (2 h/a) ● Aula: Introdução ao Java (2 h/a) ● Duração: 12 h/a Módulo 1: Fundamentos da Computação Móvel
  • 4.
    Copyright © 2016Janynne Gomes 4 ● Leituras Sugeridas no módulo 1 ● LEE, VALENTINO;Aplicações móveis: arquitetura projeto e desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger; revisão técnica: Renato Haddad. São Paulo, Pearson Education do Brasil, 2005. ISBN 85-346-1540-3 1. ● BERNAL, Paulo Sérgio M.Comunicações móveis: tecnologias e aplicações. São Paulo: Érica, c2002. 204 p. ISBN 8571948984 Módulo 1: Fundamentos da Computação Móvel
  • 5.
    Copyright © 2016Janynne Gomes 5 ● Conteúdo da aula – Introdução – Versões do Android – Configuração do ambiente ● Android SDK ● Android Studio ● Emulador do Android ● ADB (Android Debug Bridge) – Conceitos básicos ● Estrutura de projeto ● Arquivo AndroidManifest.xml ● Arquivos de Layout ● Tratamento de eventos Aula: Introdução ao Android
  • 6.
    Copyright © 2016Janynne Gomes 6 ● Introdução – O Android é o sistema operacional móvel do Google e é lider mundial nesse segmento. – OHA (Open Handset Alliance) é um grupo formado por grandes empresas como Intel, Samsung, LG, Motorola, Sony Ericson, HTC, ASUS, Acer e Dell que definiu uma plataforma única a aberta para celulares, isso favorece a criação de aplicações corporativas, resultando dessa união esforços no desenvolvimento do Android junto ao Google. Aula: Introdução ao Android
  • 7.
    Copyright © 2016Janynne Gomes 7 ● Introdução – Disponível para plataformas: ● TVs (Google TV) ● Smartphones ● Tablets ● Relógios (Android Wear) ● Óculos (Google Glass) ● Carros (Android Auto) Aula: Introdução ao Android Google TV Android Wear Android Auto
  • 8.
    Copyright © 2016Janynne Gomes 8 ● Introdução – Baseado no kernel do Linux – É de código aberto e qualquer pessoa pode alterar e usar de graça – Possui a Máquina Virtual Dalvik (para versões inferiores a 4.4) – Possui a Máquina Virtual ART (para versões iguais ou superiores a 4.4) Aula: Introdução ao Android
  • 9.
    Copyright © 2016Janynne Gomes 9 ● Introdução Aula: Introdução ao Android x Dalvik ART (Android Runtime) ● Compilação JIT - Just in time Dalvik ● Compilação AOT – Ahead of time ● Redução do consumo de memória
  • 10.
    Copyright © 2016Janynne Gomes 10 ● Google Play – Loja oficial para vender aplicativos Android – Taxa de $25 para criar conta de desenvolvedor (tem que ter cartão internacional) – Aplicativos pagos são retidos 30% do valor para o Google – Endereço: http://play.google.com/apps/publish Aula: Introdução ao Android
  • 11.
    Copyright © 2016Janynne Gomes 11 ● Versões do Android – 2008 - 1.0 – 2009(Abril) – Android 1.5 (Cupcake) – 2009(Setembro) – Android 1.6 (Donut) – 2009(Outubro) – Android 2 e 2.1 (Eclair) – 2010(Maio) – Android 2.2 (Froyo) – 2010(Dezembro) – Android 2.3 (Gingerbread) – 2011(Fevereiro) – Android 3 (Honeycomb) – 2011(Outubro) – Android 4 (Ice Cream Sandwich) – 2012(Junho) – Android 4.1 (Jelly Bean) – 2013(Outubro) – Android 4.4 (KitKat) – 2014(Novembro) – Android 5 (Lollipop) – 2015(Agosto) – Android 6 (Marshmallow) Aula: Introdução ao Android
  • 12.
    Copyright © 2016Janynne Gomes 12 Configuração do ambiente de desenvolvimento Aula: Introdução ao Android Android SDK Android Studio Emulador do Android ADB (Android Debug Bridge)
  • 13.
    Copyright © 2016Janynne Gomes 13 ● Android SDK – Conjunto de bibliotecas para desenvolver aplicativos Android – Já vem na instalação do Android Studio – Baixar em http://developer.android.com/sdk Aula: Introdução ao Android
  • 14.
    Copyright © 2016Janynne Gomes 14 ● Android Studio – IDE oficial para desenvolvimento Android – Compilação através do Gradle – Baixar em http://developer.android.com/sdk Aula: Introdução ao Android
  • 15.
    Copyright © 2016Janynne Gomes 15 ● Emulador – Android Virtual Device (AVD) – Simula exatamente a versão desejada do Android – Simula características de hardware e configurações Aula: Introdução ao Android
  • 16.
    Copyright © 2016Janynne Gomes 16 ● Android Debug Brigde (ADB) – Ferramenta que controla o emulador – Aplicação cliente- servidor – Cada emulador iniciado se conecta ao ADB em uma porta específica Aula: Introdução ao Android
  • 17.
    Copyright © 2016Janynne Gomes 17 ● Android Debug Brigde (ADB) – Principais comandos ● kill-server: Encerra o processo do ADB – Ex.: adb kill­server ● start-server: Inicia um processo novo do ADB – Ex.: adb start­server Aula: Introdução ao Android
  • 18.
    Copyright © 2016Janynne Gomes 18 ● Android Debug Brigde (ADB) – Principais comandos ● devices: Exibe uma lista de dispositivos e emuladores Android conectados ao computador – Exemplo: adb devices ● start-server: Inicia um processo novo do ADB – Exemplo: adb start­server Aula: Introdução ao Android
  • 19.
    Copyright © 2016Janynne Gomes 19 ● Exercício: Criação de um projeto Android – Siga o tutorial no meu  site  ● http://janynnegomes.com/port al/criando-o-primeiro-projet o-no-android-studio/ Aula: Introdução ao Android
  • 20.
    Copyright © 2016Janynne Gomes 20 Conceitos Básicos Aula: Introdução ao Android Estrutura de projeto Arquivo AndroidManifest.xml Arquivos de Layout Tratamento de eventos
  • 21.
    Copyright © 2016Janynne Gomes 21 ● Estrutura de Projeto – Existem várias formas de visualizar a organização de arquivos dentro do Android Studio: Aula: Introdução ao Android
  • 22.
    Copyright © 2016Janynne Gomes 22 ● Estrutura de Projeto – Visualizando no modo Android temos: ● app/manifests : pasta onde ficam os arquivos de manifesto(arquivo de configuração global do aplicativo) do módulo. ● app/java: pasta onde ficam os arquivos de código fonte em Java do módulo. Aula: Introdução ao Android
  • 23.
    Copyright © 2016Janynne Gomes 23 ● Estrutura de Projeto – Visualizando no modo Android temos: ● app/res: pasta onde ficam os arquivos de recursos (imagens, layout, textos, cores) do módulo. ● Gradle Scripts: pasta onde ficam os script de configuração do Gradle para compilação do projeto. Aula: Introdução ao Android
  • 24.
    Copyright © 2016Janynne Gomes 24 ● Arquivo AndroidManifest.xml – Contém todas as configurações para execução da aplicação. – Registra todas as activities(telas) do projeto – Indica qual tela é a inicial – Registra as permissões á recursos externos ao aplicativo (GPS, internet, arquivos, contatos e etc) Aula: Introdução ao Android
  • 25.
    Copyright © 2016Janynne Gomes 25 ● Arquivo AndroidManifest.xml – Especifica o ícone á ser utilizado pelo aplicativo. – Especifica o nome do aplicativo – Especifica o tema Android á ser utilizado no aplicativo Aula: Introdução ao Android
  • 26.
    Copyright © 2016Janynne Gomes 26 ● Arquivos de layout – Arquivos de extensão e formato xml que definem a interface gráfica do aplicativo. – Os elementos XML devem ser elementos reconhecidos pelo Android. Ex.: LinearLayout, ImageView, TextView. – Se os elementos não são conteiners de outros elementos, a declaração dos mesmos já tem uma barra “/” ao final da declaração. Aula: Introdução ao Android
  • 27.
    Copyright © 2016Janynne Gomes 27 ● Arquivos de layout – Os atributos dos elementos devem ser propriedades reconhecidas pelo Java para os objetos que eles representam. – A declaração de atributos dos componentes de interface deve seguir o formato: ● android:[nome da propriedade] = “[valor]” – A declaração do ID de um elemento gráfico deve seguir o formato: ● android:id = “@+id/[valor]” Aula: Introdução ao Android
  • 28.
    Copyright © 2016Janynne Gomes 28 ● Arquivos de layout – O atributo tools:context identifica qual a classe java vinculada a esse layout – A largura e altura são definidos em valores pré-definidos pelo Android: ● wrap_content : apenas a largura/altura dos elementos/conteúdo que estão dentro dele. ● fill_parent e mach_parent: estica até a largura do elemento no qual ele está inserido. – Os valores inteiros de dimensões são usados na notação dp (densidade de pixels independente), unidade de medida do Android para se adequar á diversos aparelhos. Ex: 43dp e não 43px. Aula: Introdução ao Android
  • 29.
    Copyright © 2016Janynne Gomes 29 ● Tratamento de eventos – As ações do usuário podem ser capturadas pelo aplicativo e disparam eventos conhecidos na interface. Ex.: clique de botão, edição de texto, movimentação de uma imagem. – Cada evento gerado é manipulado pelo aplicativo quando é criado um método manipulador para ele. ● Clique do botão → onClick() ● Movimentação da imagem → onTouchEvent() ● Edição de textp → onTextChanged() Aula: Introdução ao Android
  • 30.
    Copyright © 2016Janynne Gomes 30 ● Tratamento de eventos – Criando manipulador de forma anônima ● btnAlteraTexto.setOClickListener(...) – Implementando interface View.OnClickListener na classe ● button.setOnClickListener(this) – Criando um método para cada botão (mais comum de encontrar) ● btnAlteraTexto.setOClickListener(onClickAlteraTexto()); – Vinculando o método através do XML ● android:onClick = “onClickAlteraTexto” Aula: Introdução ao Android
  • 31.
    Copyright © 2016Janynne Gomes 31 ● Referências – LECHETA, Ricardo R.;Google Android, Aprenda a criar aplicações para dispositivos móveis com o Android SDK. São Paulo, Novatec, 2015. ISBN 978-85-7522-468-7. Páginas 25 a 90. Aula: Introdução ao Android