Escolar Documentos
Profissional Documentos
Cultura Documentos
Sobre o Instrutor
Agenda
Motivao
Introduo
O que o Android
Plataforma para dispositivos mveis desenvolvida pelo Google com sistema operacional baseado em Linux
Evoluo
1.0
1.5 Cupcake
Evoluo
2.3 Gingerbread
3.0 Honeycomb
Evoluo
4.2 Jellybean
Primeira plataforma com cdigo aberto e livre Programadores podem baixar e fazer melhorias no cdigo
Arquitetura Android
SDK Android
Alm de manter a plataforma, o Google disponibiliza e atualiza constantemente um SDK para o desenvolvimento de aplicaes para o Android O SDK disponvel utiliza a famosa e conhecida linguagem JAVA O Google tambm disponibiliza o plugin para o Eclipse chamado ADT (Android Development Tools) que facilita o desenvolvimento dos aplicativos
Configurao do ambiente
http://developer.android.com/sdk/index.html
Instalando o SDK
Descompactar o SDK em qualquer diretrio, no necessria instalao Dentro do SDK h uma pasta chamada tools que possui vrias ferramentas e o emulador Android O emulador a principal ferramenta de teste de aplicativos em caso de no haver um dispositivo para teste O SDK possui diversas ferramentas que utilizaremos
Configurando o emulador
Para utilizar o emulador, necessrio incluir o Android Virtual Device (AVD) com target da verso desejada do Android e recursos especficos, como o Google Maps por exemplo. O emulador pode simular qualquer verso do Android
Configurando o Emulador
Para cadastrar um AVD novo, acessar o menu Window -> Android Virtual Device Manager. Ento clicar no boto NEW
Configurando o Emulador
Na incluso do AVD, informar um nome para o mesmo e escolher o TARGET da verso do SDK
Iniciando o Emulador
Emulador
Emulador
Demonstrao do Browser
Ferramenta para gerenciar dispositivos e emuladores a partir do PC Funes de debug, instalao e cpia de arquivos .apk
Testes
Log
Primeiro Projeto
Arquivos padres
Criando o Projeto
Para criar um projeto, clique em File -> New -> Project Selecione Android Project e clique em Next
Criando o Projeto
Criando o Projeto
Estrutura do Projeto
Estrutura do Projeto
src: Pasta source, contm as classes java do projeto assets: Guarda arquivos opcionais do projeto como .zip, .txt e outros
drawable: Diretrio com imagens que sero utilizadas pelo app layout: Contm arquivos XML para criao de layouts
values: Possui arquivos XML com valores de internacionalizao da aplicao e configuraes de tamanho, entre outros valores
Diretrios drawable
Diretrios de armazenamento de imagens Como os aparelhos Android so fragmentados, necessrio criar diretrio especficos para a densidade e resoluo de cada aparelho, entre smartphones e tablets O Android determina automaticamente qual densidade cada aparelho usa Tipos de densidades/resoluo
Diretrios values
Diretrios para informaes de valores da aplicao Estes diretrios tambm so divididos por densidade/resoluo
Neles, possvel criar alguns tipos de arquivos xml, como o strings.xml, alm do dimens.xml
dimens.xml
Arquivo contendo os calores especficos de dimensionamento de imagens e views para cada tipo de densidade e resoluo Arquivo contendo os valores das strings
strings.xml
Arquivos do projeto
/res/layout/activity_main.xml
No primeiro projeto, est apenas definido um <TextView>, que exibe uma mensagem de texto
A mensagem buscada como referncia no atributo android:text=@string/hello. A chave hello buscada no arquivo strings.xml
Arquivos do projeto
/res/layout/main.xml
Arquivos do projeto
/res/values/strings.xml
Organizao do cdigo
Muito importante!!!
A classe R.java
Essa classe possui constantes que referenciam recursos localizados na pasta res do projeto, como por exemplo, a strings.xml
A classe modificada automaticamente toda vez que um recurso atualizado, deletado ou adicionado, aps o build do projeto.
A classe R NO pode NEM deve ser modificada manualmente.
A classe R.java
Android Manifest
AndroidManisfest.xml
Android Manifest
Permisses
Para acessar recursos do aparelho, deve ser declarado no manifest a permisso para uso Ex: Para escrever no sdcard
Activity
Na criao do projeto, gerada automaticamente uma classe que representa a tela inicial do projeto
Activity
Mtodo setContentView(view) informando a constante R.layout.main, faz com que a view definida no arquivo main.xml seja exibida.
Android Manifest
AndroidManifest
Tag <intente-filter> customiza como a activity ser iniciada A ao MAIN significa que a Activity principal pode ser iniciada isoladamente, como ponto inicial da aplicao
A categoria LAUNCHER indica que a activity estar disponvel na lista de aplicaes junto com as outras no aparelho
Executando o projeto
Para iniciar um projeto Android, clique com o boto direto no projeto e selecione Run as/ Android Application
Todas as aplicaes possuem ciclo de vida ligado s suas Activities, os possveis estados de uma Activity so:
Cada activity iniciada colocada no topo da pilha do sistema operacional, chamada activity stack. Se uma nova activity iniciada, a antiga fica abaixo. O Android coordena automaticamente a pilha. Se uma activity est pausada, ele pode decidir encerrar o processo para liberar recursos para outras aplicaes
Recuperando objetos
Quando construmos telas usando XML de layout, precisamos recuperar objetos definidos no arquivo dentro do cdigo-fonte
No exemplo a seguir, definimos a tag <ImageView> no arquivo de layout Alm disso, definimos um id, que servir para recuperarmos o objeto na execuo
Recuperando objetos
Tipos de views
Views so atributos XML que sero recuperados para a tela. Alguns tipos de views so
TextView
ImageView
Todas as views possuem atributos XML comuns e alguns particulares, que devem ser definidos no arquivo de construo da view.
Recuperando objetos
Se um objeto foi bem definido no XML, ao dar build no projeto, a classe R exibir o id do objeto definido. Isso alterado automaticamente. Lembre-se, a classe R no deve ser modificada manualmente.
Recuperando objetos
Precisamos utilizar o mtodo findViewById(R.id.nome) para recuperarmos de fato o objeto XML para a classe java
Exerccio
Crie um projeto Android e defina em seu layout dois componentes, um TextView e um ImageView
Button
Objeto clicvel que leva a alguma ao Parecido com o TextView, mas editvel em tempo de execuo Mtodo rpido de criar uma lista selecionvel Grupo com um lista selecionvel e rolvel
EditText
Spinner
ListView
Checkbox
RadioButton
Button