Tasker - Cotação do dólar usando Javascript

No segundo artigo da série, vamos aprender a combinar Javascript com jQuery para fazer com que o Tasker nos fale a cotação do dólar a cada duas horas.

[ Hits: 21.216 ]

Por: Fábio Berbert de Paula em 15/12/2014 | Blog: https://fabio.automatizando.dev


Entendendo o código Javascript



Linha 1:

$.get("http://economia.uol.com.br/cotacoes", function( data ) {

Usando jQuery foi invocado o método get() para fazer download da página de cotações do site Economia UOL. O retorno do método (código HTML) é armazenado na variável data, que será usada pela função interna do método.

Linha 2:

var html = $("body").text(data).text();



A variável html recebe o conteúdo, em modo texto, da variável "data". Em português claro, recebe o código HTML do site da UOL (versão mobile).

Linhas 3 e 4:

var regex1 = /venda/i;
var regex2 = /^.*quebradir">(.*)<.span><.div>/gi;

Foram criadas duas expressões regulares, uma para coincindir com a primeira ocorrência da palavra "Venda" e outra para extrair o conteúdo que está entre quebradir"< e <.span><.div>. Se quiser entender melhor, eis o trecho do código fonte do site UOL no qual as expressões coincidem:

<div class="p">Venda <span class="quebradir">2,6512</span></div>

Linhas 5, 6 e 7:

var saida = html.split("\n");
var texto = '';
for (i = 0; i<saida.length; i++) {

Foi criado um array "saida" onde cada elemento é uma linha do código fonte do site. Vejam que usei o "\n" (quebra de linha) como delimitador da função split().

Em seguida criei uma variável texto sem conteúdo e abri um loop for para percorrer linha por linha do site de cotações.

Linhas 8, 9 e 10:

if (saida[i].match(regex1)) {

   texto += saida[i].replace(regex2, "\$1");
   break;

Se a linha corrente combinar com a primeira expressão regular, então vamos extrair o valor da cotação com:

saida[i].replace(regex2, "\$1");

Onde \$1 corresponde ao conteúdo delimitado por parêntesis em regex2.

Como já pegamos o valor desejado (cotação do dólar comercial), vamos interromper o looping com a chamada "break".

Linha 13:

say("Cotação do dólar " + texto, "default", "default", "Media", 5, 5);

Usando o método built-in say() do Tasker, vamos fazer o celular narrar a cotação. Para melhor entendimento da linha acima, veja a sintaxe da função say():

say( str text, str engine, str voice, str stream, int pitch, int speed )
Faz o dispositivo falar o conteúdo de "text".
  • engine: a engine de fala. Exemplo: com.svox.classic. Use "default" ou "undefined" para usar a padrão do sistema.
  • voice: a voz a ser usada. Use "default" ou "undefined" para usar a padrão da engine de voz.
  • stream: saída de áudio a ser usada. Media corresponde ao "Media volume". Pode-se usar volume de toque, notificação e sistema.
  • pitch: valor entre 1-10.
  • speed: valor entre 1-10.

Com o script criado e o código explicado, vamos ao Tasker!

Página anterior     Próxima página

Páginas do artigo
   1. Criando o código JavaScript
   2. Entendendo o código Javascript
   3. Criando a tarefa no Tasker
   4. Criando o profile no Tasker
Outros artigos deste autor

Semana da velharia no VOL

Se preparando para obter certificação LPI

Desbloquear a tela do Android pelo PC (PIN)

Root no Samsung Galaxy S3 usando GNU/Linux

Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota

Leitura recomendada

Tasker - Como fazer um ANDROID falante

Criando máquina virtual Linux no Android + servidor de arquivos

Chromecast - Upgrade de sua TV LED sem Wi-Fi

Como instalar Firefox OS junto ao Android com gerenciador de boot

Assumindo o controle do teu Android com ADB

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts