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.211 ]

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

Criando gráficos com a classe JPGraph (parte 1)

Zello - Transforme seu Android (e GNU/Linux) num Walkie Talkie

Como criar um clicador de sites com NodeJS

Instalando um sistema tradutor de línguas no seu Linux

Fazendo seu Linux falar com espeak

Leitura recomendada

Tasker - Como fazer um ANDROID falante

Segurança no Android

Como customizar sua ROM Android

ARCore: SDK para realidade aumentada da Google

Processing - Programando para Android e iOS

  
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