Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

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

From 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 07:21.
253 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×