2015-12-02 1 views
1

J'essaie d'implémenter "suivre les modifications apportées aux fichiers et dossiers" sur la boîte de dépôt en utilisant DbxClientV2. J'ai été capable de construire ce qui suit: TreeMap children = new TreeMap(); Files.ListFolderResult résultat;Utilisation de Files.listFolder à partir de l'API dropbox 2.0 pour suivre les changements de fichiers dans le dossier

String cursor = null; 

    while (true) { 
     result = client.files.listFolder("/MyDirectory/Reports"); 
     if (!result.cursor.equals(cursor)) { 
      cursor = result.cursor; 
      for (Metadata md : result.entries) { 
       if (md instanceof DeletedMetadata) { 
        children.remove(md.pathLower); 
       } else { 
        children.put(md.pathLower, md); 
       } 
      } 
     } 
     if (!result.hasMore) { 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException ex) { 

      } 
     } 
    } 

Ma question est: comment puis-je retrive curseur du dossier «/MonRépertoire/Rapports » du serveur Dropbox pour vérifier si je mettre à jour mon dépôt local « enfants »?

Répondre

0

Je ne comprends pas vraiment la question que vous posez, donc je ne sais pas si cela répond, mais votre code ne semble pas vraiment utiliser le curseur. Je pense que vous voulez faire quelque chose comme:

while (true) { 
    if (cursor == null) { 
     result = client.files.listFolder("/MyDirectory/Reports"); 
    } else { 
     result = client.files.listFolderContinue(cursor); 
    } 
    cursor = result.cursor; 
    for (Metadata md : result.entries) { 
     ... 

Si cela ne fonctionne pas, pouvez-vous s'il vous plaît reformuler votre question?

+0

Cela fonctionne parfaitement !! Merci pour votre réponse! – michal