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


 
Herramientas
  #1  
Viejo 08/01/17, 17:48:37
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Sqlite embebido en Tasker. Alguien ha podido hacerlo funcionar?

Pues eso, he probado con consultas simples a varias bases de datos con distintas opciones y no he logrado nada!

Por otra parte el botón de ayuda no dice nada al respecto porqué seguramente Pent aún no actualizado el fichero de ayudas…

Sería de gran utilidad porque podríamos usar tareas de Tasker con consultas Sqlite sin necesidad de rotear el movil…

Enviat des del meu Nexus 5 usant Tapatalk
Responder Con Cita
Gracias de parte de:


  #2  
Viejo 08/01/17, 19:48:47
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
Te refieres a la acción SQL Query?
No la probé pero seguro que funciona.
Intenta algo simple como un evento de calendario.
Recuerda que la ayuda solo se actualiza en inglés prácticamente.
O cambias el idioma a inglés en las preferencias un momento con "Always View Help Online" o mira en la web.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario:
  #3  
Viejo 08/01/17, 20:27:57
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
Digamos que el modo de consulta para que no requiera acceso root, es "URI formatted"

Por ejemplo, para acceder a la DB de los contactos, pongo en URI lo siguiente;

content://com.android.contacts/contacts

En el resto de apartados;

Columns, escribe la columna que quieras obtener. Puedes poner varias separadas por comas.

Selection, basándote en el lenguaje nativo de sql, escribe lo que quieres que coincida con la comuna selecciona, para obtener únicamente los que cumplan esa condición.

Selection Parameters Ni idea.

Orden by, como su nombre indica, ordenar por.. indica la comuna que quieras que establezca el orden.

Output column divider, en caso de que quieras obtener varias columnas, indica el separador que quieres que se muestre. Por defecto es una coma.

El resto de Modos, no los controlo.

Cita:
Originalmente Escrito por cace0353 Ver Mensaje
Sería de gran utilidad porque podríamos usar tareas de Tasker con consultas Sqlite sin necesidad de rotear el movil…
Si y no. Para acceder a la base de datos de los contactos, calendario y "creo" cualquier base de datos que no dependan de terceras app, no hará falta root, para el resto se supone que si.

El problema, es que no se extrapolar lo que indico en el apartado URI, a otras bases de datos, ya que no es exactamente la ruta, como se indica cuando escribimos código sql.

Un saludo.

Última edición por Rsc Día 09/01/17 a las 01:08:17
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Rsc su comentario:
  #4  
Viejo 08/01/17, 20:33:19
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Muchas gracias a ambos!
El uso es para Bd propias, por tanto no necesitaré que el dispositivo receptor tenga root…

Mañana me entretendré un rato a ver si lo consigo.

Gracias de nuevo compañeros!

Enviat des del meu Nexus 5 usant Tapatalk

Última edición por cace0353 Día 08/01/17 a las 20:35:45
Responder Con Cita
  #5  
Viejo 08/01/17, 20:40:03
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
De nada, y el que entienda la relación de lo que se pone en URI, con la ruta de la base de datos, si tiene un hueco que lo explique. Que lo consulte en el hilo de la beta de Tasker, pero Pent se hizo el sueco
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 08/01/17, 22:21:58
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 cace0353 Ver Mensaje
Sería de gran utilidad porque podríamos usar tareas de Tasker con consultas Sqlite sin necesidad de rotear el movil…
Tal como lo entiendo no necesitas root para realizar consultas sqlite (no bases de datos de apps sino creadas por ti, como si de cualquier otro tipo de archivo se tratase), pero para acceder a datos de otras apps sí (o sea, en la mayoría de casos). No es cosa de Tasker sino de permisos. Imagina que cualquier app pudiese acceder a los datos de cualquier otra app (base de datos u otro tipo de datos) sin ser root.

Cita:
Originalmente Escrito por Rsc Ver Mensaje
Si y no. Para acceder a la base de datos de los contactos, calendario y "creo" cualquier base de datos que no dependan de terceras app, no hará falta root, para el resto se supone que si.
La cuestión no es que dependan o no de terceras apps sino que calendario y contactos tienen permisos específicos. Para el resto de casos que no sean archivos de usuario debería hacer falta root.


