×
Namespaces

Variants
Actions

Archived:Como criar um bate-papo por Bluetooth no Flash Lite

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Não recomendamos o desenvolvimento em Flash Lite para aparelhos atuais da Nokia. Todos os artigos relacionados a Flash Lite foram arquivados. A plataforma Nokia Asha e os aparelhos recentes S40 não possuem mais o Flash Lite. O uso de Flash Lite em Symbian é limitado. Por exemplo, informações relativas à plataforma Nokia Belle podem ser encontradas neste link (em Inglês). Informações específicas de Flash Lite para aparelhos S40 ANTIGOS e Symbian podem ser encontradas na Flash Lite Developers Library (em Inglês).

Article Metadata

Artigo
Tradução:
Por edprado
Última alteração feita por hamishwillee em 14 May 2013

Contents

Introdução

Neste tutorial nós demonstraremos passo a passo um guia para criar um bate-papo por bluetooth utilizando o Kuneri Lite. O Kuneri Lite permite acessar funcionalidades que não estão disponíveis diretamente no Flash Lite, por exemplo, bluetooth, GPS, Camera, etc). Para maiores informações sobre o Kuneri Lite.

Criando uma classe KuneriLoader

Primeiramente, você deve criar um arquivo ActionScript chamado KuneriLoader.as. Este arquivo será responsável por receber e enviar todas as mensagens. Copie e cole o seguinte código para o KuneriLoader.as:

/*
author: Flash Lite Effort - Embedded Systems and Pervasive Computing Lab.
version: 0.1
modified: 10/07/2008
*/

 
class KuneriLoader {
 
private var loader:LoadVars;
 
public function KuneriLoader(){
this.loader = new LoadVars();
}
 
public function KLoad(url:String, handler){
loader.onLoad = function()
{
handler(this);
}
 
trace("CARREGANDO: " + url);
 
loader.load(url);
}
 
public function KError(msgError:String, klError:String){
trace("KuneriLite: " + klError + " " + msgError);
}
}

A função KLoad() recebe URL e uma handler (função de retorno) como parâmetro, a função de retorno será chamada depois que a requisição ao Kuneri Lite for concluída. (Lembre-se que a função trace não é exibida em um dispositivo real).

Criando um bate-papo

Em seguida, crie um arquivo Flash Lite (.fla). No primeiro frame coloque um botão que abrirá uma conexão utilizando o Kuneri Lite, coloque ‘connect_btn’ como o nome da instância (instance name) do botão. depois adicione um texto dinâmico (dynamic text) com o nome de instância de ‘info’.


Connect.PNG

Crie uma camada (layer) e chame-a de ‘labels’, depois adicione os rótulos (labels), no caso do primeiro quadro (frame), chame-o de ‘connect’. Depois, crie um outra camada (layer) e chame-a de ‘actions’ e adicione todas as ações (actions) referente ao quadro (frame). No primeiro quadro, na camada ‘actions’, cole o seguinte código abaixo:

//Importa a classe KuneriLoader.
import KuneriLoader;
//cria um instância do KuneriLoader.
var loader = new KuneriLoader();
 
var kuneriPath:String = "http://127.0.0.1:1001/Basic/";
_quality = "HIGH";
fscommand2("FullScreen", true);
 
//Inicializa o bluetooth e retorna um resposta sobre a inicialização para o kuneriStarted
loader.KLoad(kuneriPath + "connect?klCommand=start&", kuneriStarted);
 
//Quando o botão connect é liberado(após clicado) esta função é chamada.
connect_btn.onRelease = function():Void {
 
//Conecta a outro dispositivo e a resposta é enviada para a função kuneriConnected.
//Neste caso, será aberta um outra janela, do sistema, para você especificar o dispositivo.
 
loader.KLoad(kuneriPath + "connect?klCommand=connect&", kuneriConnected);
info.text = "Aguardando...";
}
 
function kuneriConnected(res:LoadVars){
if (res.klError != 0)
info.text = "Falha na conexão.";
}
 
function kuneriStarted(res:LoadVars){
if (res.klError != 0){
info.text = "Erro na inicialização.";
//tenta novamente.
loader.KLoad(kuneriPath + "connect?klCommand=start&", kuneriStarted);
}
else info.text = "Bluetooth iniciado.";
}
 
function kuneriStatus(res:LoadVars){
if (res.klError != 0){
info.text = "Erro no estado da conexão.";
}
//Verifica se foi conectado com o outro dispositivo.
else if (res.klStatus eq "connected"){
//Stop the update status.
clearInterval(sts);
gotoAndPlay("chat");
}
}
 
function getStatus():Void{
//Obtém o estado da Kuneri Lite e encaminha para a função kuneriStatus.
loader.KLoad(kuneriPath + "connect?klCommand=status&", kuneriStatus);
}
 
//A cada 700 milisegundos este estado(status) é atualizado.
sts = setInterval(getStatus, 700);
stop();

Ainda na camada ‘actions’, digite o seguinte código:

send_btn.onRelease = function():Void {
if (msgText.text != ""){
//Envia sua mensagem para outro usuário.
loader.KLoad(kuneriPath + "connect?klCommand=send&klMessage=" + msgText.text + "&", kuneriSend);
info.text = "Enviando...";
}
}
 
function kuneriSend(res:LoadVars){
if (res.klError != 0)
info.text = "Falha no envio da mensagem.";
 
 
//Depois de envio, com sucesso, da mensagem a área de bate-papo atualizará.
else uptadeSendChat();
}
 
function uptadeSendChat():Void {
info.text = "";
//atualiza chatText.
chatText.text += ">> " + msgText.text + "\n";
chatText.scroll = chatText.maxscroll;
//limpa o conteúdo de msgText.
msgText.text = "";
}
 
update_btn.onRelease = function():Void {
//ler a mensagem e envia para outro usuário.
loader.KLoad(kuneriPath + "connect?klCommand=read&", kuneriRead);
info.text = "Reading...";
}
 
function kuneriRead(res:LoadVars){
if (res.klError != 0)
info.text = "Falha na leitura.";
//depois de lida a mensagem, a área de texto do bate-papo será atualizada
else uptadeReadChat(res.klReceive);
}
 
function uptadeReadChat(msg:String):Void {
info.text = "";
//atualiza o chatText.
chatText.text += ">> " + msg + "\n";
chatText.scroll = chatText.maxscroll;
}
stop();

No Stage adicione outros botões com os respectivos nome de instância ‘update_btn’ e ’send_btn’. Adicione também um caixa de texto (TextInput) com o nome de instância ‘msgText’ e dois textos dinâmicos (Dynamic Text) com o nome de instância ‘chatText’ e ‘info’, respectivamente. Como é mostrado na imagem.


Chat.PNG

Se você deseja testar sua aplicação, você deve criar um arquivo .sis no Kuneri Lite e instalar no dispositivo. Para maiores informações sobre a criação do arquivo .sis, clique em [1].


Download

Download do Código fonte.

Autor

Autor do artigo original: --Felipe Sampaio 15 July 2008

Autor da tradução: --edprado 16:49, 22 April 2010 (UTC)

This page was last modified on 14 May 2013, at 10:21.
210 page views in the last 30 days.