Escolar Documentos
Profissional Documentos
Cultura Documentos
ENUCOMP - 2011
Apresentao
Apresentao
Cndido Sales
Lucas Aquiles
Estudante do IFPI;
Membro do LIMS;
Estudante do IFPI;
@candidosales
candidosg@gmail.com
@lucas_aquiles
lucasaquiles@gmail.com
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Computao Mvel
Realizada em dispositivos portteis que sejam
capazes de acessar uma rede sem fio.
Por usurios mveis (com diferentes
velocidades)
Acesso informao a qualquer lugar, a
qualquer momento
Termos relacionados:
Computao Pervasiva
Computao Ubqua
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Computao Pervasiva
Computao Pervasiva: acesso conveniente a
informaes relevantes e a habilidade de
realizar aes sobre as mesmas quando e onde
for necessrio (IBM).
Espalhada por todos os lugares
14/09/11
ENUCOMP - 2011
Computao Pervasiva
Projeto Everywhere Display (IBM)
Qualquer superfcie pode se tornar em uma projeo do
tipo touch screen
14/09/11
ENUCOMP - 2011
Computao Ubqua
Computao Ubqua:
onipresena da informtica no cotidiano das
pessoas (Wikipdia)
... tornam-se parte da nossa vida de forma que
no os percebemos mais (Mark Weiser)
Baseia-se na deteco de gestos, movimentos,
fala, movimentao dos olhos...
14/09/11
ENUCOMP - 2011
Computao Ubqua
Ex: Casa do futuro:
Sistema automtico de iluminao
Sistemas de extino e preveno de incndios
Monitoramento de sade dos ocupantes da casa
Geladeira que perceba variaes de estoque e
validade dos produtos
Celular que envia dados de coletados a uma
central mdica
14/09/11
ENUCOMP - 2011
Computao Ubqua
14/09/11
ENUCOMP - 2011
Juntando tudo
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Princpio da Descentralizao
Um passo alm da descentralizao dos
sistemas distribudos;
Uma grande variedade de pequenos
dispositivos cooperam estabelecendo uma rede
dinmica de relacionamentos;
A habilidade de utilizar aplicaes e
informaes em dispositivos mveis gera a
necessidade de sincronizao de atualizaes
de dados com sistemas servidores e outros
dispositivos.
14/09/11
ENUCOMP - 2011
Princpio da Diversificao
Mesma informao em diferentes modelos
14/09/11
ENUCOMP - 2011
Princpio da Conectividade
Uma grande variedade de tecnologias deve
ser atendida:
redes celulares, WLANs, Bluetooth, IrDA,
WiMax, comunicao via satlite, etc. . .
ENUCOMP - 2011
Princpio da Simplicidade
Computadores de uso geral: configurao
complexa
Computadores mveis: mais especficos
e mais simples em configurao
Simples no significa primitivo:
telas touch-screen,
reconhecimento de escrita,
reconhecimento de voz
etc
14/09/11
ENUCOMP - 2011
Requisitos de Aplicao
Infra-estrutura:
- Cobertura(indoor, outdoor, acesso a alta/baixa velocidade)
- Qualidade da comunicao
- Confiabilidade e estabilidade da comunicao
- Segurana
Dispositivo Mvel
Forma de interao (grafico, textual, voz)
Capacidade de identificar localizao
Capacidade de processamento e armazenamento locais
Servios Middleware
Suporte criptografia e autenticao
QoS (Quality of Service)
Descoberta e adaptao a novos servios e recursos
14/09/11
ENUCOMP - 2011
ENUCOMP - 2011
Algumas aplicaes de
computao mvel
Ngocios diversos: m-commerce e m-business
Acesso Internet por viajantes: transferncia de arquivos,
Web, acesso remoto;
Comrcio: vendedores ambulantes;
Tratamento Mdico emergencial: transmisso do
pronturio de/para ambulncia (ou local do acidente);
Segurana: consulta e obteno de ficha criminal;
Seguradoras: avaliao de sinistro;
Servios de resgate: coordenao das atividades de
resgate;
Aplicaes Militares: coordenao de aes;
Gerenciamento de frota e Gerenciamento de bens;
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Viso Geral
14/09/11
ENUCOMP
- 2011
III SACIC
- 2011
32
Roteiro
1.
2.
3.
4.
5.
6.
7.
8.
9.
Mundo mobile
O que o Android;
Open Handset Alliance;
Android e os competidores;
Por que Linux no Android?;
Dalvik Virtual Machine;
Instalando as ferramentas do Android;
Projeto Meu HelloWord
Componentes;
14/09/11
ENUCOMP - 2011
Mundo mobile
Mercado de celulares
Usurios querem mais recursos em seus
dispositivos
Aplicaes mveis no mundo coorporativo
Necessidade de plataformas mais
modernas para desenvolvimento de
aplicaes no auxilio de seus negcios e
lucros.
14/09/11
ENUCOMP - 2011
O que Android?
Sistema operacional baseado no kernel
do Linux;
Possui uma implementao da JVM
Dalvik;
Cdigo aberto e livre;
Plataforma flexvel e poderosssima de
desenvolvimento
Customizavel
14/09/11
ENUCOMP - 2011
Android e os competidores
IPhone
JME
Symbiam
BlackBerry
WindowsMobile
14/09/11
ENUCOMP - 2011
ENUCOMP - 2011
ENUCOMP - 2011
ENUCOMP - 2011
Requisitos
1.Java SDK
2.Android SDK
3.Eclipse IDE
4.Plugin ADT
14/09/11
ENUCOMP - 2011
Configurao do ambiente
1. Escolher a verso
do JDK
14/09/11
2.Aceite
os termos
ENUCOMP
- 2011
3.Escolher a verso
para seu S.O
Configurao do ambiente
Instalao do JDK no Linux (Ubuntu)
Com o comando apt-get:
sudo apt-get install openjdk-6-jdk && sudo apt-get
install sun-java6-jdk
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
ENUCOMP
2011smartphone)
erso 14/09/11
atual a 3.2 (para tablet)
e 2.3.3 -(para
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Activity
14/09/11
ENUCOMP
- 2011
III SACIC
- 2011
67
Activity
Uma tela pode ser criada de duas formas:
Em um arquivo XML
Direto em um arquivo Java usando a sua API
android.app.Activity:
Similar classe JFrame do Swing
Representa, priori, uma tela da aplicao
Composta por vrios componentes representados pela classe
andoid.view.View (botes, checkboxes, imagens)
Controla a passagem de parmetros para outra tela
Define mtodos para tratar eventos dos componentes
14/09/11
ENUCOMP - 2011
Activity
14/09/11
ENUCOMP - 2011
View
So componentes simples (botes, checkboxes,
imagens) ou componentes compostos
Atuam como gerenciadores de layout
Podem conter vrias views filhas (outro componentes)
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
A classe R
14/09/11
ENUCOMP - 2011
AndroidManifest.xml
Base da aplicao e semelhante ao web.xml de
aplicaes WEB
14/09/11
ENUCOMP - 2011
AndroidManifest.xml
As Activities devem ser definidas no arquivo
Para que o usurio possa interagir, pelo menosuma Activity
deve ser definida no arquivo
A configurao de uma Activity como ponto de partida para a
aplicao ilustrada abaixo:
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Referenciando componentes
Sempre que possvel, atribua um ID aos
componentes
14/09/11
ENUCOMP - 2011
Referenciando componentes
Adicionar IDs aos componentes
permitem acesso via codificao
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Exemplo
14/09/11
ENUCOMP - 2011
Gerando Logs
14/09/11
ENUCOMP - 2011
Gerando Logs
Usa-se a classe Log e seus mtodos estticos:
14/09/11
ENUCOMP - 2011
Componentes
14/09/11
ENUCOMP
- 2011
III SACIC
- 2011
82
Roteiro
1. ScrollView;
2. MapView;
3. ListView;
4. ImageView;
5. ContextMenu;
6. Autocomplete;
7. Tables;
8. Buttons (ImageButton, GroupButton, Button);
9. CSS;
10.Tratamento de eventos
11.Apresentao de exemplos
14/09/11
ENUCOMP - 2011
ScrollView
A classe android.widget.ScrollView deve
ser utilizada para telas que contm
muitos elementos e nas quais seja
necessrio fazer a rolagem da tela.
Exemplo
exemplo_scrollview.xml
ExemploScrollView
14/09/11
ENUCOMP - 2011
MapView
Para visualizao de mapas;
Para utilizar um MapView, basta definir a tag
<com.google.android.maps.MapView> e
informar no atributo android:apiKey uma
chave de autenticao vlida para o Google
Maps.
Exemplo
Mapview.xml
MapaSimplesXML
14/09/11
ENUCOMP - 2011
ListView
Desenha os componentes em uma lista
vertical e com barra de rolagem (scroll),
se necessrio.
Necessita da classe android.app.ListActivity,
uma acitivy especial para exibir uma lista de
itens na vertical.
Exemplo
Prtico! Pg. 113
14/09/11
ENUCOMP - 2011
ImageView
Apresenta uma imagem que voc
selecionou.
14/09/11
ENUCOMP - 2011
Context Menu
Menu contextuado que pode ser utilizado
em qualquer momento de sua aplicao.
Exemplo
Pg 253
14/09/11
ENUCOMP - 2011
Autocomplete
Um recurso muito usado em aplicaes web
So campos de texto que podem completar
automaticamente o texto que o usurio est
digitando.
Para usar o AutoCompleteTextView necessrio
chamar o mtodo setAdapter(adaptador) e
informar sua implementao de ListAdapter.
Exemplo
Pg 221
14/09/11
ENUCOMP - 2011
Tabs
Conceitos
1. TabHost Componente que agrupa os
butes e o contudo
1. TabWidget Grupa em linha os butes
que possuem labels e cones (opcional)
1. FrameLayout Agrupa o contedo de
uma aba
14/09/11
ENUCOMP - 2011
Tabs
Estrutura
14/09/11
ENUCOMP - 2011
Usando TabActivity
Crie uma nova Activity que extenda de TabActivity e
implementa as interfaces OnTabChangeListener e
TabContentFactory
14/09/11
ENUCOMP - 2011
Usando TabActivity
Crie dois novos layouts xml do android com os
nomes tab1.xml tab2.xml e adicione um TextView a
cada layout
E altere o setContentView() das activitys Tab1.class
e Tab2.class para eles.
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Buttons
As classes android.widget.Button e
android.widget.ImageButton so
utilizadas para criar um boto na tela.
A diferena que a classe ImageButton
permite usar uma imagem para desenhar no
boto.
Exemplo
Pg 223
14/09/11
ENUCOMP - 2011
CSS
Podemos utilizar os arquivos XML como
extenses de estilos que podem ser
reutilizados em vrios layouts, sem
necessitar a repetio de cdigo.
Exemplo
Guia Turistico
14/09/11
ENUCOMP - 2011
Ciclo de vida
14/09/11
ENUCOMP
- 2011
III SACIC
- 2011
101
14/09/11
17/05/11
ENUCOMP
- 2011
III SACIC - 2011
14/09/11
17/05/11
ENUCOMP
- 2011
III SACIC - 2011
14/09/11
17/05/11
ENUCOMP
- 2011
III SACIC - 2011
Activities x Intents
14/09/11
ENUCOMP
- 2011
III SACIC
- 2011
105
Activities x Intents
Activities so as "telas"
Uma aplicao pode ter vrias activities:
geralmente independentes,
contudo elas podem precisar se cooperar e
trocar dados entre si
Numa aplicao tradicional, uma activity deve
ser definida como "main" e ser executada ao
rodar a aplicao
Indo de uma activity para outra possvel
pedindo para a atual executar uma intent
14/09/11
ENUCOMP - 2011
Intents
14/09/11
ENUCOMP - 2011
Intents
android.content.Intent
Representa uma mensagem da aplicao para o S.O.
Solicita que algo seja realizado e serve para integrar aplicaes
Ex:
Chamar outra tela (j visto)
Solicitar que o S.O. ligue para um nmero;
Abrir o browser em um determinado endereo
Exibir algum endereo, localizao ou rota num mapa
Executar processamento em segundo plano
Enviar mensagem para outras aplicaes realizarem tarefas
especficas
14/09/11
ENUCOMP - 2011
Intents
So chamadas pelos mtodos:
startActivity(intent) = Executa uma activity
starActivityForResult(intent) = Executa uma activity
quepode retornar valores
startService(intent) or bindService(intent, ) = Inicia
ou se comunica comum servio de segundo plano
sendBroadcast(intent) = Envia uma intent que
podeser "capturada" por serviosespecficos
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Permisses
Algumas intents necessitam de permisso explicita
para executar
Deve-se adicionar as permisses no arquivo
AndroidManifest.xml
14/09/11
ENUCOMP - 2011
14/09/11
ENUCOMP - 2011
Algumas permisses
14/09/11
ENUCOMP - 2011
Tipo ACTION_VIEW
...
Uri uri = Uri.parse("http://www.android.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
...
necessria a permisso INTERNET
14/09/11
ENUCOMP - 2011