<?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; cts</title>
	<atom:link href="http://blog.gaetan-grigis.eu/tag/cts/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>Un peu d&#8217;avancement dans l&#8217;application Android de la CTS &#8230;</title>
		<link>http://blog.gaetan-grigis.eu/non-classe/un-peu-davancement-dans-lapplication-android-de-la-cts/</link>
		<comments>http://blog.gaetan-grigis.eu/non-classe/un-peu-davancement-dans-lapplication-android-de-la-cts/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 20:07:24 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[cts]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=668</guid>
		<description><![CDATA[Bijour &#8230; Voilà &#8230; j&#8217;ai un tout petit peu avancé dans mon application android (toujours aussi moche ^^) mais beaucoup plus fonctionnelle. L&#8217;affichage par défaut : Si l&#8217;on recherche directement une station (qui retourne un seul code), on affiche directement les horaires : Si l&#8217;on recherche une station approximativement (qui retourne plusieurs codes), on affiche [...]]]></description>
			<content:encoded><![CDATA[<p>Bijour &#8230;</p>
<p>Voilà &#8230; j&#8217;ai un tout petit peu avancé dans mon application android (toujours aussi moche ^^) mais beaucoup plus fonctionnelle.</p>
<p>L&#8217;affichage par défaut :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/defaut.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/defaut.png" alt="" title="defaut" width="319" height="263" class="aligncenter size-full wp-image-669" /></a></p>
<p>Si l&#8217;on recherche directement une station (qui retourne un seul code), on affiche directement les horaires :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recup-code-1.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recup-code-1.png" alt="" title="recup-code-1" width="320" height="475" class="aligncenter size-full wp-image-670" /></a></p>
<p>Si l&#8217;on recherche une station approximativement (qui retourne plusieurs codes), on affiche les différents codes :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recuperation-code.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recuperation-code.png" alt="" title="recuperation-code" width="320" height="450" class="aligncenter size-full wp-image-671" /></a></p>
<p>Une fois le code récupéré, on le saisie dans le champ &laquo;&nbsp;code station&nbsp;&raquo; et on &laquo;&nbsp;Check&nbsp;&raquo; pour récupérer les horaires :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recup-par-code.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/recup-par-code.png" alt="" title="recup-par-code" width="319" height="341" class="aligncenter size-full wp-image-672" /></a></p>
<p>Et voilà &#8230; c&#8217;est moche mais fonctionnel &#8230; le <a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/02/CTS.apk">APK à télécharger</a> pour profiter de l&#8217;application.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=668">
                                    <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/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</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><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/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/android/compiler-cyanogen-android-froyo-sur-ubuntu/" rel="bookmark" title="Permanent Link: Compiler Cyanogen (android froyo) sur Ubuntu">Compiler Cyanogen (android froyo) sur Ubuntu</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/non-classe/un-peu-davancement-dans-lapplication-android-de-la-cts/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>
	</channel>
</rss>

