Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] HttpGet en un nuevo Thread

Estas en el tema de HttpGet en un nuevo Thread en el foro de Android en Foros del Web. Estoy intentando solucionar el problema de android.os.networkonmainthreadexception al momento de hacer una consulta a través del método GET, en resumidas cuentas debo crear un nuevo ...
  #1 (permalink)  
Antiguo 24/02/2014, 17:13
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Pregunta HttpGet en un nuevo Thread

Estoy intentando solucionar el problema de android.os.networkonmainthreadexception al momento de hacer una consulta a través del método GET, en resumidas cuentas debo crear un nuevo Thread para este proceso ya que no es posible trabajarlo con el Thread principal de la aplicación.

A lo cual propuse:

Código:
final Runnable request_execute = new Runnable(){

		@Override
		public void run() {
			// TODO Auto-generated method stub
			
			try {
				
				HttpClient client = new DefaultHttpClient();
				
	            HttpGet request = new HttpGet("http://maps.googleapis.com/maps/api/geocode/json?address=Bucaramanga&sensor=false");
	            
	            HttpResponse response = client.execute(request);
	           	
				Toast toast = Toast.makeText(getApplicationContext(), R.string.app_name, Toast.LENGTH_SHORT);
				toast.show();
			} catch(Exception e) {

				Toast toast = Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT);
				toast.show();
			}
		}};
    
	public void myThread() {
		
		Thread thread = new Thread(){
			
			public void run() {
				
				handler.post(request_execute);
			}
		};
		
		thread.start();
	}
	
    public void toSearch(View view) {

    	this.myThread();
    }
Pero... aún se sigue generando la misma excepción.

¿Alguna opinión? Desde ya muchas gracias.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #2 (permalink)  
Antiguo 24/02/2014, 17:19
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: HttpGet en un nuevo Thread

Ponle esto dentro del oncreate, justo después de cargar en setview

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().buil d();
StrictMode.setThreadPolicy(policy);
  #3 (permalink)  
Antiguo 24/02/2014, 17:22
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: HttpGet en un nuevo Thread

Tengo entendido esa es la forma "fácil" y poco recomendada... al menos en lo que he leído. ¿O realmente es viable?
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #4 (permalink)  
Antiguo 24/02/2014, 17:26
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: HttpGet en un nuevo Thread

Cita:
Iniciado por JairLizcano Ver Mensaje
Tengo entendido esa es la forma "fácil" y poco recomendada... al menos en lo que he leído. ¿O realmente es viable?
Razón no les queda, pero yo lo uso siempre, con la mínima versión que recomienda creo que es la 2.3 Froyo , en verdad te estas saltando toda la seguridad, pueden puentearla ? si !, pero primero tienen que saltarse las sesiones, luego interceptar la conexión ssl quien sabe, hasta que lleguen me da tiempo a ir a por churros y volver.

Yo lo uso porqué tengo buenos mecanismos :)

Des de mi punto de vista, para mí, sí ! (punto de vista, personal)
  #5 (permalink)  
Antiguo 25/02/2014, 08:47
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: HttpGet en un nuevo Thread

Cita:
Iniciado por JairLizcano Ver Mensaje
Estoy intentando solucionar el problema de android.os.networkonmainthreadexception al momento de hacer una consulta a través del método GET, en resumidas cuentas debo crear un nuevo Thread para este proceso ya que no es posible trabajarlo con el Thread principal de la aplicación.
Veo que usas HttpClient. No sería mejor con HttpURLConnection?
__________________
Aviso: No se resuelven dudas por MP!
  #6 (permalink)  
Antiguo 26/02/2014, 12:09
Avatar de racanix  
Fecha de Ingreso: diciembre-2008
Ubicación: Morelia Mich.
Mensajes: 192
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: HttpGet en un nuevo Thread

Tienes los permisos para el acceso de internet??

<uses-permission android:name="android.permission.INTERNET"/>


Puedes colocar es LogCat de tu app?
  #7 (permalink)  
Antiguo 26/02/2014, 21:23
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: HttpGet en un nuevo Thread

Ya pude solucionarlo sin ningún problema con la clase AsyncTask. Gracias por todo.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Etiquetas: androi, app, google, view
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:14.