No lo he probado pero respecto al nuevo sistema pensaba que permitiría usar consultas a pelo en lugar de desglosarlo en parámetros, lo que creo que puede dificultar bastante o hacer imposible consultas complejas. Mucho mejor el sistema de siempre mientras siga funcionando.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a danko9696 su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #7  
Viejo 08/01/17, 22:38:07
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
He encontrado esta información, pero sigo sin tener ni idea de como obtener la URI de una base de datos que creemos nosotros mismos.

Normalmente la estructura de una URI de contenido está dividida en tres partes significativas como se ve en el siguiente ejemplo:
URI de contenido para los contactos de Android

Esquema: La cadena “content://” es una constante para establecer que el origen de datos vendrá de un Content Provider.
autoridad: Es una cadena única que identifica al Content Provider para su uso. Cuando creas tus propios Content Providers normalmente se recomienda usar el nombre del paquete al que pertenece para diferenciarlos de los demas.
ruta: Es un conjunto de segmentos separados por barras oblicuas (‘/’) que guían al Content Resolver hacia la ubicación lógica de los datos dentro del Content Provider.
id: Identificador numérico (en la mayoría de los casos es la llave primaria) asociado a un solo registro que se encuentra en la ruta establecida del Content Provider. Es muy útil cuando deseamos acceder a una sola fila.
Como ves, el uso de URIs de contenido te facilita todo el trabajo a la hora de acceder a la información de otras aplicaciones, evitándonos el desarrollo de mecanismos complejos.

Esta es la razón por la cual se le denomina Resolutor de Contenido a este objeto, ya que es el encargado de parsear la URI y darse a la búsqueda de la información. ¡Una grandiosa labor!


Página con la información completa aquí:

http://www.hermosaprogramacion.com/2...os-de-android
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Rsc su comentario:
  #8  
Viejo 08/01/17, 23:14:11
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
https://developer.android.com/guide/...tml#ContentURI

Por lo que leo aquí para una base de datos tuya el URI será el nombre del paquete/"tabla o archivo" sin extensión.
En el archivo AndroidManifest.xml registras tu proveedor de contenido.


Cita:
Originalmente Escrito por Rsc Ver Mensaje
Selection Parameters Ni idea.
Entiendo que esto es lo que quieres buscar: nombre, teléfono, ...
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 09/01/17, 10:56:37
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Parece que se ha destapado el tarro de las esencias...

Pero esto ha subido mucho de nivel y ahí me quedo fuera, no llego, lo siento.

Yo sólo pretendia hacer consultas a bases de datos propias, o fabricadas a partir de tablas de Excel, desde mis tareas echando mano de la velocidad que, para estos menesteres, nos da Sqlite.

Un caso concreto:

Para obtener los códigos INE a partir del código postal (para luego sacar la previsión metereológica de la web de Aemet) uso una base de datos "CODIS_METEO.db" con una sola tabla "CODIS" con dos columnas: una con los códigos postales (columna "POSTAL") y la otra con el correspondiente código INE (columna "CODI").

Ahora lo hago con una acción Ejecutar Consola: Sqlite3 CODIS_METEO.db "SELECT CODI FROM CODIS WKERE POSTAL LIKE '%postal' " y funciona divinamente...

Pero esto obliga a tener Sqlite3 instalado en System>Xbin... y para llegar ahí hay que se usuario root!

La consulta con la acción SQL Query la planteo en el modo Raw:
como archivo pongo: CODIS_METEO.db
en Consulta : SELECT CODI FROM CODIS WKERE POSTAL LIKE '%postal'
Selection parameters:
Output column divider:
Matriz de variables: %codine
Usan Root: desactivado

La consulta me devuelve %codine (el literal) sea cual sea el valor que haya dado a %postal (naturalmente he usado valores conocidos de CP...)

Que hago mal?
Responder Con Cita
  #10  
