Dêmora Bruna Sousa
Édipo da Silva Souza
O que é Android
exatamente?
• Android é uma pilha de software que inclui um sistema
operacional, um middleware e aplicações chaves.
• Ele foi projetado com amplo suporte ao
desenvolvimento de aplicativos por parte de terceiros.
• Desenvolvedores que almejem criar aplicativos para
essa plataforma possuem acesso a mesma API utilizada
na criação dos aplicativos nativos do Android. Isso
permite o desenvolvimento de aplicativos bastante
flexíveis e que usam recursos avançados do sistema.
Ferramentas utilizadas
• Para o desenvolvimento de aplicações Android
utilizaremos as seguintes ferramentas:
1. JDK (Java Development Kit)
2. Eclipse
3. Android SDK (Android Standard Development Kit)
4. ADT (Android Development Tools) para o Eclipse
Instalação do ADT
• Help > Install New Software e em seguida aperte o
botão Add.
• Window > Preferences e depois Android. No
campo SDK Location, deve ser colocado o caminho
onde instalação do Android SDK foi realizada.
Visão geral do ambiente
ADT
• O plugin ADT é uma ferramenta de apoio muito
poderosa que permite o controle minucioso de um
dispositivo Android, quer seja ele emulado ou não.
Entre suas funcionalidades, podemos citar:
emulação de GPS, recebimento de chamadas e de
SMS, acesso ao diretório de arquivos e captura de
tela do dispositivo, etc.
Download da versão 2.3
• No menu superior do Eclipse, escolha Window >
Android SDK Manager.
• Selecione para instalação os itens Tools e SDK
Platform dentro de Android, e 2.3.3 (API10).
Criação de um Virtual
Device
• Window > AVD Manager
• Apete o botão New...
Hello World
• Tendo o seu ambiente
de desenvolvimento
configurado, a criação
de um primeiro
aplicativo Android é
bastante simples:
1. Acesse o menu
File > New > Android
Project.
• O projeto de sua primeira aplicação
foi criado com sucesso. Agora já é
possível visualizar o projeto no
canto esquerdo da tela.
• Os principais diretórios e arquivos
dessa estrutura são:
• src: Pasta que conterá o código-
fonte Java escrito pelo
desenvolvedor.
• gen: Esse diretório contem código-fonte gerado
automaticamente pelo eclipse.
• res: Diretório onde todos os recursos (imagens, arquivos em
geral, etc...) do aplicativo são armazenados.
• AndroidManifest.xml: Arquivo onde metadados da sua
aplicação serão informados. Aqui vão informações como,
por exemplo, as permissões que o aplicativo necessita do
sistema funcionar corretamente.
• Ao abrir o arquivo res > layout > main.xml,
poderemos visualizar o layout da aplicação:
Executando a aplicação
1. Click com o
botão direito do
mouse na raiz da
estrutura do
projeto.
2. Selecione Run As
> Android
Application.
Activity
• Activity é um tipo de classe do framework Android
que provê uma tela (interface) com a qual o
usuário interage. Comumente essas classes podem
utilizar arquivos XML de layout para definir suas
telas. A maioria das aplicações conterá múltiplas
activities fracamente acopladas, sendo uma a sua
inicial (tela inicial do aplicativo).
Activity
• O fluxo comum em um programa se dá a partir de
activities que iniciam novas acitivities. Quando
uma activity é iniciada, a anterior para de
executar e entra em uma pilha. O botão “back”
presente nos dispositivo Android permite que o
usuário seja capaz de voltar activities.
Uma nova
activity
• Para criar uma nova
activity, é necessário
implementar uma
subclasse de Activity
e sobrescrever alguns
métodos.
Adicionando layout
• Clique com o botão direito do mouse no código-fonte de
sua Activity e selecione Source > Override/Implement
Methods... . Marque o item onCreate(Bundle) e aperte
o botão Ok.
• Agora, dentro do diretório res/layout do projeto, crie
uma copia do arquivo main.xml e renomeie como
mylayout.xml.
• Dentro do método onCreate(), faça uma chamada ao
método setContentView() passando R.layout.mylayout
como parâmetro.
Declarando
• Para que a activity seja executada pela aplicação é
necessário declará-la no AndroidManifest.xml.
• O trecho de código abaixo deve ser inserido dentro
da tag <application>:
<activity android:name=”.NomeDaActivityCriada” />
Chamando a Activity
• Uma activity pode ser chamada utilizando o
método startActivity()
Intent i = new Intent(this, NomeActivity.class);
startActivity(i);
Ciclo de Vida
• Durante a vida de uma activity, muitos eventos
podem ocorrer. Ações do usuário como apertar os
botões “home” e “back”, abrir novas telas
(activities), ou o recebimento de chamadas como
receber uma ligação, etc., geram vários eventos
que podem ser capturados dentro de uma activity.
Interface com usuário
• Uma interface de usuário em uma aplicação
Android é um conjunto de objetos do tipo View.
Todo e qualquer componente de interface gráfica é
uma subclasse de View. Por exemplo: EditText,
TextView, Button, LinearLayout, ImageView.
• Em Interfaces de usuário (UI) existem views
chamadas layout. Um layout define como views
que estarão dentro dele serão dispostas.
LinearLayout
• Alinha todos os elementos em uma unica direção,
horizontal ou vertical.
RelativeLayout
• A posição de cada elemento é especificado em
relação a posicao dos elementos irmãos ou em
relação ao RelativeLayout pai.
ListView
• Mostra uma lista de itens.
GridView
• Exibe itens em uma grade bidimensional, rolável.
AndroidManifest
• Toda aplicação necessita de um arquivo
AndroidManifest.xml. Esse arquivo contém
informações sobre sua aplicação que o Android
necessita para que seu código seja executado
corretamente e em segurança. Entre as principais
informações que estão ou podem estar presentes
no AndroidManifest.xml, podemos citar:
• Nome do pacote Java da aplicação (serve como
identificador único da aplicação);
• Descrição dos componentes que sua aplicação contem
(ex.: activities e services);
• Permissões de usuário que seu aplicativo necessita
para rodar em um dispositivo (ex.: acesso a internet
e localização de usuário);
• Declaração de qual API Android mínima é necessária
para rodar o aplicativo.
Aplicações Exemplo
• Mini-Web-Browser
• Mini-Mp3-Player
Projeto hospedado no Google Code.
http://code.google.com/p/mini-web-browser-exemplo
Projeto hospedado no Google Code.
http://code.google.com/p/mini-mp3-player/
Mini-Web-Browser
• Estrutura
• Interface.
• Activity.
• Listener.
• Permissões.
Mini-Web-Browser
• Estrutura.
• src:Activity e Classes em Geral
• gen: Classe R gerada automaticamente
• assets: Arquivos extras (não temos)
• bin: Classes e Apk compilados
• libs: Bibliotecas no projeto (não temos)
• res/drawable: Imagens em cada resolução
• res/layout: XML das Interfaces
• res/menu: XML dos Menus
• res/values: XML com Strings e Styles
Mini-Web-Browser
• Interface:
Nossa interface será composta por:
• Botão Voltar; (id = ibVoltar)
• Botão Home; (id = ibHome)
• Botão Ir; (id = ibIR)
• Editor de Texto URL; (id = etURL)
• WebView; (id = browser)
Mini-Web-Browser
• XML da Interface
Mini-Web-Browser
• Activity
• Bloco de variáveis para podermos
fazer referencia aos
componentes.
• Comandos de configuração no
onCreate.
Mini-Web-Browser
• Activity
• Método de configuração dos componentes para suas
respectivas variáveis de referência.
• Activity
• Adicionado
variáveis de
referência dos
componentes,
configurações da
activity no
onCreate e
método de
configuração dos
componentes.
• Mas ainda esta
faltando a classe
MyWebViewClien
te()
Mini-Web-Browser
• Activity
• Aqui temos a classe MyWebViewCliente que é
responsável por gerenciar o componente WebView e
nela implementamos uma ação para ocorrer após a
página ser carregada.
Mini-Web-Browser
• Activity
• Método onClick(View v), verifica qual botão o
chamou e toma a devida ação para ele.
Mini-Web-Browser
• Listener
• Adicionamos uma constante URL_INICIAL e
implementaremos a interface OnKeyListener para
gerenciarmos com o ENTER no campo de texto o
carregamento da página.
Mini-Web-Browser
• Listener
• O método sobrescrito onKey é chamado toda vez
que digitamos algo no campo de texto. Então
verificamos se foi um ENTER e se foi, mandamos
carregar a URL digitada.
Mini-Web-Browser
• Permissão
• Por fim, falta
somente darmos
permissão para
o aplicativo
acessar a
internet. Basta
inserir o
comando no
arquivo
androidManifest
.xml.
Mini-Web-Browser
• Funciona!
Aplicações Exemplo
• Mini-Web-Browser
• Mini-Mp3-Player
Projeto hospedado no Google Code.
http://code.google.com/p/mini-web-browser-exemplo
Projeto hospedado no Google Code.
http://code.google.com/p/mini-mp3-player/
Mini-Mp3-Player
• Estrutura
• Interface.
• Activity.
• Classe Filtro Mp3.
Mini-Mp3-Player
• Estrutura.
• src: Activity e Classes em Geral
• gen: Classe R gerada automaticamente
• assets:Arquivos extras (não temos)
• bin: Classes e Apk compilados
• libs: Bibliotecas no projeto (não temos)
• res/drawable: Imagens em cada resolução
• res/layout: XML das Interfaces
• res/menu: XML dos Menus
• res/values: XML com Strings e Styles
Mini-Mp3-Player
• InterfaceInterface.
Nossa interface será composta por:
• Texto MusicaAtual; (id =
txMusicaAtual)
• Botão Anterior; (id = ibAnterior)
• Botão Play; (id = ibPlay)
• Botão Pause; (id = ibPause)
• Botão Stop; (id = ibStop)
• Botão Proxima; (id = ibProxima)
• ListView list; (id = @android:id/list)
• XML da Interface
Mini-Mp3-Player
• Activity
• Bloco de variáveis para
podermos fazer referencia
aos componentes.
• Comandos de configuração no
onCreate.
Mini-Mp3-Player
• Activity
• Método de configuração dos componentes para suas
respectivas variáveis de referência.
Mini-Mp3-Player
• Activity
• Método de leitura das músicas no cartão de memória.
Mini-Mp3-Player
• Activity
• Para termos o gerenciamento automático da Lista,
estendemos nossa activity de ListActivity.
• E Sobre-escrevemos o método onListItemClick() para
tomarmos uma ação quando um item for selecionado.
Mini-Mp3-Player
• Activity
• Método onClick(View v), verifica qual botão o
chamou e toma a devida ação para ele.
Mini-Mp3-Player
• Activity
• Método para carregar e tocar música. O método
OnCompletion é chamado pelo Listener quando a música
terminar de tocar.
Mini-Mp3-Player
• Activity
• Método para passar e para voltar música.
Mini-Mp3-Player
• Classe Filtro Mp3
• Adicionamos uma constante URL_INICIAL e
implementaremos a interface OnKeyListener para
gerenciarmos com o ENTER no campo de texto o
carregamento da página.
Mini-Mp3-Player
• Funciona!

