Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android import java.nio.file.Files; cannot be resolved

I am trying out the new Gmail API and the samples use the classes in the java.nio.file package, e.i. Files and FileSystems.

These classes was introduced in Java jdk 1.7 for the record, and since I am running jdk 1.7.0_65 in my Android app I have no idea why Android Studio cannot find these classes.

The imports are:

import java.nio.file.FileSystems;
import java.nio.file.Files;

My build.gradle file of course tells the system to use v. 1.7 like this

android {
    compileSdkVersion 19
    buildToolsVersion '20'
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

I am pointing to the right directory of the jdk:

enter image description here

The jdk is listed in the External Libraries section:

enter image description here

And if I browse through the Java files I can even find java.nio.file.Files and .FileSystems:

enter image description here

Now, what the **** is going on!? From my understanding I am doing everything right here, any suggestions?

like image 910
Jakob Avatar asked Jul 21 '14 15:07

Jakob


3 Answers

Android does not offer all classes that "conventional java" has to offer. Files is one of the classes, that Android doesn't offer.

You can have a look at the classes available in Android here: http://developer.android.com/reference/classes.html

So unfortunately you have to use other functions / classes to implement the same functionality.

PS: The class is shown in your screenshot because you browse the classes of java installed on your PC, not those that are be available on the Android phone / tablet.

Update

The Files/FileSystem classes have become available starting with API version 26.

like image 185
fabian Avatar answered Oct 19 '22 18:10

fabian


Apparently java.nio.file is coming with Android O. https://developer.android.com/reference/java/nio/file/package-summary.html

like image 31
stone Avatar answered Oct 19 '22 18:10

stone


Have a Look of this Link Android support some classes of NIO packages not full classes. But if you need to fast-up your code you can also use apache-commons api for the same.

like image 1
Simmant Avatar answered Oct 19 '22 18:10

Simmant