2017-08-18 1 views
0

Chaque fois que j'obtiens une nouvelle donnée de localisation, elle est enregistrée dans la nouvelle ligne au lieu que la ligne existante soit mise à jour avec les nouvelles données. Comment puis-je y arriver? Ci-dessous mon code:Comment mettre à jour les données de localisation sur une seule ligne du serveur (sans dupliquer les données)?

ParseObject customerrequest = new ParseObject("CustomerRequest"); 
ParseGeoPoint parseGeoPoint = new ParseGeoPoint(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude()); 
ParseQuery<ParseObject> query = ParseQuery.getQuery("parseGeoPoint"); 
customerrequest.put("location", parseGeoPoint); 

customerrequest.saveInBackground(new SaveCallback() { 
    @Override 
    public void done(ParseException e) { 
     if (e == null) { 
      Log.i("Parse Result", "Successful!"); 
     } 
    } 
); 

Répondre

0

Dans le code ci-dessus, vous mettez directement les données à l'aide .put sans supprimer les données existantes en utilisant .remove w.r.t. la ligne ci-dessous:

customerrequest.put("location", parseGeoPoint); 

Donc, vous devez ajouter cette ligne customerrequest.remove("location"); avant cette ligne customerrequest.put("location", parseGeoPoint); dans le code. Ainsi, le code ressemblerait à ceci:

ParseObject customerrequest = new ParseObject("CustomerRequest"); 
    ParseGeoPoint parseGeoPoint = new ParseGeoPoint(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude()); 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("parseGeoPoint"); 
    customerrequest.remove("location"); 
    customerrequest.put("location", parseGeoPoint); 

    customerrequest.saveInBackground(new SaveCallback() { 
    @Override 
    public void done(ParseException e) { 
    if (e == null) { 
     Log.i("Parse Result", "Successful!"); 
    } 
} 
); 

Et du côté du serveur, assurez-vous que vous ne pas simplement utiliser la commande ajouter pour enregistrer les données. Vous devez utiliser addOrUpdate ou addOrReplace ou saveOrUpdate commande en fonction de la base de données que vous utilisez.

+0

s'il vous plaît donnez-moi la commande. Je ne peux pas bien la commande de mise à jour directe. –

+0

D'abord faire les changements dans le code ci-dessus que j'ai donné et vérifier si cela fonctionne, frère. J'ai fait des changements dans le code. Veuillez vérifier la réponse ci-dessus. – sam

+0

J'ai essayé le code, mais cela ne fonctionne pas. Impossible de mettre à jour dans la même ligne. –