Home Menu

Menu



Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 11/03/18, 02:28:56
Avatar de Rsc
Rsc Rsc no está en línea
Usuario muy activo
Mensajes: 502
 
Fecha de registro: jun 2011
Mensajes: 502
Modelo de smartphone: Xiaomi Mi5s
Versión de ROM: Android 7.0
Tu operador: Otra
Mencionado: 16 comentarios
Tagged: 1 hilos
Cuadros de diálogo con Javascript

Hasta ahora, usaba con frecuencia el método alert de JS, para mostrar cuadros de dialogo en algunos de mis proyectos, pero hoy he descubierto dos tipos de cuadros de diálogos más, que os pueden resultar útiles.

Aquí voy a poner un resumen, pero para el que quiera profundizar, puede echarle un vistazo a la página en la cual he encontrado la información, que además está muy bien explicado: http://elfreneticoinformatico.com/cu...on-javascript

Los cuadros de diálogos a los que me refiero son; confirm y prompt

confirm: muestra un mensaje con un botón de aceptar y otro de cancelar. El resultado se guarda en una variable boleana (true o false)

Ejemplo:

Código:
var confirmacion = confirm("Pulsa el botón que quieras");
if(confirmacion){
	alert("Has pulsado aceptar");
} else {
	alert("Has pulsado cancelar");
}
prompt: muestra un mensaje, dos botones (aceptar y cancelar) y un cuadro para introducir texto). En este caso la variable guarda lo que se escriba en el cuadro de texto

Ejemplo:

Código:
var textoEscrito = prompt("Escribe un texto", "Texto");
if(textoEscrito != null){
	alert("Has escrito " + textoEscrito);
} else {
	alert("No has escrito nada");
}
El segundo parámetro es opcional. Lo que se indique en ese parámetro se mostrará previamente en el cuadro de texto.

Los tres pueden ser muy útiles, pero sobretodo el método prompt, ya que creo que puede ser una buena alternativa para la acción "Consultar variable" que yo particularmente la uso mucho.

Creo que es una ventaja, el no tener que prestar atención a como se verá la escena perteneciente a la acción "consultar variable", en otros teléfonos con diferente resolución.

Un saludo.

Última edición por Rsc Día 11/03/18 a las 02:34:25
Responder Con Cita
Los siguientes 3 usuarios han agradecido a Rsc su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 11/03/18, 04:21:41
Avatar de danko9696
danko9696 danko9696 no está en línea
Usuario muy activo
Mensajes: 2,371
 
Fecha de registro: ago 2012
Mensajes: 2,371
Modelo de smartphone: Mate 8
Tu operador: Yoigo
Mencionado: 34 comentarios
Tagged: 1 hilos
Yo los usaba hace tiempo pero por diferente motivo. Si llamas a una escena (o tarea) de Tasker desde dentro de JS y en un momento dado quieras pedir algún dato la ejecución (de JS) continua inmediatamente, no espera a que finalice la escena, por lo que este método (prompt/confirm) era la única manera. Al final los reemplacé con una tarea completa + escena en lugar de solo JS, a modo de introducción de datos más visual.

Una cosa, el primer ejemplo que has puesto se pueden simplificar un poco:
Código:
if(confirm("Pulsa el botón que quieras"))
    alert("Has pulsado aceptar");
else
    alert("Has pulsado cancelar");
Y relacionado con esto (un poco) me pregunto si sería posible crear desde el JS de Tasker escenas completas (aunque sea bastante más complicado), añadiendo por ejemplo listboxes y cosas así, al igual que se puede en Lightning Launcher, que también tiene soporte JS. Si es posible podría estar bien para escenas simples sin tener que salir del código y permitiendo adaptar mejor la resolución a diferentes dispositivos, como indicas.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a danko9696 su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #3  
Viejo 11/03/18, 11:52:58
Avatar de Rsc
Rsc Rsc no está en línea
Usuario muy activo
Mensajes: 502
 
Fecha de registro: jun 2011
Mensajes: 502
Modelo de smartphone: Xiaomi Mi5s
Versión de ROM: Android 7.0
Tu operador: Otra
Mencionado: 16 comentarios
Tagged: 1 hilos
Cita:
Originalmente Escrito por danko9696 Ver Mensaje
Yo los usaba hace tiempo
No esperaba menos de uno de losprecursores de JS en este foro.

