Suponga que desea enviar una var llamada “nombre” (una variable JAVA) desde su aplicación de Android a su servidor Node.
Primero cree una ruta en el servidor de nodo para manejar la solicitud ( solicitud POST más específicamente). Tenga en cuenta que estoy usando express para escribir menos código aquí.
Supongamos que desea realizar una solicitud a través de la URL http://mynodeapp.xyz/route1/
- ¿Por qué deberíamos contratar una empresa de desarrollo de aplicaciones de Android contra un desarrollador de Android independiente?
- ¿Qué es mejor aprender: Android o Python?
- ¿Cuáles son las restricciones para crear una aplicación de Android?
- ¿Integrar mi aplicación con Zapier garantiza que los datos de otras aplicaciones se puedan compartir en mi aplicación y viceversa?
- ¿Por qué Android Studio es tan lento y complicado?
Así que defina esta ruta como:
var express = require (‘express’);
aplicación var = express ();
app.post (‘/ route1’, function (req, res) {
var post = req.body;
console.log (“Variable recibida:” + post.name);
res.send (“Enviando algún mensaje);
});
La publicación variable tendrá todas las variables que le pasaron desde su actividad de Android. Si desea enviar algún mensaje de respuesta desde el servidor, puede usar res.send ().
Ahora, para enviar el “nombre” var desde la Actividad de Android, puede usar la Clase AsyncTask integrada de Android. Esta clase auxiliar le permite realizar operaciones en segundo plano.
Dentro de su actividad, defina una clase de fondo que amplíe la clase AsyncTask y realice la tarea requerida de enviar los datos al servidor de nodo.
Algo como
clase BackgroundWorker extiende AsyncTask {
Public BackgroundWorker (Contexto ctx) {
contexto = ctx;
}
@Anular
String protegido doInBackground (String … params) {
Nombre de cadena = params [0];
String myurl = “http://mynodeapp.xyz/route1/”;
tratar{
URL url = nueva URL (myurl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection (); httpURLConnection.setRequestMethod (“POST”);
httpURLConnection.setDoOutput (verdadero);
httpURLConnection.setDoInput (verdadero);
OutputStream outputStream = httpURLConnection.getOutputStream ();
BufferedWriter bufferedWriter = nuevo BufferedWriter (nuevo OutputStreamWriter (outputStream, “UTF-8”));
Cadena post_data = URLEncoder.encode (“nombre”, “UTF-8”);
bufferedWriter.write (post_data);
bufferedWriter.flush ();
bufferedWriter.close ();
outputStream.close ();
InputStream inputStream = httpURLConnection.getInputStream ();
BufferedReader bufferedReader = nuevo BufferedReader (nuevo InputStreamReader (inputStream, “iso-8859-1”));
Cadena resultado = “”;
Línea de cadena = “”;
while ((line = bufferedReader.readLine ())! = null)
resultado + = línea;
bufferedReader.close ();
inputStream.close ();
httpURLConnection.disconnect ();
resultado de retorno;
} catch (MalformedURLException e) {
e.printStackTrace ();
} catch (IOException e) {
e.printStackTrace ();
}
}
@Anular
nulo protegido en PreExecute () {
}
@Anular
vacío protegido en PostExecute () {
}
@Anular
nulo protegido en ProgressUpdate (nulo … valores) {
super.onProgressUpdate (valores);
}
}
BackgroundWorker backgroundWorker = new BackgroundWorker (esto);
backgroundWorker.execute (nombre);
Puede mostrar algunas barras de progreso o cuadros de diálogo en onPreExecute () o onPostExecute (). También deberá importar las clases adecuadas en esta actividad de Android.
Espero que te muestre la forma de enviar datos a algún servidor desde Android.
Busca en Google donde te quedaste y
¡Sigue codificando!