Continuamos com a série de artíulos em Adobe Air . Agora, tente um tema é curioso como detectar se o cliente tem acesso à Internet. Qual o benefício pode um sabe? Simples, permitir que o aplicativo funcione em modo offline e modos online.
Esta parte é muito bem explicado no manual. Não é um evento "NETWORK_CHANGE", que serve nosso propósito
. O que é isso? Para detectar mudanças nas interfaces de rede em geral. Esse evento é acionado sempre que ocorrerem alterações em qualquer uma das interfaces de rede na máquina que está executando a aplicação, o que não significa que a mudança do status da conectividade com a Internet, porque este evento não sabe se deve ou não sair Internet ou através do qual você interface de saída. Qual o benefício pode ser, então eu não sei
Mas aqui está o caso se você deseja usar para alguma coisa ...
- ( Event. NETWORK_CHANGE , onNetworkChange ) ; NativeApplication. NativeApplication. AddEventListener (Event. NETWORK_CHANGE, onNetworkChange)
- event:Event ) função onNetworkChange (evento: Event)
- (
- / / Verificar disponibilidade de recursos
- )
Para nossos propósitos, nós usamos a classe URLMonitor , como o próprio nome sugere, serve para monitorar uma URL. Na verdade, o AIR é como detecta o status da conexão, periodicamente, a ligação ao URL que você indicar. Se você não consegue alcançá-lo pressupõe que você ficar fora da Internet. Vamos lá, que se você estava esperando algo que ultrapassa e cafetão, você pode ficar esperando, é o método tradicional que existe: o leite, eu não posso ligar para o Google, que terá perdido o wifi. É o mesmo
.
- . URLMonitor ; ar de importação. líquido. URLMonitor;
- . URLRequest ; flash de importação. líquido. URLRequest;
- . StatusEvent ; flash de importação. acontecimentos. StatusEvent;
- var monitor: URLMonitor;
- new URLRequest ( 'http://www.adobe.com' ) ) ; monitor = URLMonitor novo (novo URLRequest ("http://www.adobe.com '));
- StatusEvent. STATUS , announceStatus ) ; monitor. addEventListener (StatusEvent. STATUS, announceStatus)
- ; monitor. iniciar ();
- e :StatusEvent ) : void { função announceStatus (e: StatusEvent): void (
- "Status change. Current status: " + monitor. available ) ; trace ("a mudança de status. atual status:" monitor +. disponíveis);
- )
Dentro da função, o que nos interessa é o valor da monitor.available, verdadeiras ou falsas, que indicará ou não se conectar à URL. Esta é, na verdade, o conceito de URLMonitor, determinar se uma URL é acessível ou não. Que uma URL não é acessível não significa que você não tem acesso à Internet, só não tem com que a URL. A auditoria, portanto, deve ser feito com a URL do backend do nosso aplicativo e não com qualquer URL em geral, porque a nossa aplicação depende de quem é o nosso back-end, e não Google
.
O mesmo sistema pode ser usado para verificar o status de qualquer aplicação que escuta em uma porta diferente da 80. A explicação é exactamente o mesmo e gostaríamos de fazer isso:
- . ServiceMonitor ; ar de importação. líquido. ServiceMonitor;
- . StatusEvent ; flash de importação. acontecimentos. StatusEvent;
- 'www.adobe.com' , 6667 ) ; socketMonitor = SocketMonitor novo ('www.adobe.com', 6667);
- StatusEvent. STATUS , socketStatusChange ) ; socketMonitor. addEventListener (StatusEvent. STATUS, socketStatusChange)
- ; socketMonitor. start ();
- e :StatusEvent ) : void { função announceStatus (e: StatusEvent): (void
- "Status change. Current status: " + socketMonitor. available ) ; trace ("a mudança de status. atual status:" socketMonitor +. disponíveis);
- )
No próximo capítulo veremos como adicionar o poder a seus aplicativos usando SqlLite para armazenar dados offline. Se combinarmos a capacidade de salvar dados no aplicativo para verificar o status da rede do backend que fazemos a nossa aplicação em modo offline trabalho mantendo o que você precisa quando você envia e conexão do processo. Eu acho que é bem compreendido, digamos, um exemplo prático.
Tenho uma aplicação que lhe permite enviar SMS para telemóveis através de um gateway HTTP que será um para fazer observações. A minha aplicação chama o número de destino eo texto a enviar, ele se conecta ao portal e passa a mensagem que enviar. Claro que, se no momento do envio eu não tenho nenhuma ligação com o gateway, não consigo enviar SMS. Vamos agora apresentar o que vimos neste artigo ... eu posso saber a qualquer momento se o gateway HTTP é alcançável! Se eu vou fazer a transferência não tenho conexão, eu continuo na minha SqlLite banco de dados como alterações do estado conexão (URLMonitor aconselhar-me) jogou todos os itens pendentes.
Certamente, se você pensar nisso também encontrar algumas útil
. Dito isto, no próximo capítulo ... SqlLite.










Ninguém comentou em "Adobe AIR IV - detectar o status da conexão"
Feed comentários para esta entrada TrackbackDeixe uma resposta