Viejo 09/01/17, 11:55:42
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 cace0353 Ver Mensaje
Pero esto obliga a tener Sqlite3 instalado en System>Xbin... y para llegar ahí hay que se usuario root!
No he probado porque para lo que yo necesitaba (acceder a datos de apps) era imprescindible root sí o sí, pero si no me equivoco puedes tener sqlite en cualquier sitio, solo que si no está en xbin entonces debes indicar siempre la ruta completa, similar al uso de path en msdos. De hecho, cuando estaba con el problema de ejecutarlo en 64 bit una de las posibilidades era usar el sqlite propio de Titanium Backup, usando la ruta especifica hasta él.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a danko9696 su comentario:
  #11  
Viejo 09/01/17, 13:31:54
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por danko9696 Ver Mensaje
No he probado porque para lo que yo necesitaba (acceder a datos de apps) era imprescindible root sí o sí, pero si no me equivoco puedes tener sqlite en cualquier sitio, solo que si no está en xbin entonces debes indicar siempre la ruta completa, similar al uso de path en msdos.
Lo siento, he probado copiando Sqlite3 a la carpeta de Tasker y poniendo en Ejecutar consola:

/sdcard/Tasker/sqlite3 nombre de la base de datos "consulta" y no me ha funcionado...

Cita:
Originalmente Escrito por danko9696 Ver Mensaje
De hecho, cuando estaba con el problema de ejecutarlo en 64 bit una de las posibilidades era usar el sqlite propio de Titanium Backup, usando la ruta especifica hasta él.
Yo, ahora mismo, estoy usando el Sqlite3 de Titanium Backup copiado a la carpeta System/Xbin/ funcionando perfectamente, pero también debes tener root...

Creo que lo más simple para que la tarea rule sin root va a ser prescindir de Sqlite y resolverlo exportando la BD a un CSV y mediante un "Leer Archivo" y 2 "Separar variable" extraer el código INE. No será tan rápido pero sí mas sencillo...

Gracias por vuestro interés de todos modos. Seguiré el hilo para intentar aprender y subir otro peldaño...
Responder Con Cita
  #12  
Viejo 09/01/17, 20:28:36
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
En la acción SQL Query tienes 3 modos, el Raw es usar Sqlite puro.
Intenta el Formatted e indica la ruta completa del archivo /storage/sdcard0/tucarpeta/codis_meteo.db
Pon la tabla, columna y matriz de variables (array) para ver si sin especificar datos funciona.
Prueba en la tarjeta interna sin root y con root.

Última edición por GraphicAdventure Día 09/01/17 a las 20:34:25
Responder Con Cita
Gracias de parte de:
  #13  
Viejo 09/01/17, 21:48:26
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Gracias por tú interés @GraphicAdventure,
He probado el modo "formatted" indicando la ruta /storage/emulated/0/Tasker/CODIS_METEO.db y sigue devolviendo la variable vacia.

Curiosamente Tasker, una vez ejecutada la tarea, corrige la ruta acortándola á Tasker/XODIS_METEO.db

Probado con root, sin root, con filtros y sin filtros… siempre devuelve solamente el nombre de la variable de salida %codine

Por cierto, mi Nexus 5 sólo tiene SD interna.

Enviat des del meu Nexus 5 usant Tapatalk
Responder Con Cita
  #14  
Viejo 09/01/17, 21:58:37
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por cace0353 Ver Mensaje
siempre devuelve solamente el nombre de la variable de salida %codine
Devuelve un array, ¿miraste %codline()?

Última edición por GraphicAdventure Día 09/01/17 a las 22:03:31
Responder Con Cita
Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario:
  #15  
Viejo 09/01/17, 22:07:09
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
J..er! es verdad!. Estaba acostumbrado a que devolviera la salida como una variable y luego separar por el salto de linea…

Ahora probaré con filtros…

Gracias mil!

PD: Correcto, también con filtros y teniendo en cuenta que devuelve un array. Aquí estaba el error, no funciona como sqlite puro…!

Enviat des del meu Nexus 5 usant Tapatalk

Última edición por cace0353 Día 09/01/17 a las 22:13:57
Responder Con Cita
Gracias de parte de:
  #16  
Viejo 25/01/17, 22:11:57
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 cace0353 Ver Mensaje
Correcto, también con filtros y teniendo en cuenta que devuelve un array. Aquí estaba el error, no funciona como sqlite puro…!
Buenas cace0353, entiendo que lo has conseguido solo ejecutando la acción como root, no? Es que yo no consigo hacer funcionar las consultas sql sin root, ni aunque cree la base de datos en la raiz de mi sd.

