vince123 Posté(e) 25 juin 2010 Share Posté(e) 25 juin 2010 Bonjour à tous, Je vais chercher sur un serveur du contenu HTML qui se présente sous une webview, comment faire pour l'avoir dans une textview (puisque j'ai déjà fait le squelette de mon API avec mes animations et tout :P) Hors de question de changer mon squelette ! Merci d'avance ^^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 26 juin 2010 Share Posté(e) 26 juin 2010 (modifié) Et bien je pense que tu vas devoir gérer toi-même la connexion Http vers ton serveur, récupérer le HTML, le convertir en CharSequence et le mettre dans ta TextView. Les pistes à suivre : http://developer.android.com/intl/fr/reference/java/net/URLConnection.html (attention à la différence entre Uri, URI et URL) http://developer.android.com/reference/java/net/URLConnection.html#getInputStream() http://developer.android.com/reference/android/text/Html.html#fromHtml(java.lang.String) Modifié 26 juin 2010 par Nivek Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 26 juin 2010 Auteur Share Posté(e) 26 juin 2010 (modifié) ok merci bien, je vais voir ca lundi ^^ ;) edit : Pour ma requête je peux faire ça, non final String requete = SERVER_NAME + textView.getText(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(requete)); startActivity(intent); Lorsque je fais ça, ca m'ouvre le browser avec ma page HTML, mais je ne veux pas de webview, donc pas de browser.. Modifié 28 juin 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 29 juin 2010 Auteur Share Posté(e) 29 juin 2010 (modifié) Pour faire simple, mon activity contient un textview (titre) et un textview (contenu) :) je peux changer le textview (contenu) en webview et ainsi y mettre du HTML, seulement, je n'arrive pas à récupérer mon HTML du serveur ! J'arrive à lancer une requête puis lancer un intent (qui ouvre le browser + affiche le HTML) mais comment juste "choper" le HTML et le "placer" dans mon webview. Pour récupérer html.fromhtml ?? :mad: :( Pour charger mon webview, ca me parait pas mal, non ? : void loadData(String data, String mimeType, String encoding) Load the given data into the WebView. void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) Load the given data into the WebView, use the provided URL as the base URL for the content. Merci Modifié 29 juin 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 30 juin 2010 Share Posté(e) 30 juin 2010 Je pourrais recoller tel quel mon post précédent vu que visiblement tu n'as pas suivi les pistes que j'ai données... Donc, pour être plus précis : Tu vas devoir gérer dans ton code la connexion vers le serveur HTTP. Pour cela, tu as besoin d'ouvrir une URLConnection : http://developer.android.com/intl/fr/reference/java/net/URLConnection.html Avec cette connexion ouverte vers ton serveur, tu récupères un InputStream que tu vas devoir lire pour récupérer le contenu de ta page HTML : http://developer.android.com/reference/java/net/URLConnection.html#getInputStream() Une fois ceci fait, tu peux convertir le HTML en CharSequence intégrable dans une TextView via cette méthode : http://developer.android.com/reference/android/text/Html.html#fromHtml(java.lang.String) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 30 juin 2010 Share Posté(e) 30 juin 2010 Au final tu peux te contenter d'une WebView ou pas ??? j'ai un peu de mal à comprendre. Est-ce que c'est simplement que tu n'as pas vu dans la doc de la WebView qu'il fallait lui fournir l'URL comme ça : webview.loadUrl("http://slashdot.org/"); ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 1 juillet 2010 Auteur Share Posté(e) 1 juillet 2010 (modifié) Bonjour Nivek, Tu te trompes, ce n'est pas que je ne te suis pas..... mais j'ai un autre problème qui est survenu :mad: : ET maintenant, je suis obligé de changer mon textView en webView, et la un problème survient, impossible à récupérer des évènement de click sur la webView, seulement sur ma TextView : Ma Webview contient de l'HTML en local, j'ai essayé plein de chose pendant 2 jours, changer de layout, mettre mon listener sur un autre objet, incorporer ma scrollView dans une View, dans une autre ScrollView...etc :( Je ne récupère plus mes clicks, je trouve rien sur la doc de la webView, c'est comme si, la webview était trop opaque pour laisser passer un évènement de click. :o :o D'où l'importance de régler cela, avant de m'occuper à récupérer du HTML sur un serveur Modifié 1 juillet 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 1 juillet 2010 Share Posté(e) 1 juillet 2010 remplace ta WebView par un FrameLayout qui contient : - en dessous ta WebView - au dessus un LinearLayout transparent qui capte ton click Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 1 juillet 2010 Auteur Share Posté(e) 1 juillet 2010 tu veux dire ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 1 juillet 2010 Share Posté(e) 1 juillet 2010 ouais Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 1 juillet 2010 Auteur Share Posté(e) 1 juillet 2010 (modifié) Meme si j'ai une scrollview en parent du webview .... euh ..... en fait j'ai une FrameLayout (grand père ;) ) => scrollview => RelativeLayout => Textview et Webview (même niveau) décrit précédemment Bref, je vais tester ca, à voir merci Pierre -------------------------------------------------------------------------------------------------------------------- edit : Eh non, ca ne marche pas et ca m'énerve la (3 jours dessus) à essayer de mettre des layout, des listeners un peu partout, voir ce que je récupère comme click, voir ce qui est zappé :o :o :o Comment vas-je récupérer un click sur cette p.....ain de WebView !? si des personnes ont des idées, je suis preneur Modifié 1 juillet 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 (modifié) Bon, je vous tiens au courant, J'ai réussi à récupérer mes clicks sur le webview, mais ne me demander pas pourquoi ! Maintenant let's go, récupération HTML pour le webview et mise en place parser + json pour récupérer un champ et le mettre dans un fils de mon ExpandableListView ! :) :) Si vous avez des idées ou des exemples sur les parser, pensez à moi :P go :rolleyes: ps : merci de m'avoir bien guidé :| :| Modifié 2 juillet 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 JSONObject ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 (modifié) oui apparemment, c'est ce que je vais faire je suis en train de regarder ca : http://developer.android.com/reference/org/json/JSONObject.html Modifié 2 juillet 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 très simple à utiliser, il y a 2 type de méthodes : - getXXX si tu veux récupérer un élément obligatoire (lève une exception si l'élément est introuvable) - optXXX si l'élément est optionnel (une valeur par défaut doit être fournie) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 yes, merci bien ^^ As-tu vu des exemples de récupération de champ HTML grâce à un parser + json ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 heuuuu, tu ne peux pas parser du html avec JSONObject ou alors je suis perdu... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 parser, en gros ca veut dire : scanné un HTML et sélectionné tel ou tel champs, non ? json, me permet d'organiser mes objets, non ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 html est basé sur xml (plus ou moins) xml et json sont des formats d'échange de données, dont les syntaxes sont très différentes ! je vois donc mal ce que tu veux faire avec un parser json, et des données en html... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 j'ai du contenu HTML j'ai une expandablelistview Je dois mettre un certain champs dans un enfant de mon expandablelistview Par conséquent, on m'a dit de scanné mon HTML avec un parser et d'utiliser json après (sans trop savoir pourquoi, mais je dois faire comme ca) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 ha ok ! donc tu ne va pas utiliser le mode "parser" de JSONObject ! c'est pour ça que je ne comprenait pas :P donc en fait, tu vas créer un JSONObject vide, et le remplir avec des données "à la main", pour l'utiliser comme un stockage temporaire.... je ne vois pas trop l'interet, puisqu'une ArrayList/HashMap permet de faire la meme chose sauf si t'as une structure en arbre... à noter que tu peux aussi faire un toString sur JSONObject pour l'exporter ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 Rectification : je dois utiliser le parser de JSON ! Apparemment, je lui donne un string, me scanne mon flux et il me retourne ce que j'ai demandé ! pouah, j'ai jamais fait ca moi ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 http://developer.android.com/reference/org/json/JSONObject.html#JSONObject(java.lang.String) tout simplement :D le soucis, c'est que tu ne peux parser que du JSON or, je ne vois pas trop où tu vas avoir du JSON dans ton html :P Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince123 Posté(e) 2 juillet 2010 Auteur Share Posté(e) 2 juillet 2010 (modifié) je vais voir ce que j'ai dans mon HTML...et je reviens ^^ ----------------------------------------------------------------------------------------------------------------------- edit : voila le genre de chose que j'ai : { "blok": false, "msg_err": "", "yyyyyyyy": [{"results": [ { "ambiguite": false, "id_page": 0, "nb_pages": 0, "paragraph": [{ "format": 4, "image": [], "text": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }], je dois récupérer mon "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (qui est l'enfant dans mon expandablelistview) et le mettre dans "yyyyyyyy" (qui est un parent dans mon expandablelistview) Modifié 2 juillet 2010 par vince123 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 juillet 2010 Share Posté(e) 2 juillet 2010 ok, c'est bien du JSON \o/ il te suffit de créer un JSONObject, en passant en paramètre une chaine de caractère contenant ton JSON l'objet JSONObjet est accessible en : - lecture avec getXXX et optXXX - en écriture avec putXXX et remove donc tu peux facilement faire ce que tu viens de me décrire Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.