Cita:
Originalmente Escrito por danko9696 Ver Mensaje
Al final los reemplacé con una tarea completa + escena en lugar de solo JS, a modo de introducción de datos más visual.
A mi la verdad que me gusta como se ve las ventanas emergentes mostradas con JS. Supongo que varía dependiendo de la versión de Android. La escena de "consultar variable" predefinida de Tasker, siempre la acabana modificando para darle otro aspecto, porque nunca me ha gustado.

Cita:
Originalmente Escrito por danko9696 Ver Mensaje
Una cosa, el primer ejemplo que has puesto se pueden simplificar un poco
Cierto, y gracias por añadirlo. Lo he leído también en esa página, pero finalmente lo he puesto de la manera que yo lo comprendía.

Cita:
Originalmente Escrito por danko9696 Ver Mensaje
añadiendo por ejemplo listboxes y cosas así
Nada más leer esto, me he puesto a buscar si existía alguna manera para mostrar algún cuadro emergente con una lista seleccionable. He encontrado algo pero no lo se implementar en Tasker.

http://www.dummies.com/web-design-de...3-programming

Respecto a lo de crear escenas completas usando JS, creo que no se puede...

La opción de crear escena usando JS, es exactamente igual a la acción de Tasker de crear escena (Crea una escena ya existente). Vamos, que realmente no es "crear", sería más correcto denominar esa acción como "prepara escena".

También se pueden crear elementos de una escena desde JS, pero más de lo mismo, creo que hay que atenerse a los parámetros que se pueden incluir en la interfaz de tasker a la hora de crear un elemento.

La verdad que me he peleado mucho con las escenas de Tasker, porque creo que es uno de los puntos más flojos... He intentado hasta modificar el archivo xml de las escenas, intentando engañar a Tasker, modificando parámetros que no deja poner en la interfaz de creación de escenas, pero el resultado ha sido negativo.

A ver si alguien saca algo en claro sobre si se puede mostrar algún cuadro de diálogo seleccionable, o algún otro método que nos permita interactuar con proyectos sin necesidad de recurrir a escenas.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Rsc su comentario:
  #4  
Viejo 11/03/18, 12:04:35
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Muchas gracias por compartir @Rsc! Muy bueno ;)
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 11/03/18, 15:30:30
Avatar de danko9696
danko9696 danko9696 no está en línea
Usuario muy activo
Mensajes: 2,371
 
Fecha de registro: ago 2012
Mensajes: 2,371
Modelo de smartphone: Mate 8
Tu operador: Yoigo
Mencionado: 34 comentarios
Tagged: 1 hilos
Cita:
Originalmente Escrito por Rsc Ver Mensaje
Nada más leer esto, me he puesto a buscar si existía alguna manera para mostrar algún cuadro emergente con una lista seleccionable. He encontrado algo pero no lo se implementar en Tasker.

http://www.dummies.com/web-design-de...3-programming
Pero ese ejemplo es para una web, yo me refiero a usar librerías de android desde javascript. Por ejemplo un test que hice en Lightning Launcher para mostrar un Editbox:

Código:
/*
* Web Shortcuts
* Create shortcuts to your favourite websites
*/

LL.bindClass("android.widget.LinearLayout");
LL.bindClass("android.widget.EditText");
LL.bindClass("android.app.AlertDialog");
LL.bindClass("android.content.DialogInterface");
LL.bindClass("android.content.Intent");

var mctx = LL.getContext();

var ll = new LinearLayout(mctx);
with(ll){
setOrientation(LinearLayout.VERTICAL);
setBackgroundColor(0xffff);
setLayoutParams(new LinearLayout.LayoutParams(200, 100));
}

var title = new EditText(mctx);
with(title){
setHint("Title");
setLayoutParams(new LinearLayout.LayoutParams(-1, -1));
}

ll.addView(title);

var url = new EditText(mctx);
with(url){
setHint("Url");
setLayoutParams(new LinearLayout.LayoutParams(-1, -2));
}

ll.addView(url);

adb = new AlertDialog.Builder(mctx);
adb.setTitle("Configure Web Shortcut");
adb.setCancelable(false);
adb.setView(ll);
adb.setPositiveButton("Create", new DialogInterface.OnClickListener(){

onClick:function(dialog, id){
if(title.length() >= 3 && url.length() >= 3){
try{
var i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url.getText().toString().trim()));
var d = LL.getCurrentDesktop();
d.addShortcut(title.getText().toString().trim(), i, 30.0, 30.0);
Android.makeNewToast("Shortcut was created", false).show();
//LL.startActivity(i);
}catch(anfe){
Android.makeNewToast("Activity not found Exception", true).show();
}

}

}

});

adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){

onClick:function(dialog, id){
dialog.dismiss();
}

});

var alert = adb.create();
alert.show();
Y ten en cuenta que LL tampoco está pensado para ser usado de esta forma, para crear escenas con objetos nativos android, sino más bien con los suyos propios. Pero poder, se puede. Y Tasker creo que sí admite en cierta medida el uso de funciones java y librerías android, por lo que quizás sí se pueda.

Otra posibilidad mucho mejor para eso es Droidscript, que me gustó en si pero no su sistema de acceso por pago mensual para disponer de ciertas funcionalidades. Pero si vas a usarlo intensivamente creo que es mejor que el de Tasker.
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 11/03/18, 20:05:56
Avatar de Rsc
Rsc Rsc no está en línea
Usuario muy activo
Mensajes: 502
 
Fecha de registro: jun 2011
Mensajes: 502
Modelo de smartphone: Xiaomi Mi5s
Versión de ROM: Android 7.0
Tu operador: Otra
Mencionado: 16 comentarios
Tagged: 1 hilos
Cita:
Originalmente Escrito por danko9696 Ver Mensaje
Pero ese ejemplo es para una web, yo me refiero a usar librerías de android desde javascript
No lo se distinguir, cuando sale a la palestra tanto código, o me lo dan muy masticado o no soy capaz de interpretarlo.

Quizás en unos meses, ya que me he vuelto a proponer a aprender Java, que ya se que no es lo mismo, pero al menos estaré un poco familiarizado con el lenguaje de código.

Así que nada, lo que se vaya a averiguar más sobre este tema, queda en tus manos, o en la de algunos de los que controlan más este tema. Y no miro a nadie @WillyWeb

Un saludo.
Responder Con Cita
  #7  
Viejo 12/03/18, 19:14:28
Avatar de Mx WaR HaBiB
Mx WaR HaBiB Mx WaR HaBiB no está en línea
Usuario muy activo
Mensajes: 875
 
Fecha de registro: mar 2014
Localización: Dream Planet
Mensajes: 875
Modelo de smartphone: Galaxy Note 3
Versión de ROM: Magma ROM X3 Marshmallow
Tu operador: Movistar
Mencionado: 12 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por Rsc Ver Mensaje
Hasta ahora, usaba con frecuencia el método alert de JS, para mostrar cuadros de dialogo en algunos de mis proyectos, pero hoy he descubierto dos tipos de cuadros de diálogos más, que os pueden resultar útiles.

Aquí voy a poner un resumen, pero para el que quiera profundizar, puede echarle un vistazo a la página en la cual he encontrado la información, que además está muy bien explicado: http://elfreneticoinformatico.com/cu...on-javascript

Los cuadros de diálogos a los que me refiero son; confirm y prompt

confirm: muestra un mensaje con un botón de aceptar y otro de cancelar. El resultado se guarda en una variable boleana (true o false)

Ejemplo:

Código:
var confirmacion = confirm("Pulsa el botón que quieras");
if(confirmacion){
	alert("Has pulsado aceptar");
} else {
	alert("Has pulsado cancelar");
}
prompt: muestra un mensaje, dos botones (aceptar y cancelar) y un cuadro para introducir texto). En este caso la variable guarda lo que se escriba en el cuadro de texto

Ejemplo:

Código:
var textoEscrito = prompt("Escribe un texto", "Texto");
if(textoEscrito != null){
	alert("Has escrito " + textoEscrito);
} else {
	alert("No has escrito nada");
}
El segundo parámetro es opcional. Lo que se indique en ese parámetro se mostrará previamente en el cuadro de texto.

Los tres pueden ser muy útiles, pero sobretodo el método prompt, ya que creo que puede ser una buena alternativa para la acción "Consultar variable" que yo particularmente la uso mucho.

Creo que es una ventaja, el no tener que prestar atención a como se verá la escena perteneciente a la acción "consultar variable", en otros teléfonos con diferente resolución.

Un saludo.
Desconocía completamente el tema, muchas gracias por compartir!

