Rémi Posté(e) 22 juin 2010 Share Posté(e) 22 juin 2010 Bonjours Pour mon application j'ai besoin d'ouvrir un navigateur (celui d'origine ou le navigateur préféré) incruster dans la fenetre, et d'en récupérer l'URL quand l'utilisateur presse un bouton. Merci de votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 22 juin 2010 Share Posté(e) 22 juin 2010 Tu sais que tu peux directement mettre un controle de navigation. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 22 juin 2010 Auteur Share Posté(e) 22 juin 2010 C'est a dire? En quoi sa consiste et comment le mètre en place? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 22 juin 2010 Share Posté(e) 22 juin 2010 public class AideEnLigne extends Activity { @Override protected void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); WebView webview = new WebView(this); setContentView(webview); webview.loadUrl("http://....htm"); } } A toi de mettre en place un champ de saisie de l'url, un bouton naviguer etc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 22 juin 2010 Auteur Share Posté(e) 22 juin 2010 Non, ce que je veux c'est que l'utilisateur tombe sur google, qu'il fasse un recherche ou tape une URL et quand il est sur la page qu'il cherchai, il appuis sur un bouton et a ce moment là, je veux récupérer l'url de la dite page. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 22 juin 2010 Share Posté(e) 22 juin 2010 Bah tu le mets sur google par webview.loadUrl("http://www.google.com"); Et sur un bouton tu fais un getUrl() http://developer.android.com/reference/android/webkit/WebView.html Tu peux aussi mettre un controle WebView dans un layout http://developer.android.com/guide/tutorials/views/hello-webview.html au boulot ! ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 22 juin 2010 Auteur Share Posté(e) 22 juin 2010 Merci pour tes précieuse et précises indications, je vais bosser la dessus :D Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 22 juin 2010 Share Posté(e) 22 juin 2010 De rien ! faut bien se dépanner entre galérien du codage ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 23 juin 2010 Auteur Share Posté(e) 23 juin 2010 Maintenant, j'ai extrait le code source de ma page, et je cherche maintenant a trouver une URL contenant le String recherche dans le String source. J'utilise: resultat=(source.getResource (recherche)); Mais Eclipse me dit: La méthode getResource(String) est indéfinie pour le type String Qu'est ce qui cloche, je n'ai peu-etre pas bien choisit la méthode pour chercher l'URL, j'ai aussi essayé d'utiliser : resultat=(source.getSystemResource (recherche)) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 23 juin 2010 Share Posté(e) 23 juin 2010 source est un objet de quel type ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 23 juin 2010 Auteur Share Posté(e) 23 juin 2010 Source, recherche et resultat sont tous des String, je comprend pas pourquoi éclipse me revoie cette erreur, mais il a raison, cela ne compile pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MzelleNeskimo Posté(e) 24 juin 2010 Share Posté(e) 24 juin 2010 je en crois pas qu'il te faille passer par un getRessource qui sert plutôt à récupérer des ressources dans ton projet (des id, des drawable...) tu sais à quoi doit ressembler ton string Recherche? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 24 juin 2010 Auteur Share Posté(e) 24 juin 2010 Source est le code source de ma page web que j'ai extrait par une autre portion de code qui marche très bien, ensuit, dans le code source de la page, je veux chercher les URL(s) qui contienne .swf (recherche), car je veux avoir une liste des objet en flash qui sont incruster dans la page. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 24 juin 2010 Share Posté(e) 24 juin 2010 C'est la méthode IndexOf qu'il faut utiliser ;) http://developer.android.com/reference/java/lang/String.html#indexOf(java.lang.String, int) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 24 juin 2010 Auteur Share Posté(e) 24 juin 2010 Ok merci je suis en train de bosser dessus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 25 juin 2010 Auteur Share Posté(e) 25 juin 2010 Je crois que j'ai un petit problème avec éclipse puisque sa fait 25 minutes qu'il essaye de lancer mon fichier java et qu'il n'a toujours rien écrit dans la console, sa viens peu-être de mon code, pourtant tout a l'air bon, eclipse ne me renvois aucune erreurs. Voici mon code (pas en entier): String UrlHttp = "http://"; //début de l'Url String UrlSwf = ".swf"; //fin de l'Url int i = 0; //indice du tableau, ou numéro du résultat int UrlDebut = 0; //indice du caractère du début de l'Url int UrlFin = 0; //indice du caractère de fin de l'Url, ou dernier caractere analysé int nbr= 0 ; //nobre de résultat a la recherche int taille = source.length(); //nombre de caractere du code source while( UrlFin < taille) //On cherche le nombre de résultat pour déterminer la taille du tableau qui va les stoqué { UrlDebut=source.indexOf(UrlHttp, UrlFin); UrlFin=source.indexOf(UrlSwf, UrlFin); nbr ++; } System.out.println("Il y à " + nbr + " résultat(s)"); String [] Urls = new String [nbr] ; //initialisation du tableau de stockage des Urls trouvé while( UrlFin < taille){ //segond recherche et extraction des Urls UrlDebut=source.indexOf(UrlHttp, UrlFin); UrlFin=source.indexOf(UrlSwf, UrlFin); Urls [i]=source.substring(UrlDebut +1,UrlFin); System.out.println(Urls[i]); i++; } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 25 juin 2010 Share Posté(e) 25 juin 2010 Quand la console ne répond pas il faut souvent relancer l'émulateur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 26 juin 2010 Auteur Share Posté(e) 26 juin 2010 Il y a-t-il une méthode pour vérifier si une URL est valide? Qu'il n'y ai pas d'espace ni de \n ni de caractère interdit. J'ai cherché dans java.net.URL et je n'ai rien trouvé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 26 juin 2010 Share Posté(e) 26 juin 2010 Ta premiere boucle while me parait plus que suspecte : Tu attends tant que urlfin est inferieur a la taille de ta page. Mais indexof va renvoyer une position inferieure a taille s'il trouve ou -1 s'il ne trouve pas. Donc en aucun cas une valeur superieure a la taille du texte. Emmanuel / Alocaly Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 26 juin 2010 Auteur Share Posté(e) 26 juin 2010 J'ai modifier le code, il marche maintenant, je veux juste vérifier que les URLs trouvé soit valide, mais tu a raison, ma premiere boucle while était infinie. Voici mon code, il n'est pas définitif, et j'obtiens "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2" String UrlHttp = "http://"; //début de l'Url String UrlSwf = ".swf"; //fin de l'Url int i = 0; //indice du tableau, ou numéro du résultat int UrlDebut = 0; //indice du caractère du début de l'Url int UrlFin = 0; //indice du caractère de fin de l'Url int nbr= 0 ; //nombre de résultat a la recherche boolean boucle = true; //autorise ou non l'execution des boucles while( boucle ) { //On cherche le nombre de résultat pour déterminer la taille du tableau qui va les stoqué UrlFin=source.indexOf(UrlSwf, UrlFin +1); UrlDebut=source.lastIndexOf(UrlHttp, UrlFin); System.out.println(nbr+ 1 + " résultas"); if (UrlFin == -1){ //si fin de la source ateinte (ou plus de résultat) boucle = false; // on arrete la boucle pour le prochain tour } else { nbr ++; // on compte le nombre de résulats si il est valide } } boucle = true; // on ré-authorise l'execution des boucles pour la deuxieme boucle System.out.println("Il y à " + nbr + " résultat(s)"); //on affiche le nombre de résultat nbr if (nbr < 1){ //si il n'y a pas de résultat System.out.println("il n'y a aucun résulatat"); }else { //si il y a au moins 1 résultat String [] Urls = new String [nbr] ; //initialisation du tableau de stockage des Urls trouvé while( boucle ){ //segond recherche et extraction des Urls UrlFin=source.indexOf(UrlSwf, UrlFin); UrlDebut=source.lastIndexOf(UrlHttp, UrlFin); if (UrlDebut System.out.println("début: " + UrlDebut + " Fin: "+ UrlFin); Urls [i]=source.substring(UrlDebut,UrlFin +4); //On stocke les urls (le +4 est là si non les .swf des urls sont coupé) Exception a la ligne précédente: "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2". if (i <= nbr) System.out.println(Urls[i]); } i++; if (UrlFin == -1){ //si on a atein la fin du code source boucle = false; //on arrete la boucle au prochain tours } } } } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 28 juin 2010 Auteur Share Posté(e) 28 juin 2010 J'ai utilisé ce tuto: http://developer.android.com/resources/tutorials/views/hello-webview.html pour metre en place une webview mais je n'arrive pas a faire un "page précédente" avec le bouton back. Je n'ai pas compris exactement comment utilisé le code donné, j'ai essayé de le collé a plusieurs endroits mais éclipse me met toujour plusieurs erreur et me fait beaucoup modifier le code: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } (chapitre 9. de la page que j'ai donné) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rémi Posté(e) 3 juillet 2010 Auteur Share Posté(e) 3 juillet 2010 Je n'arrive toujours pas a utiliser le bouton retour, mais je ne vois pas ma webview quand il y a un autre LinearLayout avec un bouton dedant: Code java de mon apli: package com.TestAndro; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; import android.webkit.WebViewClient; public class main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView mWebView = (WebView) findViewById(R.id.mWebView); mWebView = (WebView) findViewById(R.id.mWebView); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("http://www.google.com/"); mWebView.setWebViewClient(new HelloWebViewClient()); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { //mWebView ne peu pas être résolu mWebView.goBack(); //sur ces 2 lignes return true; } return super.onKeyDown(keyCode, event); } private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } } Fichier XML de l'UI: <?xml version="1.0" encoding="utf-8"?> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/mWebView"/> Merci de votre aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.