Android conectividad de aplicaciones con el servidor

En este artículo, vamos a aprender cómo conectar una aplicación Android con el servidor de cualquier tipo ?

Fuente de la imagen: https://www.safaribooksonline.com/library/view/hacking-android/9781785883149/graphics/B05065_06_01.jpg

Su necesidad Android para conectar con un servidor de acceso a datos en base de archivos, como imágenes, registros, etc. Si su aplicación no es independiente, entonces usted tiene que conectar su aplicación con un servidor.

En este ejemplo vamos a ver cómo hacer la solicitud HTTP desde el dispositivo móvil al servidor remoto. Las peticiones HTTP son de varios tipos diferentes, pero lo importante y debe conocer los tipos son GET y POST.

para hacer una petición HTTP que tendrá que tener ya sea una biblioteca o también puede hacerlo con un archivo Java.

primer paso y rarr; Copiar el código abajo y pegarlo en un archivo separado con un nombre CallHttpRequest

package com.example.sandeepsappal.friendcircle;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.AsyncTask;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class CallHttpRequest extends AsyncTask<String,Void,String> {
Context context;
String process;
File fileupload;
Bitmap bitmap;
public CallHttpRequest(Context context,String process)
{
this.context=context;
this.process=process;
}
@Override
protected String doInBackground(String... url) {
if(process.equals("FetchData"))
{
String output= FetchImage(url[0]);
return output;
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
String callRequest(String Url) {
try {
//Toast.makeText(ctx,Url,Toast.LENGTH_LONG).show();
URL url = new URL(Url);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoInput(true);
DataInputStream in=new DataInputStream(con.getInputStream());
StringBuffer output = new StringBuffer();
String str;
while ((str = in.readLine()) != null) {
output.append(str);
}
in.close();
return (output.toString());
} catch (Exception e) {
// Toast.makeText(ctx, "Error:" + e, Toast.LENGTH_SHORT).show();
}
return (null);
}
}

Este archivo consta de un constructor de , función doInBackground , función callRequest y función onPostExecute .

Constructor

Esta parte se utiliza para almacenar datos class la operación como la dirección URL, una cadena o un modelo de objetos.

public  CallHttpRequest(Context context,String process){
this.context=context;
this.process=process;
}

Como se puede ver que estamos tomando dos parámetros y almacenarlos en el objeto. Esto es muy beneficioso cuando se trata de la carrera for. Como el objeto consistirá en proceso con el que podemos decidir qué hacer long un proceso en particular.

doInBackground

Esta función es asíncrona en la naturaleza, que le da nombre al igual que en-fondo. En esta función se decide qué función para llamar. Ahora supongamos que se desea obtener algo del servidor por lo que desea utilizar otra función más que la posibilidad de subir un archivo.

@Override
protected String doInBackground(String... url) {
if(process.equals("FetchData")){
String output= FetchImage(url[0]);
return output;
}else if(process.equals("something")){
// do something else
}
return null;
}

onPostExecute

Esta función le llamará después de la función doInBackground. Aquí tendrá el resultado y se puede hacer nada con él, como la actualización de la lista.


Deja un comentario

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