si de alguna manera tienes tiempo y puedes compartir mas ejemplo como estos estaría perfecto. gracias de nuevo al igual que @danko9696 que sigue al pie del camión
Responder Con Cita
  #8  
Viejo 15/03/18, 17:02:26
Avatar de danko9696
danko9696 danko9696 no está en línea
Usuario muy activo
Mensajes: 2,371
 
Fecha de registro: ago 2012
Mensajes: 2,371
Modelo de smartphone: Mate 8
Tu operador: Yoigo
Mencionado: 34 comentarios
Tagged: 1 hilos
Cita:
Originalmente Escrito por Rsc Ver Mensaje
No lo se distinguir, cuando sale a la palestra tanto código, o me lo dan muy masticado o no soy capaz de interpretarlo.
No hace falta ser capaz de interpretarlo, basta con fijarse en ciertos detalles. Por ejemplo en el enlace que pusiste hacen referencia a html5 y css3 en el propio título.

En cambio en el que puse, aunque no sepas bien lo que hace el código, al principio se puede ver como parece añadir referencias a varios objetos de android de forma bastante clara, como "android.widget.EditText", "android.content.DialogInterface", etc..., para poderlos usar posteriormente. Luego los detalles de como funciona ya es otra cosa, pero resulta bastante obvio que es código destinado a funcionar en android.

O sea, que sí conoces como tienes que declarar las librerías en principio es posible tener acceso a objetos de android como menus, listboxes, layouts (donde colocar los menus, textos, etc...) usando Javascript, por lo menos en DroidScript y Lightning Launcher. Lo que no estoy seguro es si en Tasker también. Y si eso se puede el resto es luego consultar documentación genérica de android para conocer la sintaxis y también ayudado por Notepad++ o VisualStudioCode para hacer mucho más legible el código, escribiendolo desde el PC directamente en el móvil, en lugar de en este directamente, donde usar JS es un caos salvo que sea algo muy muy simple.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a danko9696 su comentario:
  #9  
Viejo 16/03/18, 19:38:44
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por Rsc Ver Mensaje
... Y no miro a nadie WillyWeb


Mira que intento no meterme con nadie.

Poco puedo decir sobre el tema porque apenas uso las escenas, pero usando un elemento VistaWeb junto con HTML+JS se pueden hacer cosas muy chulas ... ahí lo dejo.
Responder Con Cita
Gracias de parte de:
  #10  
Viejo 16/03/18, 22:17:05
Avatar de Rsc
Rsc Rsc no está en línea
Usuario muy activo
Mensajes: 502
 
Fecha de registro: jun 2011
Mensajes: 502
Modelo de smartphone: Xiaomi Mi5s
Versión de ROM: Android 7.0
Tu operador: Otra
Mencionado: 16 comentarios
Tagged: 1 hilos
Claro, creo que a nadie se le había ocurrido antes. Desde que se añadió el elemento VistaWeb, se podrá hacer cualquier diseño para mostrarlo en la escena. Que bien se te da Tasker, deberías haber sido tu el sustituto de Pent jeje
Responder Con Cita
Gracias de parte de:
  #11  
Viejo 17/03/18, 22:05:03
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Nosotros trabajamos mucho con el elemento WebView desde hace tiempo en el grupo mio de Telegram, y el de mi gran compañero @MELO en el suyo.

Si quereis uniros... (inglés requerido)
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #12  
Viejo 18/03/18, 00:16:54
Avatar de Rsc
Rsc Rsc no está en línea
Usuario muy activo
Mensajes: 502
 
Fecha de registro: jun 2011
Mensajes: 502
Modelo de smartphone: Xiaomi Mi5s
Versión de ROM: Android 7.0
Tu operador: Otra
Mencionado: 16 comentarios
Tagged: 1 hilos
Cita:
Originalmente Escrito por SmartPhoneLover Ver Mensaje
Nosotros trabajamos mucho con el elemento WebView
Se agradecería que pusieras algún ejemplo por aquí, de algunos de los usos que le hayáis dado al elemento WebView.

Cita:
Originalmente Escrito por SmartPhoneLover Ver Mensaje
Si quereis uniros... (inglés requerido)
Se agradece el ofrecimiento, pero yo por lo pronto, prefiero dosificar mis sesiones de Tasker en foros, vaya a ser que acabe dedicándole más tiempo todavía. Un saludo.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Rsc su comentario:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 20:12:03 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007