Aller au contenu

Des pages html en data


Recommended Posts

Salut,

Je bloque actuellement depuis plusieurs jours sur ce problème :

J'aimerais créer une application contenant des pages html (et des images) en data.

L'application détecte s'il y a une connexion internet, si oui, elle va chercher des pages web sur le net, elle les comparent avec celle qu'elle a en data. Si elles sont différentes, l'appli télécharge la page internet et remplace celle en data. Si non, l'appli affiche juste la page qu'elle contient en data.

ça permet de mettre à jour les pages web en data.

J'ai essayé de les enregistrer sur la carte SD, en interne, rien n'a été fructueux jusqu'à présent... J'ai réussi à enregistrer des fichiers en assets, mais impossible de les mettre à jour par la suite.

Quelqu'un aurait une solution? Une autre façon de faire?

Merci d'avance :)

Lien vers le commentaire
Partager sur d’autres sites

Les assets (qui font parties des ressources de l'application) ne sont effectivement pas modifiables.

Par contre, manipuler des fichiers sur la mémoire interne ou externe, ça fonctionne très bien. Donc, dans ton cas, que fais-tu ? qu'est-ce qui ne marche pas ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour et merci pour ta réponse,

Au tout début, je me suis dis que c'était mieux de traiter les pages en interne, parce qu'il se pouvait que l'utilisateur ne dispose pas de cartes SD.

J'ai donc regardé dans la doc comment traiter des données en interne, mais je n'ai trouvé nulle part le fichier où je pouvais déposé mes pages web et mes images. Je pourrais à la limite créer des pages web en écrivant dans un fichier, de cette façon :

String FILENAME = "page";
String string = "<html>Ma page html</html>";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

(d'après la doc)

Mais pour les images...

Je n'ai aussi aucune idée de comment récupérer la page après avoir écrit dedans, la modifier etc...

En externe, j'ai essayé de le faire à défaut de ne pas trouver comment le faire en interne, mais mon dossier "/Android/data/com.test.monapp/files" ne se créait pas... J'avoue que je me suis pas penché plus dessus parce que comme expliqué, c'est pas vraiment la solution qui m'arrange le plus...

Ce qui m'interesse vraiment c'est de savoir comment déposer des fichiers en interne afin qu'ils s'installent en même temps que j'installe l'appli. Et après j'essayerai de voir pour les modifier et les comparer à des fichiers en ligne.

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux installer tes fichiers en même temps que l'application, alors le plus simple est de les packager dans l'application. Sous forme de ressources, en tant qu'asset. Par contre, ces ressources n'étant pas modifiables, il te faudra gérer en mémoire interne le stockage des versions mises à jour de tes fichiers, en fonction de tes besoins

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup, j'arrive maintenant à lire mes pages web en asset et en internal file, tout se passe bien !

Le soucis, maintenant, c'est que j'aimerai bien que mon appli mette à jour ces pages.

J'avais pensé mettre un fichier "version.txt" en internal file et sur le web. Si les numéro dans ces fichiers sont différents, l'appli télécharge les pages du web vers l'internal file.

Par contre je ne vois pas du tout comment m'y prendre, et je ne sais même pas si c'est possible..?

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...