Jump to content

Archived

This topic is now archived and is closed to further replies.

boboh

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 :)

Share this post


Link to post
Share on other 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 ?

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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..?

Share this post


Link to post
Share on other sites





×
×
  • Create New...