J'essaie la nouvelle API Gmail et les exemples utilisent les classes du package Java.nio.file, e.i. Files
et FileSystems
.
Ces classes ont été introduites dans Java jdk 1.7 pour mémoire, et puisque j'utilise jdk 1.7.0_65 dans mon application Android, je ne sais pas pourquoi Android Studio ne peut pas trouver ces classes.
Les importations sont:
import Java.nio.file.FileSystems;
import Java.nio.file.Files;
Mon fichier build.gradle indique bien sûr au système d'utiliser la version 1.7 comme ceci
Android {
compileSdkVersion 19
buildToolsVersion '20'
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
Je pointe vers le bon répertoire du jdk:
Le jdk est répertorié dans la section Bibliothèques externes:
Et si je parcours les fichiers Java, je peux même trouver Java.nio.file.Files et .FileSystems:
Maintenant, qu'est-ce que le **** se passe!? D'après ma compréhension, je fais tout ici, des suggestions?
Android n'offre pas toutes les classes que "Java conventionnel" a à offrir. Files
est l'une des classes que Android n'offre pas.
Vous pouvez consulter les classes disponibles dans Android ici: http://developer.Android.com/reference/classes.html
Donc, malheureusement, vous devez utiliser d'autres fonctions/classes pour implémenter la même fonctionnalité.
PS: La classe est affichée dans votre capture d'écran car vous parcourez les classes de Java installé sur votre [~ # ~] pc [~ # ~] , pas ceux qui sont disponibles sur le Android téléphone/tablette Android.
Les classes Files
/FileSystem
sont devenues disponibles à partir de l'API version 26.
Apparemment Java.nio.file
vient avec Android O. https://developer.Android.com/reference/Java/nio/file/package-summary.html
Jetez un œil à cela Lien Android prend en charge certaines classes de packages NIO pas des classes complètes. Mais si vous avez besoin d'accélérer votre code, vous pouvez également utiliser Apache-commons api pour la même chose.