Você está na página 1de 59

App Inventor

Comunicao Bluetooth,
ListPicker e Procedure

Prof: Wilton Moreira Ferraz Junior


Bluetooth

Bluetooth uma especificao de rede sem fio de mbito


pessoal (Wireless personal area networks PANs)
consideradas do tipo PAN ou mesmo WPAN.
O Bluetooth prov uma maneira de conectar e trocar
informaes entre dispositivos como telefones celulares,
notebooks, computadores, impressoras, cmeras digitais e
consoles de videogames digitais atravs de uma frequncia
de rdio de curto alcance globalmente licenciada e segura
Interface da aplicao
Comunicao Bluetooth

Ambos os mdulos de cliente e servidor Bluetooth so


usados para criar uma sesso de chat. Ambos os
componentes esto no mesmo aplicativo.
O componente do cliente ser utilizado para o dispositivo
que inicia a conexo, o componente de servidor ir ser
utilizado para o dispositivo de aceitar a conexo.
Os dispositivos devem ter sido emparelhados pela primeira
vez. No h nenhuma pesquisa para clientes de chat
disponveis. O exemplo s funciona para enviar mensagens
entre 2 dispositivos.
Comunicao Bluetooth

Inicie o App Inventor e crie um novo projeto. Nomeie como


BluetoothChat
Comunicao Bluetooth
Mude o Title da Screen1 para BluetoothChat
Comunicao Bluetooth
Insira um componente Notifier

Funo:
Exibe a
mensagem Por
favor habilite o
Bluetooth em
configuraes do
dispositivo se o
Bluetooth do
smartphone no
estiver acionado
Comunicao Bluetooth
Insira um componente BluetoothClient localizado em Connectivity

Funo:
Requisitar
conexo Bluetooth
para o servidor
Comunicao Bluetooth
Insira um componente BluetoothServer localizado em Connectivity

Funo:
Monitorar as
requisies dos
dispositivos
Bluetooth Clientes
Comunicao Bluetooth
Insira um componente HorizontalArrangement localizado em Layout

Nome:
HorizontalArrangement1

Width:
Fill Parent

Funo:
Organizar o Layout
de maneira que a
esquerda seja exibida
e Label lblApelido e a
direita TextBox
txtApelido
Comunicao Bluetooth
Insira um componente label localizado em User Interface

Nome: lblApelido
Text: Apelido
FontSize: 18
Funo:
Indicar o local para
informar o apelido
para o chat
Comunicao Bluetooth
Insira um componente TextBox localizado em User Interface

Nome: txtApelido
Width: Fill Parent
Funo:
Caixa de texto
para o usurio
informar seu
apelido para o
chat
Comunicao Bluetooth
Insira um componente HorizontalArrangement localizado em Layout
Nome:
HorizontalArrangement2

Width:
Fill Parent

Funo:
Organizar o Layout para
exibir horizontalmente
os componentes
ListPicker ltpConecta e
os Buttons
btnDesconectar,
btnLimpar, btnSair
Comunicao Bluetooth
Insira um componente ListPicker localizado em User Interface

Nome: ltpConecta
Text: Conectar
FontSize: 16
Funo:
Exibir a lista de
dispositivos
emparelhados para
selecionar o qual
deles ser
estabelecido a
conexo
Comunicao Bluetooth
Insira um componente Button localizado em User Interface

Nome:
btnDesconectar
Text: Desconectar
FontSize: 16
Funo:
Efetuar a
desconexo do chat
Comunicao Bluetooth
Insira um componente Button localizado em User Interface

Nome: btnLimpar
Text: Limpar
FontSize: 16
Funo:
Limpar a rea de
texto do chat
Comunicao Bluetooth
Insira um componente Button localizado em User Interface

Nome: btnSair
Text: Sair
FontSize: 16
Width: Fill Parent
Funo:
Efetuar a
desconexo e
encerrar a aplicao
Comunicao Bluetooth
Insira um componente HorizontalArrangement localizado em Layout

Nome:
HorizontalArrangement3

Width:
Fill Parent

Funo:
Organizar o Layout de
maneira que a
esquerda seja exibida e
TextBox txtMensagem e
a direita Button
btnEnviar
Comunicao Bluetooth
Insira um componente TextBox localizado em User Interface

Nome: txtMensagem
Width:
Fill Parent
Hint:
entre com a
mensagem

Funo:
Onde sero digitadas
as mensagens a serem
enviadas
Comunicao Bluetooth
Insira um componente Button localizado em User Interface

Nome:
btnEnviar

Text:
Enviar

Funo:
Efetuar o envio das
mensagens digitadas
no TextBox
txtMensagem
Comunicao Bluetooth
Insira um componente Label localizado em User Interface

Nome: lblHistorico
Text: Histrico
FontSize: 18
FontBold: habilitar
Width: Fill Parent
Funo:
Indicar o local onde
sero exibidas as
mensagens recebidas
Comunicao Bluetooth
Insira um componente Label localizado em User Interface

Nome: lblResultado
Text: Inicializando
FontSize: 16
Height: Fill Parent
Width: Fill Parent
Funo:
Exibir as mensagens
recebidas
O que um procedimento

um conjunto de instrues que executam uma tarefa ou


conjunto de tarefas especficas. Tambm pode ser chamado
uma funo.
Usamos procedimentos no App Inventor para criar novos blocos
que podemos usar repetidamente e ocupar menos espao do
que todos os blocos usados no procedimento original.
Criando um procedimento

O procedimento inicializa faz a chamada do


componente BluetoothServer1 para comear a aceitar
conexes, define o ttulo da Screen1 para Funo =
indefinida muda o valor da varivel Servidor para
false, desabilita o Clock1 e chama o procedimento
imprime com o parmetro Inicializando
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Criando um procedimento
Cliente: Conexo

No evento listpicker.BeforePicking do ListPicker ltpConecta


sero inicializados com os endereos MAC e os nomes dos
dispositivos emparelhados disponveis.
Depois de selecionar um endereo MAC, o mdulo de
servidor ir parar de aceitar outras solicitaes de
conexo. No ttulo da tela o texto "Funo = Cliente" ser
apresentado.
O procedimento conectado receber (parmetro =
true) habilitar o boto Enviar, desativar o ListPicker
ltpConecta, iniciar o componente Clock1 e ativa o boto
Desconectar.
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Cliente: Conexo
Servidor: Conexo Aceita
Se o aplicativo recebe uma solicitao de conexo, ele
aceita. Neste caso no ttulo da tela ser exibido "Funo:
servidor".
Clock1: Verifica se novas
mensagens foram enviadas
A cada segundo ser verificado, se existe algum texto
recebido. Se sim, vai ser exibido no lblResultado. Dependendo
do papel servidor ou cliente, diferentes blocos tm de ser usado.
Desligar
Quando parmetro do
procedimento Conectado
receber false ir desativar o
boto Enviar, ativar o
ListPicker ltpConecta, parar o
componente Clock1 e
desativar o boto Desligar.
Outros blocos usados
O bloco Screen.ErrorOccurred pega erros e os exibe no Label
lblResultado.
Outros blocos usados