web-dev-qa-db-fra.com

les essais avec des ressources ne sont pas pris en charge à ce niveau de langue - Android

J'ai un problème avec "essayer avec des ressources ne sont pas prises en charge à ce niveau de langue" dans Android dans le code posté suivant, j'ai essayé de définir la langue sur 7 mais il continue de me donner le même exemple et il me donne toujours la possibilité de passer à la langue 7.

public String ReadFile(String fileName) {

    try (BufferedReader br = new BufferedReader(new FileReader(fileName+".txt"))) {
        StringBuilder sb = new StringBuilder();
        String line = br.readLine();

        while (line != null) {
            sb.append(line);
            sb.append(System.lineSeparator());
            line = br.readLine();
        }

        String everything = sb.toString();
        return everything;
    } catch (FileNotFoundException ex) {
        Logger.getLogger(SaveNLoadRank.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(SaveNLoadRank.class.getName()).log(Level.SEVERE, null, ex);
    }
    return "1";
}
24
this.user3272243

try-with-resources n'est pris en charge que si votre minSdkVersion est réglé sur 19 ou plus.

Étant donné que je doute que votre application prenne en charge une version d'API minimale de 19 ou supérieure (en juin 2014), c'est probablement votre problème.

La prise en charge de Java 7 fonctionnalités linguistiques a été ajoutée dans SDK Tools Revision 22.6 publié en mars 2014 ( voir ici ). Cependant, try-with-resources n'est pas une fonctionnalité qui peut être introduite pour les versions précédentes d'Android, donc les applications utilisant cette fonctionnalité doivent fonctionner sur 19+, donc le minSdkVersion exigence.

[~ # ~] mise à jour [~ # ~] Vous pouvez désormais utiliser try-with-resources avec n'importe quelle API.

Outre les Java 8 fonctionnalités linguistiques et les API ci-dessus, Android Studio 3.0 et versions ultérieures étendent la prise en charge des essais avec les ressources à tous les niveaux d'API Android.

Pour commencer à utiliser les fonctionnalités linguistiques prises en charge de Java 8, mettez à jour le plug-in Android vers la version 3.0.0 (ou supérieure). Après cela, pour chaque module qui utilise Java 8 fonctionnalités linguistiques (soit dans son code source, soit via des dépendances), mettez à jour la compatibilité source et la compatibilité cible à 1,8 dans la boîte de dialogue Structure du projet, comme illustré à la figure 2 (cliquez sur Fichier> Structure du projet).

https://developer.Android.com/studio/write/Java8-support.html

41
Bryan Herbst

Il n'est pas pris en charge en dessous de l'API 19, mais il fonctionnerait sur 15 et peut-être même 14: https://code.google.com/p/Android/issues/detail?id=7348

2
Joe Bowbeer