J'essaie de développer une application Android qui peut lire un fichier XML stocké dans mon dossier Google Drive, l'idée d'abord d'essayer d'ouvrir le fichier et de gérer le contenu.
J'ai lu le Documents de Google Drive API pour Android et j'ai atteint un point que je suis perdu, cela fonctionne avec le contenu du fichier.
Selon ce guide, la façon d'ouvrir un fichier à partir de lecteur est la suivante: p> recherche de la recherche que le code complet (qu'ils n'incluent pas qu'il y ait ): P> DriveFile file = Drive.DriveApi.getFile(mGoogleApiClient,DriveId.bg(id));
file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null).setResultCallback(contentsOpenedCallback);`
4 Réponses :
Vous pouvez utiliser la méthode de la requête DiveapI pour récupérer les informations sur un fichier spécifique. Vous devrez définir un objet de requête comme suit: et définissez une fonction de rappel sur itérer sur les résultats: p> vous Peut trouver plus d'informations sur le sujet ici: https://developers.google.com/drive/andrroid/ Queries P> p>
Cette API est maintenant obsolète.
Je joue avec ce truc de quelques mois et j'ai toujours du code sur GitHub. Il peut être Soyez conscient du fait qu'il existe 2 identifiants différents pour Google Drive Android Objects, voir SO 22841237 . P>
En général, vous commencez généralement par connaître le nom de fichier / dossier, requête GDAA pour obtenir une liste d'objets. Chacun d'entre eux cédera l'entraîneur et la ressourceID. DriveID est utilisé dans votre application pour manipuler les objets (ne signifie rien en dehors de votre application Android et / ou de votre appareil). GestionID est la chaîne qui apparaît sous différentes formes dans les URL et peut être utilisée en dehors de votre application (navigateur Web par exemple ...). Regardez ce wrapper pour avoir ressentie comment il travaux. Mais encore une fois, cela fait quelques versions de retour, il n'y a donc aucune garantie. Bonne chance ... p>
La solution que j'ai trouvée pour ce problème créait le fichier de l'application. Utilisation de la classe ( " CreatefileActivitit.java " strong> ) à partir de Google Drive API Demo App.
Avec cette classe I Enregistrez le renvoi d'issue du nouveau fichier dans une variable de luttide globale. p> puis avec cet identifiant dans une autre méthode je appelle le fichier et lisez-le (si je veux que je puisse modifier ces informations de fichier à partir de Google Drive Web App): P> public void leer(){
DriveFile file = Drive.DriveApi.getFile(getGoogleApiClient(),Id);
file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null)
.setResultCallback(contentsOpenedCallback);
}
ResultCallback<DriveApi.DriveContentsResult> contentsOpenedCallback =
new ResultCallback<DriveApi.DriveContentsResult>() {
@Override
public void onResult(DriveApi.DriveContentsResult result) {
if (!result.getStatus().isSuccess()) {
Log.e("Error:","No se puede abrir el archivo o no se encuentra");
return;
}
// DriveContents object contains pointers
// to the actual byte stream
DriveContents contents = result.getDriveContents();
BufferedReader reader = new BufferedReader(new InputStreamReader(contents.getInputStream()));
StringBuilder builder = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
String contentsAsString = builder.toString();
Log.e("RESULT:",contentsAsString);
}
};
Mais comment puis-je modifier le contenu du même fichier, s'il vous plaît pouvez-vous publier du code?
L'API Google Drive est obsolète, maintenant son Google Drive v3 et pour la requête que nous utilisons
String pageToken = null; do { FileList result = driveService.files().list() .setQ("mimeType='image/jpeg'") .setSpaces("drive") .setFields("nextPageToken, files(id, name)") .setPageToken(pageToken) .execute(); for (File file : result.getFiles()) { System.out.printf("Found file: %s (%s)\n", file.getName(), file.getId()); } pageToken = result.getNextPageToken(); } while (pageToken != null);
Vous pouvez essayer d'ouvrir le sélecteur de fichier d'entraînement à l'aide de l'API NewOpenfileActivityBuilder qui permet à l'utilisateur de choisir le fichier d'entraînement. Le rappel de cet appel de l'API vous rendrait le lecteur du fichier cueillé, puis vous pouvez récupérer le contenu comme vous le faites maintenant. Voir développeurs.google.com/drive/android/intro#files et ' Ouvrez un fichier 'code à développeurs.google.com/drive/android