Un saludo.
Responder Con Cita
  #17  
Viejo 26/01/17, 09:17:30
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por Rsc Ver Mensaje
Buenas cace0353, entiendo que lo has conseguido solo ejecutando la acción como root, no? Es que yo no consigo hacer funcionar las consultas sql sin root, ni aunque cree la base de datos en la raiz de mi sd. Un saludo.
Hola @Rsc

No, colega, funciona sin root! Recuerda que desde el principio, cuando abrí el post, la idea era poder ejecutar consultas Sqlite a bases de datos propias sin usar root, para prescindir del roteo en el dispositivo receptor...

De momento solo lo he aplicado en un proyecto. Tengo en una base de datos una tabla CODIS con 14.690 registros y solo dos columnas: POSTAL y CODI. Para cada código postal hay un código INE que és el que utilizo poara consultar la prevision metereológica en la web de AEMET.
Con un solo WHERE poniendo en Selection el nombre de la columna y el valor de la variable que debia buscar asi:

Modo: Formatted
Archivo: CODIS_METEO.db (está en la raiz de la Sdcard...)
Table: CODIS (el nombre de la tabla donde se realizará la búsqueda)
Columns: CODI (la columna que contiene los datos de salida...)
Selection: POSTAL = %codi_postal (este és el WHERE, siendo POSTAL el nombre de la columna y %codi_postal el nombre de la variable que debia buscar
Selection parameters:
Order By:
Output Column Divider:
Matriz de Variables: %codi_ine (esta és la matriz que recoge los datos de salida de la consulta...)
Usar Root:

El problema que tenia és que la consulta en este modo directo devuelve una matriz (array) ya formada. En cambio Sqlite puro devuelve una variable con los resultados hallados separados por lineas. Luego con una acción "Separar Variable" con el salto de línea me "fabricaba" la matriz.
Responder Con Cita
Gracias de parte de:
  #18  
Viejo 26/01/17, 10:05:27
Avatar de fus
fus fus no está en línea
Usuario muy activo
Mensajes: 1,503
 
Fecha de registro: dic 2010
Localización: Polsovia
Mensajes: 1,503
Modelo de smartphone: Samsung Galaxy Nexus
Versión de ROM: Jelly Bean!
Versión de Radio: De válvulas de vacío
Tu operador: Vodafone
Mencionado: 7 comentarios
Tagged: 0 hilos
Justo antes de ayer estuve mirando la api de aemet, y salí loco con los codigos INE. Mi idea era hacer un perfil que según tu ubicación, te de el tiempo. Y al final me busqué los datos de otra página, openweathermap.org, que tiene modalidad gratis también, y puedes hacer consultas por latitud y longitud, sin tener que andar liado con codigos INE de esos
Responder Con Cita
Gracias de parte de:
  #19  
Viejo 26/01/17, 12:58: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
@cace0353 cojonudo, funciona! Me había cerrado en banda, con el modo URI Formatted, que es el que me funcionaba para los contactos, y como ya comenté, los otros modos, como en este caso "Formatted" , no los controlaba.

Me va a venir muy bien, porque estaba haciendo una app, para mí y unos amigos, para una liga que estamos haciendo de un juego de fútbol, y al ver que no conseguía hacer una tabla SQL, estaba metiendo los datos en un archivo.txt, para luego extraer lo que me interesase con el comando grep... Bueno, un follon en general, esto me va a facilitar muchísimo la labor.

Lo dicho, gracias y un saludo.

Edito: Una cosa mas, para meter datos en la tabla, se puede hacer con el método nativo de SQL?

Última edición por Rsc Día 26/01/17 a las 13:04:11
Responder Con Cita
Gracias de parte de:


  #20  
Viejo 26/01/17, 13:10:07
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 504
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 504
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Claro, la Bd la puedes usar sea qual sea el método usado para crearla…

Me alegra que te haya funcionado, colega!

Enviat des del meu Nexus 5 usant Tapatalk
Responder Con Cita
Gracias de parte de:
Respuesta

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

Herramientas

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: 22:38:36 (GMT +2)

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