Introdução ao Android

31
Copyright © 2016 Janynne Gomes 1 Módulo 1: Fundamentos da Computação Móvel Aula: Introdução ao Android Desenvolvimento para Dispositivos Móveis

Transcript of Introdução ao Android

Page 1: Introdução ao Android

Copyright © 2016 Janynne Gomes 1

Módulo 1: Fundamentos da Computação Móvel

Aula: Introdução ao Android

Desenvolvimento para Dispositivos Móveis

Page 2: Introdução ao Android

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: [email protected]

Desenvolvimento para Dispositivos Móveis

Page 3: Introdução ao Android

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

Page 4: Introdução ao Android

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

Page 5: Introdução ao Android

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

Page 6: 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

Page 7: 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

Page 8: Introdução ao Android

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

Page 9: 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

Page 10: Introdução ao Android

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

Page 11: 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

Page 12: Introdução ao Android

Copyright © 2016 Janynne Gomes 12

Configuração do ambientede desenvolvimento

Aula: Introdução ao Android

Android SDKAndroid Studio

Emulador do AndroidADB (Android Debug Bridge)

Page 13: Introdução ao Android

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

Page 14: 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

Page 15: 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

Page 16: 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

Page 17: 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

Page 18: 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

Page 19: 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/portal/criando-o-primeiro-projeto-no-android-studio/

Aula: Introdução ao Android

Page 20: Introdução ao Android

Copyright © 2016 Janynne Gomes 20

Conceitos Básicos

Aula: Introdução ao Android

Estrutura de projetoArquivo AndroidManifest.xml

Arquivos de LayoutTratamento de eventos

Page 21: Introdução ao Android

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

Page 22: 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

Page 23: 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

Page 24: 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

Page 25: 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

Page 26: 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

Page 27: 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

Page 28: 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

Page 29: 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

Page 30: 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

Page 31: 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