|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Unfortunately....
Estoy haciendo un programa en el que necesito extraer cierta información desde una web.
Código:
public void getData(String url){ boolean hecho = false; BufferedReader urlStream; String sourceCode = null; URL pagina; while (!hecho){ try{ pagina = new URL(url); urlStream = new BufferedReader(new InputStreamReader(pagina.openStream())); <------------------- A partir de aqui da error. sourceCode = urlStream.readLine(); while (sourceCode != null) { if (sourceCode.contains("var wg_fcst_tab_data_1")) break; sourceCode = urlStream.readLine(); } hecho = true; try {urlStream.close();} catch(Exception e) {} } catch (MalformedURLException urlError){ Toast.makeText(this, urlError.getMessage(), Toast.LENGTH_LONG).show(); } catch (IOException ioError){ Toast.makeText(this, ioError.getMessage(), Toast.LENGTH_LONG).show(); } catch (IllegalArgumentException argError){ Toast.makeText(this, argError.getMessage(), Toast.LENGTH_LONG).show(); } } Al principio tenia en vez de los makeText el system.out.println de java y pensé que era eso, pero no... He comprobado la URL y es correcta, y se que es dentro del while porque comentándolo no da el error.. En el manifest le doy el permiso de internet. Decir que en Java el programa funciona sin ningún problema. He probado de este modo (http://stackoverflow.com/questions/6...url-in-android) y lo mismo. Que ven raro? El log es:
(Click para mostrar/ocultar)
Última edición por ayozito Día 23/04/12 a las 15:22:27. |
|
#2
|
||||
|
||||
bueno ya he encontrado el error. Es que las tareas que usen conexión de red tienen que hacerse en hilos independientes.
|