Buenas, veréis al publicar mi aplicación me he dado cuenta que hay dispositivos en los que me da error.
mi aplicación cuando abre descarga una noticia que hay en una mysql , en algunos dispositivos funciona en otros me da el siguiente error dentro del
la web es donde tengo el archivo de query.php
He probado a modificar la aplicación SOLO con la consulta de noticias(por que tengo varias en la misma) , a compilarla con otro nombre, y en el mismo movil que da error, NO lo da. con lo cual quiero pensar que es de alguna consulta, pero me mosquea mucho que en algunos dispositivos de ese error y en otros vaya perfecto.
Pego el código Modificado solo con la consulta de noticias activa, dentro esta el resto de consultas pero comentadas , en la aplicación que da error no están comentadas.
Agradecería de vuestra sabiduría, que Jose J. Aguilar me esta ayudando por privado pero lo voy a volver majara, y entre todos seguros que dais con el problema. Pego el código y gracias por vuestro preciado tiempo
en el activity create cuando abro la aplicación pongo que consulte las noticias
mi aplicación cuando abre descarga una noticia que hay en una mysql , en algunos dispositivos funciona en otros me da el siguiente error dentro del
B4X:
JobDone(Job As HttpJob)
la web es donde tengo el archivo de query.php
He probado a modificar la aplicación SOLO con la consulta de noticias(por que tengo varias en la misma) , a compilarla con otro nombre, y en el mismo movil que da error, NO lo da. con lo cual quiero pensar que es de alguna consulta, pero me mosquea mucho que en algunos dispositivos de ese error y en otros vaya perfecto.
Pego el código Modificado solo con la consulta de noticias activa, dentro esta el resto de consultas pero comentadas , en la aplicación que da error no están comentadas.
Agradecería de vuestra sabiduría, que Jose J. Aguilar me esta ayudando por privado pero lo voy a volver majara, y entre todos seguros que dais con el problema. Pego el código y gracias por vuestro preciado tiempo
B4X:
Sub JobDone(Job As HttpJob)
Dim MI_RES As String
Dim mi_res_admin As String
ProgressDialogHide
If Job.Success Then
Dim res As String
res = Job.GetString
Log("Response from server: " & res)
MI_RES = res ' pasamos el valor de res a mi_res , por que si no nos da error al ponerle res = "" en el if.
mi_res_admin = res ' pasamos el valor a esta variable que la usaremo para los if de admin
' If dni_boolean=True Then ' si no consigue respuesta entraria aqui para avisar
' If MI_RES = "[]" Then
' 'si no existe el DNI escrito entra aqui
' Msgbox("El DNI introducido, no esta Registrado, si es socio en activo, por favor póngase en contacto con la Sociedad","Atención")
'
' dni_boolean=False 'para que no vuelva a entrar aqui al salir de socios = true
' End If
' MI_RES = "" ' para que se limpie la variable si no me repite el msgbox
' End If
'
'
' If Socios=True Then ' DETECTA QEUh EMOS PULSADO EL BOTON DE SOCIOS
' If MI_RES = "[]" Then
' 'si no Existe la ID entra aqui y llama al boton pedir DNI que pide el DNI
' bt_pidedni_click
' Socios=False 'para que no vuelva a entrar aqui al salir de dni = true
' End If
' End If
' 'IF DE ADMIN
' 'detecta que emos pulsado el boton admin, si la respuesta es mala ( [] ) entonces pide la clave
' If admin=True Then
' If mi_res_admin = "[]" Then
' 'si no existe el DNI escrito entra aqui
' bt_pideclave_click
' admin=False 'para que no vuelva a entrar aqui al salir de socios = true
' End If
' mi_res_admin = "" ' para que se limpie la variable si no me repite el msgbox
' End If
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'++++ AQUI EMPIEZAN LOS CASE DE SOCIOS
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim parser As JSONParser
'res=res.SubString2(res.IndexOf("["),res.IndexOf("]"))
parser.Initialize(res)
Select Job.JobName
' 'ESTA CONSULTA SE EJECUTA AL ARRANCAR Y COGE LA ULTIMA NOTICIA POR FECHA
Case consulta_noticias
Dim CONSULTA As List
CONSULTA = parser.NextArray 'returns a list with maps
Dim m As Map
m = CONSULTA.Get(0) ' pongo get 0 para que coja el 1 registro asi no e de hacer un for y un exit. v.3.0
fecha_mysql=m.Get("fecha") 'coge la fecha de mysql
titulo_mysql=m.Get("titulo")'coge titulo de mysq
noticia_mysql=m.Get("noticia")'coge noticia de mysq
'AQUI RELLENA LOS CAMPOS DE LA NOTICIA
lblfecha.Text = fecha_mysql
lbltitulo.Text = titulo_mysql
'lblnoticia.Text = noticia_mysql
HtmlString = noticia_mysql
cargar_html_fran
'
'
' Case consulta_socios
'
' Dim CONSULTA As List
' CONSULTA = parser.NextArray 'returns a list with maps
' For i = 0 To CONSULTA.Size - 1
' Dim m As Map
' m = CONSULTA.Get(i)
'
' idmovil_mysql=m.Get("id_movil") 'coge la fecha de mysql
' dni_mysql=m.Get("dni")
'
' StartActivity(Panel_Socios)
'
' Next
'
' 'AQUI ENTRA CUANDO EL DNI QUE EMOS PUESTO EN EL INPUTBOX, COINCIDE CON EL DE LA BASE DE DATOS
' ' Y COMPROBARA ID DEL DISPOSITIVO (SI ESTA VACIA METE LA NUESTRA) (SI TIENE ALGO AVISA QUE YA ESTA VINCULADO ESE DNI)
'
' Case consulta_dni ' entra aqui cuando el dni que hemos puesto coincide con el de la base de datos
'
' Dim CONSULTA As List
' CONSULTA = parser.NextArray 'returns a list with maps
' For i = 0 To CONSULTA.Size - 1
' Dim m As Map
' m = CONSULTA.Get(i)
'
'
' idmovil_mysql=m.Get("id_movil") 'coge la fecha de mysql
' dni_mysql=m.Get("dni")
'
' If idmovil_mysql = "" Then ' SI LA ID ESTA VACIA PONE LA NUESTRA
' ExecuteRemoteQuery("UPDATE Socios SET id_movil = '"&MI_ID&"' where dni = '"& dni&"'",Null)
'
' MI_RES = "" ' para que no entre en el if de comprobar DNI otra vez
' dni_boolean = False
'
' ToastMessageShow("Dispositivo Añadido, ya puede acceder al apartado de Socios",True)
' Exit
'
' else if idmovil_mysql <> MI_ID Then ' SI ID YA ESTA ESCRITO Y ES DISTINTA A LA MIA
' Msgbox("Este DNI ya esta asignado a un Dispositivo","Atención")
'
' MI_RES = ""
' dni_boolean=False
'
' End If
'
' Next
'
' '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' '++++ AQUI ACABAN LOS CASE DE SOCIOS
' '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
'
'
' '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' '++++ AQUI EMPIEZA LOS CASE DE ADMIN
' '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' Case consulta_admin
'
' Dim CONSULTA As List
' CONSULTA = parser.NextArray 'returns a list with maps
' For i = 0 To CONSULTA.Size - 1
' Dim m As Map
' m = CONSULTA.Get(i)
'
' idmovil_mysql=m.Get("id_movil") 'coge la fecha de mysql
' dni_mysql=m.Get("dni")
' admin_mysql = m.Get("admin")
' clave_admin = m.Get("clave_admin")
'
' ' si mi ID esta registrada y el campo admin = SI carga el panel
' If admin_mysql= "SI" And MI_ID = idmovil_mysql Then
' StartActivity(Panel_Admin)
'
'
' 'si la ID existe pero no eres admin , te pide clave.
' else if admin_mysql= "NO" And idmovil_mysql = MI_ID Then
' bt_pideclave_click
' End If
' Next
'
' 'aqui comprueba si la clave que hemos puesto coincide con la clave de la base de datos.
' Case consulta_clave
'
' Dim CONSULTA As List
' CONSULTA = parser.NextArray 'returns a list with maps
' For i = 0 To CONSULTA.Size - 1
' Dim m As Map
' m = CONSULTA.Get(i)
'
' clave_admin = m.Get("clave_admin")
'
' 'comprprueba que coincida la clave escrita con la de la base de datos, o con la clave maestra mia.
' If clave_admin = clave_escrita Or clave_escrita = clavemaestra Then
' StartActivity(Panel_Admin)
'
' else if clave_admin <> clave_escrita Then ' si no coincide te avisa
'
' Msgbox("Contraseña Incorrecta","Error")
' End If
'
' Next
'
End Select
Else
Log(Job.ErrorMessage)
' ToastMessageShow("Ha habido algun problema a la hora de conectar a la base de datos, intentalo mas tarde",True)
MsgboxAsync("Error: " & Job.ErrorMessage,"ERROR")
ToastMessageShow("Error: " & Job.ErrorMessage, True) ' quito este que si da error muestra la direccion web de la mysql
End If
Job.Release
End Sub
en el activity create cuando abro la aplicación pongo que consulte las noticias
B4X:
If IsConnected = True Then ' si hay conexion a internet, comprueba las licencias con mysql.
' ExecuteRemoteQuery("SELECT correo, id_dispositivo FROM licencias", consulta_mysql)
ExecuteRemoteQuery("SELECT id,fecha,titulo,noticia FROM noticias ORDER by id desc",consulta_noticias )
If FirstTime Then
hc.Initialize("hc")
End If
Else ' si no hay internet, arranca normal
Msgbox("No se a podido comprobar la conexión a Internet, verifica que estas conectado/a","Atención")
End If