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 Suben 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 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		