Estoy trabajando en una aplicación para Android que tiene que enviar y recibir información de un servidor de terceros. No tengo experiencia en esto, así que tengan paciencia si doy demasiada / muy poca / no la clase correcta de información al principio.

La API que se proporcionó para enviar información tiene el formato

https://methodurl.com/username=user&password=pass&key=key&info=infotosend

Cuando coloco esta URL en el navegador de mi escritorio, devuelve una cadena, que también estoy tratando de obtener. Al menos, supongo que todo lo que devuelve es una cadena, ya que si miro la fuente de la página, solo hay una cadena, como "200 OK" o "401 no autorizado".

El código que estoy usando es lo que puedo obtener de la web y lo que se supone que debo usar. Desafortunadamente, por lo que sé, estoy escribiendo código para hacer algo muy diferente de lo que quiero. Nunca antes había escrito código para interactuar con un servidor, así que todo esto es nuevo para mí.

Aquí está mi código:

TextView urlView = (TextView)findViewById(R.id.url_view);

    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet(siteToSubmit);
    ResponseHandler<String> responseHandler = new BasicResponseHandler();

    try {
        String serverResponse = client.execute(request, responseHandler);
        urlView.setText(serverResponse);
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   

Logcat en eclipse (cuando la aplicación se está ejecutando en el emulador) es

java.net.UnknownHostException

La forma en que entiendo que el código está funcionando es que estoy creando un cliente que se ejecutará en una URL (como sucedería cuando presiono ingresar en la barra de URL en un navegador), una solicitud para que ese cliente se ejecute y una handler para recibir la respuesta del servidor, que está configurado para ser recibido como una cadena. Luego estoy tratando de establecer esa cadena como texto en un TextView para verificar que obtengo la respuesta adecuada. En este momento, recibo el error de registro y urlView no cambia. ¿Alguna idea de por qué? ¿Estoy entendiendo el proceso correctamente?

¡Gracias!

1
The Holo Dev 20 feb. 2012 a las 05:34
1
¿Agregaste el permiso de uso android.permission.INTERNET?
 – 
John Giotta
20 feb. 2012 a las 05:38
Bueno, me siento tonto. No, no agregué el permiso. Esta es también mi primera aplicación para Android. ¡Gracias! Sin embargo, parece que no puedo seleccionar su respuesta, no estoy seguro de por qué. Funcionó perfectamente una vez que lo hice.
 – 
The Holo Dev
20 feb. 2012 a las 06:07

1 respuesta

La mejor respuesta

Agregue el permiso de uso android.permission.INTERNET al archivo de manifiesto.

0
John Giotta 20 feb. 2012 a las 08:00