<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le Blog du grand loup Zeur &#187; Java</title>
	<atom:link href="http://blog.gaetan-grigis.eu/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gaetan-grigis.eu</link>
	<description>Le blog qui vous fait connaitre ce que vous savez déjà</description>
	<lastBuildDate>Tue, 17 Jan 2012 08:43:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Application android pour les horaires de tram/bus grenoblois (Tag/SemiTag)</title>
		<link>http://blog.gaetan-grigis.eu/programmation/java/application-android-pour-les-horaires-de-trambus-grenoblois-tagsemitag/</link>
		<comments>http://blog.gaetan-grigis.eu/programmation/java/application-android-pour-les-horaires-de-trambus-grenoblois-tagsemitag/#comments</comments>
		<pubDate>Sat, 21 May 2011 09:00:19 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bus]]></category>
		<category><![CDATA[grenoble]]></category>
		<category><![CDATA[htmlcleaner]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[semitag]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tram]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=1081</guid>
		<description><![CDATA[Plop à tous &#8230; Alors voilà &#8230; hier j&#8217;avais cours de Java, et comme l&#8217;ennui c&#8217;est fait sentir, j&#8217;ai décidé de créer un &#171;&#160;clone&#160;&#187; de mon application pour les horaires des transports strasbourgeois en un peu plus propre (côté code), mais toujours aussi simpliste (faudrait voir pour utiliser des threads pour le système de recherche, [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Alors voilà &#8230; hier j&#8217;avais cours de Java, et comme l&#8217;ennui c&#8217;est fait sentir, j&#8217;ai décidé de créer un &laquo;&nbsp;clone&nbsp;&raquo; de mon application pour les horaires des transports strasbourgeois en un peu plus propre (côté code), mais toujours aussi simpliste (faudrait voir pour utiliser des threads pour le système de recherche, une barre de chargement, une widget configurable, &#8230; mais en 8 heures j&#8217;ai pas eu le temps ^^).<br />
<span id="more-1081"></span><br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/05/android-tag.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/05/android-tag.png" alt="" title="android-tag" width="323" height="487" class="aligncenter size-full wp-image-1082" /></a></p>
<p>L&#8217;application se base sur les données fournit par le site : <a href="http://tag.mobitrans.fr/">tag.mobitrans.fr</a>, le site utilise des tokens et chaque recherche doit se faire en tapant dans 3 pages différentes, puis une page par ligne de tram/bus, donc potentiellement pas mal de parsing et de conso de bande passante).</p>
<p>Pour ne pas à avoir à utiliser de regexp, j&#8217;ai utilisé la librairie <a href="http://htmlcleaner.sourceforge.net/">htmlcleaner</a>, qui transforme de l&#8217;html en XML bien formé, permettant des requêtes xpath pour récupérer les éléments, réduisant de façon significative le temps de développement.</p>
<p>Un petit code d&#8217;exemple de l&#8217;utilisation d&#8217;Html cleaner : </p>
<div class="geshi no java">
<ol>
<li class="li1">
<div class="de1">HtmlCleaner hc = <span class="kw2">new</span> HtmlCleaner<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">TagNode tn = hc.<span class="me1">clean</span><span class="br0">&#40;</span><span class="st0">&quot;url du site&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//recuperation du contenu d&#39;une div ayant pour classe &#39;corpsL&#39;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw3">Object</span> o : tn.<span class="me1">evaluateXPath</span><span class="br0">&#40;</span><span class="st0">&quot;//div[@class=&#39;corpsL&#39;]//div&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//affichage du texte pour les elements de type a &nbsp; </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">System</span>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>TagNode<span class="br0">&#41;</span> o<span class="br0">&#41;</span>.<span class="me1">getElementsByName</span><span class="br0">&#40;</span><span class="st0">&quot;a&quot;</span>, <span class="kw2">false</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Le code <a href="https://github.com/cipher16/AndroidTagMobiTrans">source du projet</a> pour donner quelques idées et l&#8217;<a href="https://github.com/cipher16/AndroidTagMobiTrans/raw/master/bin/tag.apk">apk</a>.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=1081">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/non-classe/un-peu-davancement-dans-lapplication-android-de-la-cts/" rel="bookmark" title="Permanent Link: Un peu d&#8217;avancement dans l&#8217;application Android de la CTS &#8230;">Un peu d&#8217;avancement dans l&#8217;application Android de la CTS &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/mon-application-android-pour-les-horaires-de-la-cts/" rel="bookmark" title="Permanent Link: Mon Application Android pour les horaires de la CTS">Mon Application Android pour les horaires de la CTS</a></li><li><a href="http://blog.gaetan-grigis.eu/android/application-android-pour-le-telechargement-des-versions-de-cyanogen/" rel="bookmark" title="Permanent Link: Application android pour le téléchargement des versions de Cyanogen">Application android pour le téléchargement des versions de Cyanogen</a></li><li><a href="http://blog.gaetan-grigis.eu/android/android-application-de-controle-a-distancebackupinfo/" rel="bookmark" title="Permanent Link: [Android] application de contrôle à distance/backup/info">[Android] application de contrôle à distance/backup/info</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/android-c2dm-notification-push-en-bash-avec-wget/" rel="bookmark" title="Permanent Link: Android C2DM Notification push en bash avec wget">Android C2DM Notification push en bash avec wget</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/programmation/java/application-android-pour-les-horaires-de-trambus-grenoblois-tagsemitag/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mon Application Android pour les horaires de la CTS</title>
		<link>http://blog.gaetan-grigis.eu/programmation/mon-application-android-pour-les-horaires-de-la-cts/</link>
		<comments>http://blog.gaetan-grigis.eu/programmation/mon-application-android-pour-les-horaires-de-la-cts/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 19:13:42 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[cts]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=632</guid>
		<description><![CDATA[Amis Strasbourgeois bonsoir &#8230; Après un WE chargé sur Strasbourg, j&#8217;ai remarqué que la Compagnie des Transports de Strasbourg (CTS) avais mis en place un site web intéressant en temps réel (semble-t-il) pour calculer les horaires des BUS/Trams du réseau urbain. L&#8217;autre partie du service &#171;&#160;Temps Réel&#160;&#187; se fait par SMS par envoi du code [...]]]></description>
			<content:encoded><![CDATA[<p>Amis Strasbourgeois bonsoir &#8230;<br />
Après un WE chargé sur Strasbourg, j&#8217;ai remarqué que la Compagnie des Transports de Strasbourg (<a href="http://www.cts-strasbourg.fr/">CTS</a>) avais mis en place <a href="http://tr.cts-strasbourg.fr/">un site web</a> intéressant en temps réel (semble-t-il) pour calculer les horaires des BUS/Trams du réseau urbain.</p>
<p>L&#8217;autre partie du service &laquo;&nbsp;Temps Réel&nbsp;&raquo; se fait par SMS par envoi du code de la station à un numéro surtaxé &#8230; :s. Ayant un forfait 3G, je vais pas claquer un SMS surtaxé si je peux accéder au web gratuitement (quel radin <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), mais le site est assez bof depuis mon navigateur, et c&#8217;est assez lent &#8230;</p>
<p>Ayant acheté un G1 dans le but de dev des applis, j&#8217;en ai profité pour faire ce que je sais (apparemment) faire de mieux &#8230; parser des sites web pour en extraire des informations, dans ce cas précis, les horaires des transports en commun.</p>
<p>L&#8217;application ressemble à ceci : (super moche je sais, mais elle fait sont boulot &#8230; c&#8217;est l&#8217;essentiel).</p>
<p><a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2009/12/android-CTS.png"><img class="aligncenter size-full wp-image-633" title="android-CTS" src="http://blog.gaetan-grigis.eu/wp-content/uploads/2009/12/android-CTS.png" alt="android-CTS" width="322" height="294" /></a>Pour le code source, j&#8217;ai tenté de faire au plus simple (traduction : le code est aussi beau que le screenshot fournit plus haut ^^, <em>pour ma décharge, je dirais que j&#8217;ai tout mis dans un fichier histoire de ne pas à avoir trop de fichier à fournir ici</em>).</p>
<p>Si vous avez des idées pour améliorer l&#8217;appli je suis open <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (à part si c&#8217;est pour me recycler et changer de métier :s). Je pense changer l&#8217;appli en widget (si j&#8217;ai le temps &#8230;).<br />
<span id="more-632"></span><br />
Pour les fichiers, tout d&#8217;abord le main.java</p>
<div class="geshi no java">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">package</span> eu.<span class="me1">gaetangrigis</span>.<span class="me1">cts</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.io.BufferedReader;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.io.IOException;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.io.InputStreamReader;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.Calendar;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.regex.Matcher;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.regex.Pattern;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.app.Activity;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.app.Dialog;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.app.TimePickerDialog;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.app.TimePickerDialog.OnTimeSetListener;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.os.Bundle;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.view.View;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.view.View.OnClickListener;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.view.View.OnFocusChangeListener;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.view.ViewGroup.LayoutParams;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.Button;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.EditText;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.TableLayout;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.TableRow;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.TextView;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import android.widget.TimePicker;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.http.HttpResponse;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.http.client.methods.HttpGet;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.http.client.ClientProtocolException;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.http.client.HttpClient;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.http.impl.client.DefaultHttpClient;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> Main <span class="kw2">extends</span> Activity <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="coMULTI">/** Called when the activity is first created. */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> <span class="kw3">Button</span> check<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> <span class="kw3">Button</span> clear<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> TextView t<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> EditText station<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> EditText heure<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> EditText minute<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> TableLayout table<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> <span class="kw4">int</span> mHeure<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> <span class="kw4">int</span> mMinute<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">private</span> TimePickerDialog.<span class="me1">OnTimeSetListener</span> mTimeSetListener<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">final</span> <span class="kw3">Calendar</span> c = <span class="kw3">Calendar</span>.<span class="me1">getInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; @Override</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> onCreate<span class="br0">&#40;</span>Bundle savedInstanceState<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">super</span>.<span class="me1">onCreate</span><span class="br0">&#40;</span>savedInstanceState<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; setContentView<span class="br0">&#40;</span>R.<span class="me1">layout</span>.<span class="me1">main</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//Recuperation des champs</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; table = <span class="br0">&#40;</span>TableLayout<span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">maTable</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; station = <span class="br0">&#40;</span>EditText<span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">idStation</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; heure = <span class="br0">&#40;</span>EditText<span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">heure</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; minute = <span class="br0">&#40;</span>EditText<span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">minute</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;check=<span class="br0">&#40;</span><span class="kw3">Button</span><span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">check</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;clear=<span class="br0">&#40;</span><span class="kw3">Button</span><span class="br0">&#41;</span>findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">clear</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; t =<span class="br0">&#40;</span>TextView<span class="br0">&#41;</span> findViewById<span class="br0">&#40;</span>R.<span class="me1">id</span>.<span class="me1">information</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//Texte par défaut</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mHeure = c.<span class="me1">get</span><span class="br0">&#40;</span><span class="kw3">Calendar</span>.<span class="me1">HOUR_OF_DAY</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mMinute = c.<span class="me1">get</span><span class="br0">&#40;</span><span class="kw3">Calendar</span>.<span class="me1">MINUTE</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; t.<span class="me1">setText</span><span class="br0">&#40;</span><span class="st0">&quot;Entrez les informations demandées&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; station.<span class="me1">setText</span><span class="br0">&#40;</span><span class="st0">&quot;75&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mTimeSetListener = <span class="kw2">new</span> TimePickerDialog.<span class="me1">OnTimeSetListener</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">public</span> <span class="kw4">void</span> onTimeSet<span class="br0">&#40;</span>TimePicker view, <span class="kw4">int</span> hourOfDay, <span class="kw4">int</span> minute<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mHeure = hourOfDay<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mMinute = minute<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;updateTime<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; updateTime<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; check.<span class="me1">setOnClickListener</span><span class="br0">&#40;</span><span class="kw2">new</span> OnClickListener<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">public</span> <span class="kw4">void</span> onClick<span class="br0">&#40;</span><span class="kw3">View</span> v<span class="br0">&#41;</span> <span class="br0">&#123;</span>startResearch<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; clear.<span class="me1">setOnClickListener</span><span class="br0">&#40;</span><span class="kw2">new</span> OnClickListener<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">public</span> <span class="kw4">void</span> onClick<span class="br0">&#40;</span><span class="kw3">View</span> v<span class="br0">&#41;</span> <span class="br0">&#123;</span>clearResearch<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; heure.<span class="me1">setOnFocusChangeListener</span><span class="br0">&#40;</span><span class="kw2">new</span> OnFocusChangeListener<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">public</span> <span class="kw4">void</span> onFocusChange<span class="br0">&#40;</span><span class="kw3">View</span> v, <span class="kw4">boolean</span> hasFocus<span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>hasFocus<span class="br0">&#41;</span>showDialog<span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; minute.<span class="me1">setOnFocusChangeListener</span><span class="br0">&#40;</span><span class="kw2">new</span> OnFocusChangeListener<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">public</span> <span class="kw4">void</span> onFocusChange<span class="br0">&#40;</span><span class="kw3">View</span> v, <span class="kw4">boolean</span> hasFocus<span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>hasFocus<span class="br0">&#41;</span>showDialog<span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> clearResearch<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;table.<span class="me1">removeAllViews</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> startResearch<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;t.<span class="me1">setText</span><span class="br0">&#40;</span><span class="st0">&quot;Recherche en cours&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; HttpGet site &nbsp; = <span class="kw2">new</span> HttpGet<span class="br0">&#40;</span><span class="st0">&quot;http://tr.cts-strasbourg.fr/HorTRweb/ResultatsHoraires.aspx?arret=&quot;</span>+station.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="st0">&quot;&amp;type=TOUS&amp;heure=&quot;</span>+heure.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="st0">&quot;&amp;min=&quot;</span>+minute.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; HttpClient cli = <span class="kw2">new</span> DefaultHttpClient<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; HttpResponse resp<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">String</span> res<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">String</span> content=<span class="kw2">new</span> <span class="kw3">String</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">String</span> ret = <span class="kw2">new</span> <span class="kw3">String</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">boolean</span> dTab=<span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">try</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;resp = cli.<span class="me1">execute</span><span class="br0">&#40;</span>site<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">BufferedReader</span> read = <span class="kw2">new</span> <span class="kw3">BufferedReader</span><span class="br0">&#40;</span><span class="kw2">new</span> <span class="kw3">InputStreamReader</span><span class="br0">&#40;</span>resp.<span class="me1">getEntity</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">getContent</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">while</span><span class="br0">&#40;</span><span class="br0">&#40;</span>res=read.<span class="me1">readLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">!</span>=<span class="kw2">null</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>res.<span class="me1">matches</span><span class="br0">&#40;</span><span class="st0">&quot;.*&lt;table class=.depart.*&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>dTab=<span class="kw2">true</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>dTab==true<span class="sy0">&amp;&amp;</span>res.<span class="me1">matches</span><span class="br0">&#40;</span><span class="st0">&quot;.*&lt;/table&gt;.*&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>dTab=<span class="kw2">false</span><span class="sy0">;</span>break<span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>dTab==<span class="kw2">true</span><span class="br0">&#41;</span><span class="br0">&#123;</span>content+=res<span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Pattern p = Pattern.<span class="me1">compile</span><span class="br0">&#40;</span><span class="st0">&quot;&lt;td[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;&lt;td[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;&lt;td[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Matcher m = p.<span class="me1">matcher</span><span class="br0">&#40;</span>content<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">while</span><span class="br0">&#40;</span>m.<span class="me1">find</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">1</span><span class="sy0">;</span>i<span class="sy0">&lt;</span>=m.<span class="me1">groupCount</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>i++<span class="br0">&#41;</span><span class="br0">&#123;</span>ret+=m.<span class="me1">group</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>+<span class="st0">&quot; &quot;</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; table.<span class="me1">addView</span><span class="br0">&#40;</span>addTextRow<span class="br0">&#40;</span>ret<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ret=<span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">catch</span> <span class="br0">&#40;</span>ClientProtocolException e<span class="br0">&#41;</span> <span class="br0">&#123;</span>t.<span class="me1">setText</span><span class="br0">&#40;</span>e.<span class="me1">getMessage</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">catch</span> <span class="br0">&#40;</span><span class="kw3">IOException</span> e<span class="br0">&#41;</span> <span class="br0">&#123;</span>t.<span class="me1">setText</span><span class="br0">&#40;</span>e.<span class="me1">getMessage</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">finally</span><span class="br0">&#123;</span>t.<span class="me1">setText</span><span class="br0">&#40;</span><span class="st0">&quot;Recherche terminé&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> TableRow addTextRow<span class="br0">&#40;</span><span class="kw3">String</span> text<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;TableRow tr = <span class="kw2">new</span> TableRow<span class="br0">&#40;</span><span class="kw2">this</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; TextView tt = <span class="kw2">new</span> TextView<span class="br0">&#40;</span><span class="kw2">this</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; tt.<span class="me1">setText</span><span class="br0">&#40;</span>text<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; tr.<span class="me1">addView</span><span class="br0">&#40;</span>tt<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">return</span> tr<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; @Override</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw3">Dialog</span> onCreateDialog<span class="br0">&#40;</span><span class="kw4">int</span> id<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">switch</span> <span class="br0">&#40;</span>id<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="nu0">0</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">return</span> <span class="kw2">new</span> TimePickerDialog<span class="br0">&#40;</span><span class="kw2">this</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mTimeSetListener, mHeure, mMinute, <span class="kw2">false</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> updateTime<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">String</span> add=<span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; heure.<span class="me1">setText</span><span class="br0">&#40;</span>mHeure+<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>mMinute<span class="sy0">&lt;</span><span class="nu0">10</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;add=<span class="st0">&quot;0&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; minute.<span class="me1">setText</span><span class="br0">&#40;</span>add+mMinute<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Puis le main.xml (qui définit l&#8217;interface graphique)</p>
<div class="geshi no xml">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;utf-8&quot;</span><span class="re2">?&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;LinearLayout</span> <span class="re0">xmlns:android</span>=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:orientation</span>=<span class="st0">&quot;vertical&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;fill_parent&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;fill_parent&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;TextView</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;fill_parent&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/information&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:text</span>=<span class="st0">&quot;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;LinearLayout</span> <span class="re0">xmlns:android</span>=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:orientation</span>=<span class="st0">&quot;horizontal&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TextView</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:text</span>=<span class="st0">&quot;Code de la station : &quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;EditText</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/idStation&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:text</span>=<span class="st0">&quot;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/LinearLayout<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;LinearLayout</span> <span class="re0">xmlns:android</span>=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:orientation</span>=<span class="st0">&quot;horizontal&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TextView</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:text</span>=<span class="st0">&quot;Heure voulue : &quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;EditText</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/heure&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;TextView</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:text</span>=<span class="st0">&quot;h&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;EditText</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/minute&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/LinearLayout<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;LinearLayout</span> <span class="re0">xmlns:android</span>=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:orientation</span>=<span class="st0">&quot;horizontal&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;Button</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:text</span>=<span class="st0">&quot;Check&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/check&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;Button</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_width</span>=<span class="st0">&quot;wrap_content&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:text</span>=<span class="st0">&quot;Clear&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/clear&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/LinearLayout<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;TableLayout</span> <span class="re0">xmlns:android</span>=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:id</span>=<span class="st0">&quot;@+id/maTable&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_width</span>=<span class="st0">&quot;fill_parent&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">android:layout_height</span>=<span class="st0">&quot;wrap_content&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/TableLayout<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/LinearLayout<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>et enfin le Manifest.xml (pour ne pas oublier les permissions d&#8217;accès au net)</p>
<div class="geshi no java">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;?</span>xml version=<span class="st0">&quot;1.0&quot;</span> encoding=<span class="st0">&quot;utf-8&quot;</span><span class="sy0">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>manifest xmlns:android=<span class="st0">&quot;http://schemas.android.com/apk/res/android&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">package</span>=<span class="st0">&quot;eu.gaetangrigis.cts&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; android:versionCode=<span class="st0">&quot;1&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; android:versionName=<span class="st0">&quot;1.0&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>application android:icon=<span class="st0">&quot;@drawable/icon&quot;</span> android:label=<span class="st0">&quot;@string/app_name&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>activity android:name=<span class="st0">&quot;.Main&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:label=<span class="st0">&quot;@string/app_name&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>intent-filter<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>action android:name=<span class="st0">&quot;android.intent.action.MAIN&quot;</span> /<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>category android:name=<span class="st0">&quot;android.intent.category.LAUNCHER&quot;</span> /<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>/intent-filter<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>/activity<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>/application<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>uses-sdk android:minSdkVersion=<span class="st0">&quot;4&quot;</span> /<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>uses-permission android:name=<span class="st0">&quot;android.permission.INTERNET&quot;</span> /<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>/manifest<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=632">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/programmation/java/application-android-pour-les-horaires-de-trambus-grenoblois-tagsemitag/" rel="bookmark" title="Permanent Link: Application android pour les horaires de tram/bus grenoblois (Tag/SemiTag)">Application android pour les horaires de tram/bus grenoblois (Tag/SemiTag)</a></li><li><a href="http://blog.gaetan-grigis.eu/non-classe/un-peu-davancement-dans-lapplication-android-de-la-cts/" rel="bookmark" title="Permanent Link: Un peu d&#8217;avancement dans l&#8217;application Android de la CTS &#8230;">Un peu d&#8217;avancement dans l&#8217;application Android de la CTS &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/android/application-android-pour-le-telechargement-des-versions-de-cyanogen/" rel="bookmark" title="Permanent Link: Application android pour le téléchargement des versions de Cyanogen">Application android pour le téléchargement des versions de Cyanogen</a></li><li><a href="http://blog.gaetan-grigis.eu/android/android-application-de-controle-a-distancebackupinfo/" rel="bookmark" title="Permanent Link: [Android] application de contrôle à distance/backup/info">[Android] application de contrôle à distance/backup/info</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/android-c2dm-notification-push-en-bash-avec-wget/" rel="bookmark" title="Permanent Link: Android C2DM Notification push en bash avec wget">Android C2DM Notification push en bash avec wget</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/programmation/mon-application-android-pour-les-horaires-de-la-cts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Netbeans 6.1 PHP et Cpp</title>
		<link>http://blog.gaetan-grigis.eu/programmation/ide-programmation/netbeans-61-php-et-cpp/</link>
		<comments>http://blog.gaetan-grigis.eu/programmation/ide-programmation/netbeans-61-php-et-cpp/#comments</comments>
		<pubDate>Sat, 17 May 2008 13:40:40 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://www.php-engineering.info/blog-php/?p=11</guid>
		<description><![CDATA[Héhé &#8230; j&#8217;ai trouvé suite à l&#8217;un de mes précédent post comment installer proprement le plugin C++ sur un Early Access &#8230; c&#8217;est un tous petit peu plus propre &#8230; Il suffit de rajouter cette url de mise à jour et de choisir le plugins C++ Et on peut aussi rajouter les autres histoire d&#8217;avoir [...]]]></description>
			<content:encoded><![CDATA[<p>Héhé &#8230; j&#8217;ai trouvé suite à l&#8217;un de mes précédent post comment installer proprement le plugin C++ sur un Early Access &#8230; c&#8217;est un tous petit peu plus propre &#8230;</p>
<p>Il suffit de rajouter cette <a href="http://updates.netbeans.org/netbeans/updates/6.1/uc/final/stable/catalog.xml.gz">url</a> de mise à jour et de choisir le plugins C++</p>
<p>Et on peut aussi rajouter les autres histoire d&#8217;avoir un truc complet :</p>
<p><a href="http://updates.netbeans.org/netbeans/updates/6.1/uc/final/beta/catalog.xml.gz">Lien 1</a> <a href="http://plugins.netbeans.org/nbpluginportal/updates/6.1/catalog.xml.gz">Lien2</a> <a href="http://updates.netbeans.org/netbeans/updates/6.1/uc/final/thirdparty/catalog.xml.gz  ">Lien3</a></p>
<p>Je trouve dommage d&#8217;avoir séparé la version PHP du reste de l&#8217;IDE car en plus, l&#8217;ensemble des plugins proposés dans la Early Acess ne sont pas dispo, même dans la version Full &#8230; d&#8217;où l&#8217;expression alsacienne être &laquo;&nbsp;Full&nbsp;&raquo; (ne pas confondre pas avec le mot anglais ^^), à noter que l&#8217;alsacien ne s&#8217;écrivant pas &#8230; je sais pas comment ça s&#8217;écrit :d &#8230;</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=11">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/programmation/java/javafx-quelque-liens-utile/" rel="bookmark" title="Permanent Link: JavaFX &#8230; quelque liens utile">JavaFX &#8230; quelque liens utile</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/ide-programmation/ide-cqt4-edyuk/" rel="bookmark" title="Permanent Link: IDE C++/QT4 edyuk">IDE C++/QT4 edyuk</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/jouer-avec-javafx-json-http-et-jiwa/" rel="bookmark" title="Permanent Link: Jouer avec JavaFX, JSON, HTTP et Jiwa">Jouer avec JavaFX, JSON, HTTP et Jiwa</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/programmation/ide-programmation/netbeans-61-php-et-cpp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaFX &#8230; quelque liens utile</title>
		<link>http://blog.gaetan-grigis.eu/programmation/java/javafx-quelque-liens-utile/</link>
		<comments>http://blog.gaetan-grigis.eu/programmation/java/javafx-quelque-liens-utile/#comments</comments>
		<pubDate>Fri, 16 May 2008 12:57:22 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[lien]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://www.php-engineering.info/blog-php/?p=9</guid>
		<description><![CDATA[Je ne vais pas dire que je suis fan de java &#8230; mais bon javafx a du potentiel &#8230; d&#8217;autant plus que c&#8217;est plutôt bien géré par linux &#8230; déjà mieux que flex ou encore silverlight ^^. Alors bon &#8230; quelque liens rapide : (histoire que je les ai sous la main le jour où [...]]]></description>
			<content:encoded><![CDATA[<p>Je ne vais pas dire que je suis fan de java &#8230; mais bon javafx a du potentiel &#8230; d&#8217;autant plus que c&#8217;est plutôt bien géré par linux &#8230; déjà mieux que flex ou encore silverlight ^^.</p>
<p>Alors bon &#8230; quelque liens rapide : (histoire que je les ai sous la main le jour où j&#8217;en ai besoin ^^)</p>
<p><a href="http://jfx.wikia.com/wiki/Main_Page" target="_blank">Le Wiki</a></p>
<p><a href="http://java.sun.com/javafx/index.jsp" target="_blank">La page de résumé</a></p>
<p><a href="https://openjfx.dev.java.net/servlets/ProjectDocumentList" target="_blank">L&#8217;adresse de la doc</a></p>
<p>Le <a href="http://javafx.netbeans.org/index.html" target="_blank">plugin de dev</a> de javafx pour netbeans</p>
<p>La page de l&#8217;<a href="https://openjfx.dev.java.net/nonav/api/index.html" target="_blank">API</a></p>
<p>&#8230; A partir de la &#8230; on peut déjà faire pas mal. (rien qu&#8217;avec la doc de l&#8217;api&#8230;)</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=9">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/syn-flooding-optimisation-php/" rel="bookmark" title="Permanent Link: Syn Flooding, optimisation PHP, &#8230;">Syn Flooding, optimisation PHP, &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/youtubefx-jnlp/" rel="bookmark" title="Permanent Link: Youtube et JavaFX via MediaView">Youtube et JavaFX via MediaView</a></li><li><a href="http://blog.gaetan-grigis.eu/non-classe/les-liens-du-we/" rel="bookmark" title="Permanent Link: Les liens du WE">Les liens du WE</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/jouer-avec-javafx-json-http-et-jiwa/" rel="bookmark" title="Permanent Link: Jouer avec JavaFX, JSON, HTTP et Jiwa">Jouer avec JavaFX, JSON, HTTP et Jiwa</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/programmation/java/javafx-quelque-liens-utile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

