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: 20.688 ]

Por: Fábio Berbert de Paula em 15/12/2014 | Blog: https://www.instagram.com/alexabolada/


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

Como fazer publicações pelo Instagram Web

Convertendo Texto em Fala com Python e pyttsx3

O Surgimento do Linux

HOWTO: Como se tornar moderador do Viva o Linux

Desenhar com o mouse na tela do desktop

Leitura recomendada

Tasker - Como fazer um ANDROID falante

Desbloquear a tela do Android pelo PC (PIN)

Processing - Programação para dispositivos móveis

Hello Android! Meu Primeiro APP

Como fazer root em aparelhos Samsung

  
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