Foros del Web » Programando para Internet » Android »

ERROR aplicación Android al conectar con PHP

Estas en el tema de ERROR aplicación Android al conectar con PHP en el foro de Android en Foros del Web. Hola buenas noches, viendo foros y foros siempre con el mismo resultado, me lanzo a la piscina y publico mi problema para ver si alguna ...
  #1 (permalink)  
Antiguo 11/06/2012, 17:21
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
ERROR aplicación Android al conectar con PHP

Hola buenas noches, viendo foros y foros siempre con el mismo resultado, me lanzo a la piscina y publico mi problema para ver si alguna persona caritativa me ayuda.

Mi problema es el siguiente, estoy intentando hacer una aplicación android en eclipse, mi emulador es la versión 4.0.3. Intento mostrar en la interfaz del emulador un sencillo script escrito en PHP que conecta a una base de datos. El gestor de mi base de datos es PostGres (versión más nueva).

Os paso el código de mi script :



<?php


$cadena = " host=localhost port=5432 dbname=bdVille user=postgres password = postgres";
$conn = pg_connect($cadena); //or die ("Error de conexion". pg_last_error());

$sql = " SELECT idville, nom_ville FROM tblville
";



$pg=pg_query($sql);


while($row=pg_fetch_assoc($pg))
$output[]=$row;




print(json_encode($output));



?>



Como podéis ver, muestro gracias a mi soporte PHP , el cual es Zend Server ( el único que encontré que no me daba problemas con el PostGres ) el contenido de la base de datos en formato JSON, que después lo utilizaré para ''manipularlo'' en eclipse y mostrármelo en mi emulador android.

Ahí va mi código de eclipse de la aplicación:

package ville.prueba;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity ;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;



import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.TextView;


public class VilleActivity extends Activity {
/** Called when the activity is first created. */

TextView txt ;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

LinearLayout rootLayout = new LinearLayout(getApplicationContext()) ;

txt = new TextView(getApplicationContext());

rootLayout.addView(txt);
setContentView(rootLayout);

txt.setText("Connexion...");
txt.setText(getServerData(url));

}

public static final String url = "http://10.0.2.2/ville.php" ;

private String getServerData(String returnString){

InputStream input = null;
String result = "";


//CONECTARSE CON EL SCRIPT PHP
try{

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

HttpResponse response = httpClient.execute(httpPost);

Log.v("CONEXION ? : ", response.toString()) ;

HttpEntity entity = response.getEntity();
input = entity.getContent();



}catch(Exception e){
Log.e("log_tag", "Error in http connection " + e.toString());
}


//TRATAR EL RESULTADO DE LA CONSULTA

//----PASAMOS LA CONSULTA A STRING
try{

BufferedReader reader = new BufferedReader(new InputStreamReader(input,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;

while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}

input.close();
result=sb.toString();

}catch(Exception e){
Log.e("log_tag", "Error converting result " + e.toString());
}


//----TRATAMOS EL RESULTADO JSON
try{

JSONArray jArray = new JSONArray(result);

for(int i = 0 ; i < jArray.length() ; i++){
JSONObject jsonObject = jArray.getJSONObject(0);

Log.i( "ID du ville", "ID ville:"+jsonObject.getInt("idville")+", nom de la ville:"
+jsonObject.getString("nom_ville") );

returnString += "\n\t" + jArray.getJSONObject(i);
}

}catch(Exception e){
Log.e("log_tag", "Error converting result " + e.toString());
}

return result;
}

}




El archivo ville.php lo muestro correctamente en mi explorador gracias al Zend Server (escribiendo localhost/ville.php).

Mi problema viene cuando arranco el emulador, miro en el LogCat y me sale la excepción la famosa HttpHostConnection refused o yo que sé.

Tras dias investigando supongo que será a la hora de mi public static final String url = "http://10.0.2.2/ville.php" ;.

He probado con localhost, 127.0.01, 10.0.2.2, mi ip local, poniendo puertos, etc etc etc y más locuras jaja...

TODA RESPUESTA ES BIENVENIDA, MUCHÍSIMAS GRACIAS A TODOS DE ANTEMANO !


AYUDADME PORFAVOR, ME ESTOY VOLVIENDO LOCO
  #2 (permalink)  
Antiguo 13/06/2012, 05:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
Respuesta: ERROR aplicación Android al conectar con PHP

te falta añadir al manifest que conecte a internet

Código:
    <uses-permission android:name="android.permission.INTERNET" />
  #3 (permalink)  
Antiguo 15/08/2012, 09:24
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: ERROR aplicación Android al conectar con PHP

Yo tengo Android 4.0.4 y mi problema no son los permisos de conexion a internet mi error es: Error in http conection Android.os. NetworkOnMainThreadException.

La aplicación me funciona perfectamente en el emulador, pero no en el móvil, tengo una conexión wifi y pongo mi ip real, llevo buscando por internet mucho tiempo y no se que hacer ya... espero que me podais ayudar graciassss
  #4 (permalink)  
Antiguo 26/11/2012, 18:31
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: ERROR aplicación Android al conectar con PHP

hola que pena no poder ayudarte peor me gustaria preguntarte si tu me puedes a yudar ami, quieiro empezar con móviles como empizo??? chao gracias
Cita:
Iniciado por jelectronico Ver Mensaje
Yo tengo Android 4.0.4 y mi problema no son los permisos de conexion a internet mi error es: Error in http conection Android.os. NetworkOnMainThreadException.

La aplicación me funciona perfectamente en el emulador, pero no en el móvil, tengo una conexión wifi y pongo mi ip real, llevo buscando por internet mucho tiempo y no se que hacer ya... espero que me podais ayudar graciassss

Etiquetas: eclipse, java, pc, php, todo, apps
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 22:08.