×
Namespaces

Variants
Actions

Archived:Obtendo informações sobre a rede 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
--edprado 17:03, 13 April 2010 (UTC)


Quando desenvolvemos aplicações em Flash Lite para dispositivos móveis, a mais importante informação é a velocidade e o preço da conexão que o usuário possui. No Flash Lite, cada informação pode ser obtida usando a função fscommand2().

Contents

Como está o nível do sinal

Sabe-se que o nível de sinal retorna um valor ambíguo, ele precisa ser transformado em percentual. Então, precisaremos utilizar o GetMaxSignalLevel e o GetSignalLevel.

A função abaixo simplesmente obtém informações sobre o nível de sinal atual e o nível máximo e calcula o nível de sinal em percentual.

function GetSignalLevel(){
var SignalLevel:Number;
var MaxSignal:Number;
var CurrentSignal:Number;
CurrentSignal= fscommand2("GetSignalLevel"); //obtem nível atual do sinal
MaxSignal = fscommand2("GetMaxSignalLevel"); //obtem valor do nível máximo do sinal
SignalLevel = Math.round(CurrentSignal/MaxSignal )*100; //calcula o percentual do nível de sinal atual.
return SignalLevel;
}

A velocidade da rede

Se você precisa saber o quanto veloz é sua rede, você pode usar este comando GetNetworkGeneration. Ele retorna um número, correspondente a geração de sua rede. Lembrando que quando maior o número melhor. Veja o trecho de código abaixo:

function GetNetworkSpeed(){
var netGeneration:String = fscommand2("GetNetworkGeneration")
switch(netGeneration){
case -1:
netGeneration = "Sem rede";
break;
case 0:
netGeneration = "Não pode fazer ligação";
break;
case 1:
netGeneration = "2G";
break;
case 2:
netGeneration = "2.5G";
break;
case 3:
netGeneration = "3G";
break;
}
return netGeneration;
}

Quanto irá custar...

Claro que você não consegue obter informações sobre o preço diretamente, mas você pode descobrir se o dispositivo está na operadora local ou em roaming. Isto, pelo menos, permite que você exiba um aviso ao usuário antes de baixar dados enquanto estiver em roaming.


Esta função usa o fscommand2() e os comandos GetNetworkStatus e GetConnectionStatus para descobrir as informações.

function GetNetworkSpeed(){
netStat = fscommand2("GetNetworkStatus");
var netStatus:String
switch(netStat) {
case -1:
netStatus = "Não é possível obter informações sobre a rede." add newline;
break;
case 0:
netStatus = "Nenhuma rede registrada." add newline;
break;
case 1:
netStatus = "Rede doméstica." add newline;
break;
case 2:
netStatus = "Rede doméstica extendida." add newline;
break;
case 3:
netStatus = "Em roaming" add newline;
break;
}
conStat = fscommand2("GetConnectionStatus");
var conStatus:String
switch(conStat) {
case -1:
conStatus = "Não é possível obter informações sobre a rede." add newline;
break;
case 0:
conStatus = "Nenhuma rede registrada." add newline;
break;
case 1:
conStatus = "Na rede doméstica." add newline;
break;
case 2:
conStatus = "Rede doméstica extendida." add newline;
break;
case 3:
conStatus = "Em roaming" add newline;
break;
}
statusnetName = fscommand2("GetNetworkName", "netName")
if(netName =="undefined") {
netName = "";
}
return "Status da rede: " +newline + netName + newline+ netStatus;
}

Está funcionando?

Todas essas informações não ajudam você a saber se o serviço está fora do ar ou indisponível. Então, se você quer fazer uma requisição HTTP (HTTP Request) e ver o que acontece. O comando GetNetworkRequestStatus vem para dar uma mãozinha para você. Em outras palavras, você poderá saber como está o andamento de sua requisição HTTP.

var httpStat:Number;
httpStat= fscommand2("GetNetworkRequestStatus");

Os valores que o HttpStat recebe podem ser interpretados a partir da tabela abaixo:

-1: Commando não é suportado.
 0: Conectado à rede, Hostname resolvido, conectado ao servidor. Requisição pendente.  
 1: Conectando à rede. Requisição pendente.
 2: Não conectado à rede. Requisição pendente.
 3: Conectado à rede, resolvendo o Hostname. Requisição pendente.
 4: Falha na rede. Falha na requisição.
 5: Server connection error. Falha na requisição.
 6: Falha HTTP (por exemplo, 404)
 7: O servidor DNS não foi encontrado ou o nome não pode ser resolvido. Falha na requisição.
 8: Successo
 9: Expirado tempo de espera.
10: Nenhuma requisição foi feita.


Como tudo isso pode ajudar?

Quando combinamos informações sobre diferentes redes através do fscommands, você consegue ter informações sobre a rede no qual sua aplicação em Flash Lite está. Com esta informação a sua disposição, você pode decidir que tipo de ações tomará, por exemplo, atualizar informações ou não atualizar ou ao menos, oferecer ao usuário a decisão de atualizar.

When combine and cross reference the different network related fscommands, you can get a significant amount of information about the network where the device with your Flash Lite application is. With this information at your disposal, you can decide on actions like "to update data or not to update data" or at least provide some data for the user to decide on.

This page was last modified on 14 May 2013, at 10:24.
72 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.

×