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 :

Lire un fichier de ressource texte html localizé livré dans l'apk


Sujet :

Android

  1. #1
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut Lire un fichier de ressource texte html localizé livré dans l'apk
    Bonjour,

    je suis relativement débutant en développement android. Je ne demande pas une solution complète, mais juste quelques indications pour me débloquer.

    Les ressources de mon application sont disponibles en plusieurs langues.
    J'ai donc des répertoires "values" "values-fr" "values-es" etc.

    J'ai plusieurs fichiers HTML (à afficher avec un WebView), comme "disclaimer.htm", déclinés en plusieurs langues que je voudrais livrer avec l'apk.

    Je voudrais savoir où je dois les placer et comment les lire.

    Puis-je le mettre dans un répertoire localizé "values-<langue>/info/disclaimer.htm" ?

    Puis-je le mettre dans un répertoire localizé "raw-<langue>/info/disclaimer.htm" ?

    Dans chaque cas, comment accéder au contenu?

    Merci d'avance

    )jack(

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Bonjour,

    je suis relativement débutant en développement android. Je ne demande pas une solution complète, mais juste quelques indications pour me débloquer.

    Les ressources de mon application sont disponibles en plusieurs langues.
    J'ai donc des répertoires "values" "values-fr" "values-es" etc.

    J'ai plusieurs fichiers HTML (à afficher avec un WebView), comme "disclaimer.htm", déclinés en plusieurs langues que je voudrais livrer avec l'apk.

    Je voudrais savoir où je dois les placer et comment les lire.

    Puis-je le mettre dans un répertoire localizé "values-<langue>/info/disclaimer.htm" ?

    Puis-je le mettre dans un répertoire localizé "raw-<langue>/info/disclaimer.htm" ?

    Dans chaque cas, comment accéder au contenu?

    Merci d'avance

    )jack(
    Bon, j'ai avancé (grâce à http://developer.android.com/guide/t...resources.html et suivantes).

    En gros, il y a 2 méthodes, les ressources et les assets.

    1) Ressources

    Pour que le fichier soit localizable, il faut le mettre dans res/raw-<langue> (pas dans un sous-répertoire).

    On y accède par son resourceId, comme "R.raw.disclaimer":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    InputStream is = getResources().openRawResource(resId);
    String htmlText = sts.convertStreamToString(is);
    webview.loadData(htmlText, "text/html", "utf-8");
    J'ai trouvé le "convertStreamToString" sur internet.

    ça marche... tant que le fichier ne contient pas de références externes :-(

    Il plante avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><img style="width:100%" src="viewpic.jpg" /></p>
    En fait, après divers essais, il semblerait que ce soit surtout la présence du signe pour-cent qui le gêne!

    Il ne plante pas, mais n'affiche aucune image avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><img src="viewpic.jpg" /></p>
    Si quelqu'un a une idée pour insérer une image, je suis preneur!


    2) Assets

    Tout mettre dans res/../assets (je n'ai pas encore essayé).

    Inconvénient: la localization n'est pas automatique.

    Avantage: on accède à un vrai filesystem.

    )jack(

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Bon, j'ai avancé (grâce à http://developer.android.com/guide/t...resources.html et suivantes).

    En gros, il y a 2 méthodes, les ressources et les assets.
    J'ai abandonné les ressources et j'ai utilisé les assets.

    Pour avoir la localization, il m'a suffi, dans "values-en/infos.xml", de remplacer "<item>disclaimer.htm</item>" par "<item>en/disclaimer.htm</item>".

    J'ai ensuite créé les répertoires "assets/{en,fr,pt, etc.}" dans lesquels j'ai mis les différents "disclaimer.htm".

    Le code est alors juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webview.loadUrl("file:///android_asset/" + fileName);
    et basta!

    Merci pour mon aide...

    )jack(

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Hello,

    je viens poster ici, car je suis actuellement entrain de développer un module sensé afficher une page web stockée en local (qui contient des bouts d'AJAX pour se mettre à jour une fois chargée) à l'aide d'une webview, et tes posts m'ont bien rendu service.

    Merci !

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Slimwhity Voir le message
    Hello,

    je viens poster ici, car je suis actuellement entrain de développer un module sensé afficher une page web stockée en local (qui contient des bouts d'AJAX pour se mettre à jour une fois chargée) à l'aide d'une webview, et tes posts m'ont bien rendu service.

    Merci !
    Je suis bien content d'avoir pu contribuer indirectement!
    C'était bien le but de ces posts!
    De manière générale (et pas seulement pour mes posts!), si tu trouves un post utile, tu peux le "plusser", c'est-à-dire cliquer sur le petit pouce 'up' en bas à droite du-dit post.

    PS: depuis cette époque, j'ai tout oublié sur android... peut-être qu'un jour mes propres posts me resserviront!

Discussions similaires

  1. Lire un fichier Ascii ou texte, donnees en bloc pas en colonnes
    Par Fatehcz dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 27/03/2014, 14h14
  2. [AJAX] lire un fichier audio en javascript/html
    Par bracket dans le forum AJAX
    Réponses: 0
    Dernier message: 25/12/2010, 02h56
  3. [PHPExcel] Lire des fichiers excel enregistrer en HTML
    Par llaffont dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 09/11/2010, 14h18
  4. [XML] lire un fichier en xml et enregistrer les donnees dans MySQL
    Par nath-0-0 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/08/2006, 15h06
  5. Réponses: 14
    Dernier message: 28/07/2006, 11h20

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