Como recibir datos de un servidor externo, para android studio

Publicada en Publicada en blog

A la hora de realizar aplicaciones para android que requieran recibir datos de un servidor, como la de antiqua clío, hay varias formas de hacerlo, yo voy a contar hoy la que yo utilizo.

Lo que hace este código es mandar una petición a nuestro servidor pidiendo un determinado archivo de texto,para después procesarlo y mostrar la última linea en un string.

Para ello lo primero que tenemos que hacer es indicar los permisos que vamos a necesitar, en nuestro caso lo que necesitamos que es que nuestra aplicación se comunique con un servidor que está en internet mediante una url, pues para ello le damos permiso de acceso a internet.
<uses-permission android:name=”android.permission.INTERNET”/>
Esto es muy importante ya que sin el permiso adecuado no lograremos nuestro objetivo de mostrar información de un servidor remoto.

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try {

URL url = new URL(“http://url.com/archivo.txt”);

// read text returned by server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

String line;
while ((line = in.readLine()) != null) {
//System.out.println(line);
textView.setText(line);
}
in.close();

}
catch (MalformedURLException e) {
System.out.println(“Malformed URL: ” + e.getMessage());
}
catch (IOException e) {
System.out.println(“I/O Error: ” + e.getMessage());
}

Donde pone “http://url.com/archivo.txt” tenemos que indicar al programa la url donde estamos alojando el archivo .txt con los datos que queremos enviar a nuestro programa, después por ejemplo vamos ha hacer que lo muestre en un string, para esto sirve el fragmento de código “textview.setText(line);”, donde “line” es la variable donde se está guardando todo el texto que hemos recibido.

En el caso de suceder algún error, como por ejemplo, que el dispositivo no tenga conexión a internet por el motivo que sea, la excepción que se produce está siendo controlada mediante catch, a continuación se mostrará un mensaje de error indicando el error que está produciendo al usuario, esto lo podemos recoger para indicar información más detallada o incluso para enviar sugerencias al usuario en cuestión.

Este código podemos ponerlo en una función nueva e iniciarla cuando nos convenga o que se inicie cuando pulsemos un botón u ocurra una acción en particular, esto por supuesto ya dependerá del uso y del objetivo de nuestra aplicación, en mi caso, con antiqua clío, muestro la información del próximo evento de la asociación, pero como ya digo todo depende de nuestro interés en el proyecto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *