Te doy la bienvenida a nuestro sitio web, en este sitio encontrarás la respuesta a lo que estás buscando.
Solución:
podrías usar volley
biblioteca por google o cualquier alternativa libraries
depende de cómo desee enviar los datos, el mejor enfoque es que utilice JSON
para hacer su vida más fácil, obtenga los datos de sqlite que desea sincronizar con su backend y envíelos JsonObjectRequest
usando volley, por ejemplo, su solicitud puede verse así
jsonObjectRequest postForm = new JsonObjectRequest(Request.Method.POST, URL, YourJsonData,
new Response.Listener()
@Override
public void onResponse(JSONObject response)
// here you can get your response.
,
new Response.ErrorListener()
@Override
public void onErrorResponse(VolleyError error)
// here you can tell there is something went wrong.
);
podría agregar un nuevo valor que indique si el valor se ha sincronizado o no desde su base de datos local. por ejemplo, digamos que tiene una tabla llamada estudiante y esta tabla tiene tres columnas que son ID, NOMBRE y sincronizadas en el código anterior cuando su respuesta devuelve correctamente, actualice esa columna sincronizada de fila con true|false lo que indica si esta fila se sincronizó con su backend o no. y para obtener los datos de su base de datos, debe hacer algo como esto.
public String getStudents()
List students = new ArrayList();
String query = "SELECT * FROM student WHERE synced = 0";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst())
do
Student st = new Student();
st.setId(cursor.getString(cursor.getColumnIndex(ID)));
st.setName(cursor.getString(cursor.getColumnIndex(NAME)));
st.setSynced(cursor.getInt(cursor.getColumnIndex(SYNCED)));
students.add(st);
while (cursor.moveToNext());
db.close();
return new Gson().toJson(students);
La forma más sencilla AFAIK es usar una biblioteca como http://loopj.com/android-async-http/ o volley lije k0sh dice enviar datos a un script PHP que administrará sus datos mysql. Deberá escribir un script php (o java) en su servidor para recibir sus datos (debe escribir una API REST)
Para seleccionar su biblioteca HTTP, debe mirar aquí:
¿Cuál es la biblioteca HTTP más sólida para Android?
Realmente debería preocuparse por cómo va a sincronizar sus datos, ya que podría agotar su batería. Aquí aprenderás a optimizar tus actualizaciones:
https://developer.android.com/training/ficient-downloads/index.html
¡Espero eso ayude!
Si crees que te ha sido provechoso nuestro post, sería de mucha ayuda si lo compartieras con otros seniors de esta forma contrubuyes a extender nuestra información.