IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

FileNotFoundException depuis un service android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut FileNotFoundException depuis un service android
    Bonjour, je lis dans un block d'initialisation un fichier dans un service. Je passe le path absolue (je suis sous MAC), mais ça ne marche pas. j'ai bien vérifié le path

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    InputStream stream = null;
             try {
                 stream = new FileInputStream("/Users/admin/AndroidStudioProjects/ProjetCnam/app/src/main/res/raw/path.xml");
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
             }
    erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    07-12 13:36:49.375 20832-20832/com.example.admin.projetcnam W/System.err: java.io.FileNotFoundException: /Users/admin/AndroidStudioProjects/ProjetCnam/app/src/main/res/raw/path.xml: open failed: ENOENT (No such file or directory)
    Merci d'avance pour vos réponses

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour,

    quand j'éxécute en ligne de commande un programme java qui execute le même code, ça marche, mais pas dans Android Studio

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    C'est tout à fait normal : tu n'as pas de chemin "/Users/admin/AndroidStudioProjects/ProjetCnam/app/src/main/res/raw/path.xml" sur ton téléphone.
    Ou si tu l'as, tu n'auras pas les permissions (user "admin").

    Vu que ton fichier se trouve dans le dossier "raw", ouvre-le directement via getResources().openRawResource(R.raw.path) qui te fournira un InputStream que tu pourras ensuite utiliser à ta convenance.

    Pard bien du principe que ton application se déroule sur le terminal, et non sur ton PC, et donc, que tout ce qui est chemin, adresse IP et autre prendra en compte le terminal et absolument pas ton ordinateur.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour Hizin et merci pour ta réponse. Je faisais tourner mon application sur mon ordinateur avec un émulateur. Du coup je pensais qu'on avait accès aux ressources de l'ordinateur, mais je crois comprendre que pour des raisons de sécurité, on y a pas accès

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Non, ce ne sont pas des raisons de sécurité, ce sont des raisons matérielles.

    Imagine que tu fais tourner ton application sur un terminal Android : penses-tu que tu auras accès aux ressources de ton ordinateur à partir de ton terminal ? Ou que n'importe qui sur la planète y a accès (dans le cas où l'application a été publiée sur Google Play) ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Merci pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une notification depuis un service android
    Par azstar dans le forum Android
    Réponses: 2
    Dernier message: 09/07/2012, 11h26
  2. Réponses: 9
    Dernier message: 11/01/2007, 21h23
  3. Réponses: 3
    Dernier message: 21/11/2006, 22h05
  4. Impression d'un fichier Word depuis un service NT
    Par Gilius dans le forum Windows
    Réponses: 1
    Dernier message: 23/12/2005, 13h41
  5. [C#] Execution d'un fichier VBS depuis un service Windows
    Par 0r3L dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/11/2005, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo