我正在尝试新的Gmail API,示例使用java.nio.file包中的类,e.i。 Files
和FileSystems
。
这些类是在Java jdk 1.7中引入的,因为我在我的Android应用程序中运行jdk 1.7.0_65,我不知道为什么Android Studio找不到这些类。
导入是:
import java.nio.file.FileSystems;
import java.nio.file.Files;
我的build.gradle文件当然告诉系统使用v.1.7这样
android {
compileSdkVersion 19
buildToolsVersion '20'
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
我指向jdk的正确目录:
jdk列在外部库部分:
如果我浏览Java文件,我甚至可以找到java.nio.file.Files和.FileSystems:
现在,****正在发生什么!?根据我的理解,我正在做这里的一切,有什么建议吗?
答案 0 :(得分:62)
Android不提供“传统java”必须提供的所有类。 Files
是Android不提供的类之一。
您可以在此处查看Android中可用的课程:http://developer.android.com/reference/classes.html
所以不幸的是,你必须使用其他函数/类来实现相同的功能。
PS:您的屏幕截图中显示了该类,因为您浏览了 PC 上安装的java类,而不是Android手机/平板电脑上可用的类
从API版本26开始,Files
/ FileSystem
类已经可用。
答案 1 :(得分:11)
显然java.nio.file
即将推出Android O.
https://developer.android.com/reference/java/nio/file/package-summary.html
答案 2 :(得分:1)
看看这个Link Android支持某些类的NIO包而不是完整的类。但是如果你需要快速编写代码,你也可以使用apache-commons api。