Introdução a Plataforma Android

  • 1.
  • 2.
    O que éAndroid exatamente? • Android é uma pilha de software que inclui um sistema operacional, um middleware e aplicações chaves. • Ele foi projetado com amplo suporte ao desenvolvimento de aplicativos por parte de terceiros. • Desenvolvedores que almejem criar aplicativos para essa plataforma possuem acesso a mesma API utilizada na criação dos aplicativos nativos do Android. Isso permite o desenvolvimento de aplicativos bastante flexíveis e que usam recursos avançados do sistema.
  • 4.
    Ferramentas utilizadas • Parao desenvolvimento de aplicações Android utilizaremos as seguintes ferramentas: 1. JDK (Java Development Kit) 2. Eclipse 3. Android SDK (Android Standard Development Kit) 4. ADT (Android Development Tools) para o Eclipse
  • 5.
    Instalação do ADT •Help > Install New Software e em seguida aperte o botão Add. • Window > Preferences e depois Android. No campo SDK Location, deve ser colocado o caminho onde instalação do Android SDK foi realizada.
  • 6.
    Visão geral doambiente ADT • O plugin ADT é uma ferramenta de apoio muito poderosa que permite o controle minucioso de um dispositivo Android, quer seja ele emulado ou não. Entre suas funcionalidades, podemos citar: emulação de GPS, recebimento de chamadas e de SMS, acesso ao diretório de arquivos e captura de tela do dispositivo, etc.
  • 8.
    Download da versão2.3 • No menu superior do Eclipse, escolha Window > Android SDK Manager. • Selecione para instalação os itens Tools e SDK Platform dentro de Android, e 2.3.3 (API10).
  • 9.
    Criação de umVirtual Device • Window > AVD Manager • Apete o botão New...
  • 10.
    Hello World • Tendoo seu ambiente de desenvolvimento configurado, a criação de um primeiro aplicativo Android é bastante simples: 1. Acesse o menu File > New > Android Project.
  • 12.
    • O projetode sua primeira aplicação foi criado com sucesso. Agora já é possível visualizar o projeto no canto esquerdo da tela. • Os principais diretórios e arquivos dessa estrutura são: • src: Pasta que conterá o código- fonte Java escrito pelo desenvolvedor. • gen: Esse diretório contem código-fonte gerado automaticamente pelo eclipse. • res: Diretório onde todos os recursos (imagens, arquivos em geral, etc...) do aplicativo são armazenados. • AndroidManifest.xml: Arquivo onde metadados da sua aplicação serão informados. Aqui vão informações como, por exemplo, as permissões que o aplicativo necessita do sistema funcionar corretamente.
  • 13.
    • Ao abriro arquivo res > layout > main.xml, poderemos visualizar o layout da aplicação:
  • 14.
    Executando a aplicação 1.Click com o botão direito do mouse na raiz da estrutura do projeto. 2. Selecione Run As > Android Application.
  • 15.
    Activity • Activity éum tipo de classe do framework Android que provê uma tela (interface) com a qual o usuário interage. Comumente essas classes podem utilizar arquivos XML de layout para definir suas telas. A maioria das aplicações conterá múltiplas activities fracamente acopladas, sendo uma a sua inicial (tela inicial do aplicativo).
  • 16.
    Activity • O fluxocomum em um programa se dá a partir de activities que iniciam novas acitivities. Quando uma activity é iniciada, a anterior para de executar e entra em uma pilha. O botão “back” presente nos dispositivo Android permite que o usuário seja capaz de voltar activities.
  • 17.
    Uma nova activity • Paracriar uma nova activity, é necessário implementar uma subclasse de Activity e sobrescrever alguns métodos.
  • 18.
    Adicionando layout • Cliquecom o botão direito do mouse no código-fonte de sua Activity e selecione Source > Override/Implement Methods... . Marque o item onCreate(Bundle) e aperte o botão Ok. • Agora, dentro do diretório res/layout do projeto, crie uma copia do arquivo main.xml e renomeie como mylayout.xml. • Dentro do método onCreate(), faça uma chamada ao método setContentView() passando R.layout.mylayout como parâmetro.
  • 19.
    Declarando • Para quea activity seja executada pela aplicação é necessário declará-la no AndroidManifest.xml. • O trecho de código abaixo deve ser inserido dentro da tag <application>: <activity android:name=”.NomeDaActivityCriada” />
  • 20.
    Chamando a Activity •Uma activity pode ser chamada utilizando o método startActivity() Intent i = new Intent(this, NomeActivity.class); startActivity(i);
  • 22.
    Ciclo de Vida •Durante a vida de uma activity, muitos eventos podem ocorrer. Ações do usuário como apertar os botões “home” e “back”, abrir novas telas (activities), ou o recebimento de chamadas como receber uma ligação, etc., geram vários eventos que podem ser capturados dentro de uma activity.
  • 24.
    Interface com usuário •Uma interface de usuário em uma aplicação Android é um conjunto de objetos do tipo View. Todo e qualquer componente de interface gráfica é uma subclasse de View. Por exemplo: EditText, TextView, Button, LinearLayout, ImageView. • Em Interfaces de usuário (UI) existem views chamadas layout. Um layout define como views que estarão dentro dele serão dispostas.
  • 25.
    LinearLayout • Alinha todosos elementos em uma unica direção, horizontal ou vertical.
  • 26.
    RelativeLayout • A posiçãode cada elemento é especificado em relação a posicao dos elementos irmãos ou em relação ao RelativeLayout pai.
  • 27.
    ListView • Mostra umalista de itens.
  • 28.
    GridView • Exibe itensem uma grade bidimensional, rolável.
  • 29.
    AndroidManifest • Toda aplicaçãonecessita de um arquivo AndroidManifest.xml. Esse arquivo contém informações sobre sua aplicação que o Android necessita para que seu código seja executado corretamente e em segurança. Entre as principais informações que estão ou podem estar presentes no AndroidManifest.xml, podemos citar: • Nome do pacote Java da aplicação (serve como identificador único da aplicação);
  • 30.
    • Descrição doscomponentes que sua aplicação contem (ex.: activities e services); • Permissões de usuário que seu aplicativo necessita para rodar em um dispositivo (ex.: acesso a internet e localização de usuário); • Declaração de qual API Android mínima é necessária para rodar o aplicativo.
  • 31.
    Aplicações Exemplo • Mini-Web-Browser •Mini-Mp3-Player Projeto hospedado no Google Code. http://code.google.com/p/mini-web-browser-exemplo Projeto hospedado no Google Code. http://code.google.com/p/mini-mp3-player/
  • 32.
    Mini-Web-Browser • Estrutura • Interface. •Activity. • Listener. • Permissões.
  • 33.
    Mini-Web-Browser • Estrutura. • src:Activitye Classes em Geral • gen: Classe R gerada automaticamente • assets: Arquivos extras (não temos) • bin: Classes e Apk compilados • libs: Bibliotecas no projeto (não temos) • res/drawable: Imagens em cada resolução • res/layout: XML das Interfaces • res/menu: XML dos Menus • res/values: XML com Strings e Styles
  • 34.
    Mini-Web-Browser • Interface: Nossa interfaceserá composta por: • Botão Voltar; (id = ibVoltar) • Botão Home; (id = ibHome) • Botão Ir; (id = ibIR) • Editor de Texto URL; (id = etURL) • WebView; (id = browser)
  • 35.
  • 36.
    Mini-Web-Browser • Activity • Blocode variáveis para podermos fazer referencia aos componentes. • Comandos de configuração no onCreate.
  • 37.
    Mini-Web-Browser • Activity • Métodode configuração dos componentes para suas respectivas variáveis de referência.
  • 38.
    • Activity • Adicionado variáveisde referência dos componentes, configurações da activity no onCreate e método de configuração dos componentes. • Mas ainda esta faltando a classe MyWebViewClien te()
  • 39.
    Mini-Web-Browser • Activity • Aquitemos a classe MyWebViewCliente que é responsável por gerenciar o componente WebView e nela implementamos uma ação para ocorrer após a página ser carregada.
  • 40.
    Mini-Web-Browser • Activity • MétodoonClick(View v), verifica qual botão o chamou e toma a devida ação para ele.
  • 41.
    Mini-Web-Browser • Listener • Adicionamosuma constante URL_INICIAL e implementaremos a interface OnKeyListener para gerenciarmos com o ENTER no campo de texto o carregamento da página.
  • 42.
    Mini-Web-Browser • Listener • Ométodo sobrescrito onKey é chamado toda vez que digitamos algo no campo de texto. Então verificamos se foi um ENTER e se foi, mandamos carregar a URL digitada.
  • 43.
    Mini-Web-Browser • Permissão • Porfim, falta somente darmos permissão para o aplicativo acessar a internet. Basta inserir o comando no arquivo androidManifest .xml.
  • 44.
  • 45.
    Aplicações Exemplo • Mini-Web-Browser •Mini-Mp3-Player Projeto hospedado no Google Code. http://code.google.com/p/mini-web-browser-exemplo Projeto hospedado no Google Code. http://code.google.com/p/mini-mp3-player/
  • 46.
    Mini-Mp3-Player • Estrutura • Interface. •Activity. • Classe Filtro Mp3.
  • 47.
    Mini-Mp3-Player • Estrutura. • src:Activity e Classes em Geral • gen: Classe R gerada automaticamente • assets:Arquivos extras (não temos) • bin: Classes e Apk compilados • libs: Bibliotecas no projeto (não temos) • res/drawable: Imagens em cada resolução • res/layout: XML das Interfaces • res/menu: XML dos Menus • res/values: XML com Strings e Styles
  • 48.
    Mini-Mp3-Player • InterfaceInterface. Nossa interfaceserá composta por: • Texto MusicaAtual; (id = txMusicaAtual) • Botão Anterior; (id = ibAnterior) • Botão Play; (id = ibPlay) • Botão Pause; (id = ibPause) • Botão Stop; (id = ibStop) • Botão Proxima; (id = ibProxima) • ListView list; (id = @android:id/list)
  • 49.
    • XML daInterface
  • 50.
    Mini-Mp3-Player • Activity • Blocode variáveis para podermos fazer referencia aos componentes. • Comandos de configuração no onCreate.
  • 51.
    Mini-Mp3-Player • Activity • Métodode configuração dos componentes para suas respectivas variáveis de referência.
  • 52.
    Mini-Mp3-Player • Activity • Métodode leitura das músicas no cartão de memória.
  • 53.
    Mini-Mp3-Player • Activity • Paratermos o gerenciamento automático da Lista, estendemos nossa activity de ListActivity. • E Sobre-escrevemos o método onListItemClick() para tomarmos uma ação quando um item for selecionado.
  • 54.
    Mini-Mp3-Player • Activity • MétodoonClick(View v), verifica qual botão o chamou e toma a devida ação para ele.
  • 55.
    Mini-Mp3-Player • Activity • Métodopara carregar e tocar música. O método OnCompletion é chamado pelo Listener quando a música terminar de tocar.
  • 56.
    Mini-Mp3-Player • Activity • Métodopara passar e para voltar música.
  • 57.
    Mini-Mp3-Player • Classe FiltroMp3 • Adicionamos uma constante URL_INICIAL e implementaremos a interface OnKeyListener para gerenciarmos com o ENTER no campo de texto o carregamento da página.
  • 58.