<?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>BunjiX</title>
	<atom:link href="http://bunjix.fr/feed" rel="self" type="application/rss+xml" />
	<link>http://bunjix.fr</link>
	<description>Expert Mobile - Android, iPhone, Windows Mobile</description>
	<lastBuildDate>Mon, 11 Jan 2010 09:53:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutoriel &#124; Faire vibrer le téléphone et lire mp3 au moment du reveil</title>
		<link>http://bunjix.fr/tutoriel-faire-vibrer-le-telephone-et-lire-mp3-au-moment-du-reveil/301</link>
		<comments>http://bunjix.fr/tutoriel-faire-vibrer-le-telephone-et-lire-mp3-au-moment-du-reveil/301#comments</comments>
		<pubDate>Thu, 07 Jan 2010 09:45:57 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=301</guid>
		<description><![CDATA[On m&#8217;a demandé il y a quelque temps de faire un complement du tutoriel sur le développement d&#8217;un réveil. Dans ce tutoriel j&#8217;expliquais comment créer un réveil à une heure voulue. Le manque était qu&#8217;au réveil, il y avait juste un message qui s&#8217;affichait (c&#8217;était juste pour illustrer le tutoriel).
On va donc maintenant voir en [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180' rel='bookmark' title='Permanent Link: Développez votre propre réveil pour android'>Développez votre propre réveil pour android</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>On m&#8217;a demandé il y a quelque temps de faire un complement du tutoriel sur <a href="http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180">le développement d&#8217;un réveil</a>. Dans ce tutoriel j&#8217;expliquais comment créer un réveil à une heure voulue. Le manque était qu&#8217;au réveil, il y avait juste un message qui s&#8217;affichait (c&#8217;était juste pour illustrer le tutoriel).</p>
<p>On va donc maintenant voir en deux parties comment ajouter des vibrations et du son.</p>
<h2>Vibrations</h2>
<h4>Code</h4>
<p>Pour ajouter des vibrations lors du reveil il faut ajouter ce morceau de code (toujours dans la <em><span style="font-style: normal;">méthode </span><a href="http://developer.android.com/reference/android/content/BroadcastReceiver.html#onReceive(android.content.Context, android.content.Intent)">onReceive</a></em>):</p>
<pre class="brush: java;">
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
//vibre pendant 1 seconde, puis attend 1/2 secondes avant de recommencer.
vibrator.vibrate(new long[]{0,1000,500,1000,2000}, -1);
// ou vibre pendant 2 secondes.
//vibrator.vibrate(2000);
</pre>
<h4>Explication</h4>
<ol>
<li>On récupère une instance du service <a href="http://developer.android.com/reference/android/os/Vibrator.html">Vibrator</a>.</li>
<li>Pour faire vibrer le smartphone, il existe plusieurs surcharges de la méthode vibrate:
<ol>
<li>Faire vibrer pendant x secondes : vibrator.vibrate(x*1000); <a href="http://developer.android.com/reference/android/os/Vibrator.html#vibrate(long)">lien vers la doc</a>.</li>
<li>Faire vibrer en suivant un pattern : vibrator.vibrate(new long[]{0,1000,500,1000,2000}, -1); <a href="http://developer.android.com/reference/android/os/Vibrator.html#vibrate(long[], int)">lien vers la doc</a>
<ol>
<li>Ici on fait vibrer de 0 à 1 seconde, puis une pause d&#8217;1/2 seconde, puis on recommence pendant 1 seconde.</li>
<li>Le second paramètre correspond au nombre de fois que l&#8217;on doit répéter la séquence (-1 pour ne pas répéter).</li>
</ol>
</li>
</ol>
</li>
</ol>
<h2>Son</h2>
<h4>Code</h4>
<p>Pour ajouter un son il faut déjà ajouter dans le répertoire res/raw (ou créer ce repertoire si il n&#8217;existe pas encore)  le fichier son que vous voulez lire. Ensuite, ajouter le code (toujours dans la méthode onRecive):</p>
<pre class="brush: java;">

final MediaPlayer mp = MediaPlayer.create(context, R.raw.fichier_son);
mp.start();
Handler h = new Handler(){
	@Override
	public void handleMessage(Message msg) {
		if(msg.what==0){
			mp.stop();
		}
		super.handleMessage(msg);
	}
};
Message m = new Message();
m.what = 0;
h.sendMessageDelayed(m, 10000);
</pre>
<h4>Explication</h4>
<ol>
<li>On commence par créer un objet <a href="http://developer.android.com/reference/android/media/MediaPlayer.html">MediaPlayer</a> à partir du context et du fichier de resource.</li>
<li>Puis on lance le son avec la méthode start();</li>
<li>Pour aller plus loin, j&#8217;ai ajouté un handler qui permet de stopper la lecture après 10 secondes en utilisant un <a href="http://developer.android.com/reference/android/os/Handler.html">Handler</a>.</li>
</ol>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180' rel='bookmark' title='Permanent Link: Développez votre propre réveil pour android'>Développez votre propre réveil pour android</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/tutoriel-faire-vibrer-le-telephone-et-lire-mp3-au-moment-du-reveil/301/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JewCal, date et fêtes juives sur votre Android</title>
		<link>http://bunjix.fr/jewcal-date-et-fetes-juives-sur-votre-android/225</link>
		<comments>http://bunjix.fr/jewcal-date-et-fetes-juives-sur-votre-android/225#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:31:55 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Réalisations]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Judaïsme]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=225</guid>
		<description><![CDATA[
En ce début de semaine je vous présente ma nouvelle application Android : &#171;&#160;JewCal&#160;&#187;.
Cette application se décompose en 2 onglets :
Le premier permet de convertir les dates du calendrier géorgien au format hébraïque. De plus, vous y trouverez les informations essentielles à toute personne pratiquant la religion, à savoir  la prochaine fête à venir (ou [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bunjix.fr/wp-content/uploads/2009/12/icon.png"><img class="size-full wp-image-226" title="icon" src="http://bunjix.fr/wp-content/uploads/2009/12/icon.png" alt="" width="48" height="48" /></a><br />
En ce début de semaine je vous présente ma nouvelle application Android : &laquo;&nbsp;JewCal&nbsp;&raquo;.<br />
Cette application se décompose en 2 onglets :</p>
<p>Le premier permet de convertir les dates du calendrier géorgien au format hébraïque. De plus, vous y trouverez les informations essentielles à toute personne pratiquant la religion, à savoir  la prochaine fête à venir (ou celle en cours), ainsi que le nom de la paracha de la semaine.</p>
<p>Sur un second onglet, vous pourez consulter la liste des dates des fêtes juive de chaque année.</p>
<p>D&#8217;autres fonctionnalités sont à venir comme par exemple les horaires de début, fin et allumage des bougies de shabat et les descriptifs de fêtes.</p>
[[Show as slideshow]]
<p>Je suis ouvert à toute proposition et suggestion pour améliorer et completer cette application.</p>
]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/jewcal-date-et-fetes-juives-sur-votre-android/225/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pixojob sur Android</title>
		<link>http://bunjix.fr/pixojob-sur-android/199</link>
		<comments>http://bunjix.fr/pixojob-sur-android/199#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:35:29 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Réalisations]]></category>
		<category><![CDATA[Pixojob]]></category>
		<category><![CDATA[Recrutement]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=199</guid>
		<description><![CDATA[PIXOJOB, est le spécialiste français du recrutement informatique spécialisé dans l'internet et le multimédia.
L'application pour Android de PIXOJOB, est une illustration de la volonté du cabinet d'être présent sur tous les canaux de pointe.


Dans le même style ::<ol><li><a href='http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78' rel='bookmark' title='Permanent Link: Nouvelle version 2.1 de l&#8217;application SerieTV'>Nouvelle version 2.1 de l&#8217;application SerieTV</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Il y a quelques jours, <strong><a style="color: #e39311;" title="Pixojob - Cabinet de recrutement informatique spécialisé dans l'internet et le multimedia" href="http://pixojob.com">PIXO</a><a style="color: #003366;" title="Pixojob - Cabinet de recrutement informatique spécialisé dans l'internet et le multimedia" href="http://pixojob.com">JOB</a></strong> (le cabinet de recrutement informatique spécialisé dans l&#8217;internet et le multimédia) s&#8217;est offert une<a title="Pixojob en Application iPhone" href="http://blog.pixojob.com/pixojob-application/"> belle application iPhone</a> à leurs couleurs.</p>
<p>Aujourd&#8217;hui, <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong> montre encore sa volonté d&#8217;être présent sur tous les fronts et sort son <a title="Pixojob en application Android" href="http://blog.pixojob.com/pixojob-en-application-android/">application </a><strong><a title="Pixojob en application Android" href="http://blog.pixojob.com/pixojob-en-application-android/">Android</a></strong>.</p>
<p>Egalement avec un design aux couleurs de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong>, l&#8217;application pour <strong>Android </strong>est <strong>gratuite </strong>et vous permettra :</p>
<ul>
<li>l&#8217;accès au <a title="Blog de Pixojob" href="http://blog.pixojob.com/">blog</a> de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong>,</li>
<li>l&#8217;accès à toutes <a title="Les offres d'emploi de pixojob" href="http://www.pixojob.com/offres-emploi-pixojob">les offres</a> de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong>,</li>
<li>l&#8217;accès aux derniers médias (podcast, vidéo, galeries photos),</li>
<li>de lire les derniers tweets de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong> (si ce n&#8217;est pas encore le cas, suivez nous sur twitter : <a title="@Pixojob sur Twitter" href="http://twitter.com/pixojob">@pixojob</a>),</li>
<li>de contacter les professionnels du recrutement de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong></li>
</ul>
[[Show as slideshow]]
<p>Pour suivre toute l&#8217;actualité <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong> où que vous soyez, télécharger l&#8217;application <strong>Android </strong>de <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong> disponible sur l&#8217;<a title="Télécharger Pixojob sur Android Market" href="http://market.android.com/search?q=pname:com.bunjix.apps.Pixojob">android market</a> et l&#8217;<a title="AppsLib pour les utilisateurs d'Archos" href="http://appslib.com">appslib</a> (on pense à tout le monde) ou en prennant en photo le QR code suivant :</p>
<div id="attachment_206" class="wp-caption aligncenter" style="width: 225px"><a href="http://bunjix.fr/wp-content/uploads/2009/12/qrcode.png"><img class="size-full wp-image-206" title="Télécharger Pixojob depuis l'Android Market" src="http://bunjix.fr/wp-content/uploads/2009/12/qrcode.png" alt="Télécharger Pixojob depuis l'Android Market" width="215" height="215" /></a><p class="wp-caption-text">Télécharger Pixojob depuis l&#39;Android Market</p></div>
<p>Suivez  <strong><span style="color: #e39311;">PIXO</span><span style="color: #003366;">JOB</span></strong> sur :</p>
<ul>
<li><a title="Suivez @pixojob sur Twitter" href="http://twitter.com/pixojob">Twitter</a></li>
<li><a title="La page Facebook de pixojob" href="http://www.facebook.com/home.php#/group.php?gid=13212950677&amp;ref=ts">Facebook</a></li>
<li><a title="Viadeo" href="http://www.viadeo.com/recherche/profil/index.jsp?memberId=0021fpfh1jrj998p&amp;distance=1&amp;queryString=pixojob">Viadeo</a></li>
<li><a title="Le site web de pixojob" href="http://pixojob.com">Web</a></li>
<li><a title="Depuis l'application iPhone de Pixojob" href="http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/browserRedirect?url=itms%253A%252F%252Fax.itunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D339503398%2526mt%253D8%2526partnerId%253D30%2526siteID%253DDARO91t1GGA-lSdcVZqcgmO0Ig96si477A">iPhone</a></li>
<li><a title="En telechageant l'application Android de Pixojob" href="http://market.android.com/search?q=pname:com.bunjix.apps.Pixojob">Android</a></li>
</ul>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78' rel='bookmark' title='Permanent Link: Nouvelle version 2.1 de l&#8217;application SerieTV'>Nouvelle version 2.1 de l&#8217;application SerieTV</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/pixojob-sur-android/199/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Développez un splash screen pour vos applications Android</title>
		<link>http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193</link>
		<comments>http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:22:05 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[android-france]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=193</guid>
		<description><![CDATA[Voici un troisième tutoriel de développement Android et le deuxième à la demande d&#8217; Android-France (voir le précedent)
Ce tutoriel concerne l&#8217;implementation d&#8217;un splash screen. Un splash screen est un écran que l’on place au lancement de l’application et qui dans la plupart des cas permet de faire des traitements de type chargement de donnée, ou [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180' rel='bookmark' title='Permanent Link: Développez votre propre réveil pour android'>Développez votre propre réveil pour android</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Voici un troisième tutoriel de développement Android et le deuxième à la demande d&#8217; <a title="Android-France" href="http://android-france.fr/">Android-France</a> (<a title="Développez votre réveil - Tutoriel #2" href="http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/">voir le précedent</a>)</p>
<p>Ce tutoriel concerne l&#8217;implementation d&#8217;un splash screen. Un splash screen est un écran que l’on place au lancement de l’application et qui dans la plupart des cas permet de faire des traitements de type chargement de donnée, ou tout simplement affichage tel que le nom de l’éditeur avec son logo etc.</p>
<p>Bref, pour le tutoriel, cela se passe sur <a title="Tutoriel Android -Développez un splash screen pour vos applications" href="http://android-france.fr/2009/11/30/developpez-un-splash-screen-pour-vos-applications/">android-france</a>.</p>
<p>Si vous aussi vous voulez proposer un tutoriel ou une idée de tutoriel, n&#8217;hésitez pas à remplir le petit formulaire sur la droite.</p>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180' rel='bookmark' title='Permanent Link: Développez votre propre réveil pour android'>Développez votre propre réveil pour android</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invitation Google Wave</title>
		<link>http://bunjix.fr/invitation-google-wave/184</link>
		<comments>http://bunjix.fr/invitation-google-wave/184#comments</comments>
		<pubDate>Thu, 26 Nov 2009 12:53:48 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Google Wave]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=184</guid>
		<description><![CDATA[Je vous propose de gagner des invitations google wave. Pour cela, c&#8217;est simple, il vous suffit de trouver quelque part sur mon blog l&#8217;image cachée.
Cette image à trouver, la voici
Lorsque vous trouvez l&#8217;image, envoyez moi un mail me spécifiant l&#8217;emplacement de l&#8217;image. Je vous enverrai l&#8217;invitation dans la foulée. Il y a 10 invitations à gagner.
]]></description>
			<content:encoded><![CDATA[<p>Je vous propose de gagner des invitations google wave. Pour cela, c&#8217;est simple, il vous suffit de trouver quelque part sur mon blog l&#8217;image cachée.</p>
<p>Cette image à trouver, la voici</p>
<div id="attachment_118" class="wp-caption aligncenter" style="width: 135px"><img class="size-full wp-image-118" title="Image à trouver" src="http://bunjix.fr/wp-content/uploads/2009/10/bunjix-pub-125-125.png" alt="Ici, cela ne compte pas." width="125" height="125" /><p class="wp-caption-text">Ici, cela ne compte pas.</p></div>
<p>Lorsque vous trouvez l&#8217;image, envoyez moi un <a title="Vous avez trouvez l'invitation Google wave?" href="mailto:contact@bunjix.fr">mail</a> me spécifiant l&#8217;emplacement de l&#8217;image. Je vous enverrai l&#8217;invitation dans la foulée. Il y a 10 invitations à gagner.</p>
]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/invitation-google-wave/184/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Développez votre propre réveil pour android</title>
		<link>http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180</link>
		<comments>http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180#comments</comments>
		<pubDate>Thu, 26 Nov 2009 09:08:37 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[android-france]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=180</guid>
		<description><![CDATA[J&#8217;ai été invité par Android-France à rédiger le tutoriel Android que voici.
Le tutoriel ci dessous permet d&#8217;avoir un aperçu vraiment global du service de gestion d&#8217;alarme d&#8217;Android, l &#8216;AlarmManager.
Dans ce tutoriel vous retrouverez donc des utilisations des classes et interfaces suivantes :

AlarmManager : Classe qui donne accès au service d&#8217;alarme du systeme. Permet de programmer [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193' rel='bookmark' title='Permanent Link: Développez un splash screen pour vos applications Android'>Développez un splash screen pour vos applications Android</a></li>
<li><a href='http://bunjix.fr/tutoriel-faire-vibrer-le-telephone-et-lire-mp3-au-moment-du-reveil/301' rel='bookmark' title='Permanent Link: Tutoriel | Faire vibrer le téléphone et lire mp3 au moment du reveil'>Tutoriel | Faire vibrer le téléphone et lire mp3 au moment du reveil</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai été invité par <a title="Android-France" href="http://android-france.fr">Android-France</a> à rédiger le tutoriel Android que voici.</p>
<p>Le tutoriel ci dessous permet d&#8217;avoir un aperçu vraiment global du service de gestion d&#8217;alarme d&#8217;Android, l &#8216;<a title="AlarmManager" href="http://developer.android.com/reference/android/app/AlarmManager.html">AlarmManager</a>.</p>
<p>Dans ce tutoriel vous retrouverez donc des utilisations des classes et interfaces suivantes :</p>
<ul>
<li><a title="AlarmManager - Android Developer" href="http://developer.android.com/reference/android/app/AlarmManager.html">AlarmManager</a> : Classe qui donne accès au service d&#8217;alarme du systeme. Permet de programmer l&#8217;éxécution d&#8217;un code à un moment précis.</li>
<li><a title="BroadcastReceiver - Android Developer" href="http://developer.android.com/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a> : Classe qui reçois le code à exécuter après le déclenchement d&#8217;un évènement (ici au déclenchement du réveil).</li>
<li><a title="Serializable - Android Developer" href="http://developer.android.com/reference/java/io/Serializable.html">Serializable</a> : Interface qui permet de la sérialization d&#8217;un objet c&#8217;est à dire sa sauvegarde sous forme de fichier.</li>
<li><a title="TimePickerDialog - Android Developer" href="http://developer.android.com/reference/android/app/TimePickerDialog.html">TimePickerDialog</a> : Affiche un dialogue à l&#8217;utilisateur pour lui demander de saisir l&#8217;heure souhaité.</li>
<li><a title="OnTimeSetListener - Android Developer" href="http://developer.android.com/reference/android/app/TimePickerDialog.OnTimeSetListener.html">OnTimeSetListener</a> : Interface a implémenter pour décrire le code à exécuter suite à la saisie de l&#8217;heure.</li>
</ul>
<p>La fonctionnalité qui m&#8217;a vraiment plus dans ce tutoriel et qui est très utile c&#8217;est la possibilité d&#8217;ajouter du code à exécuter au démarrage du téléphone. Dans notre cas présent, pour réactiver le réveil au démarrage du téléphone.</p>
<p>Bref, pour le tutoriel, cela se passe sur <a title="Tutoriel Android - Développez votre propre réveil" href="http://android-france.fr/2009/11/26/developpez-votre-propre-reveil-alarme-avec-votre-android-phone/">android-france</a>.</p>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193' rel='bookmark' title='Permanent Link: Développez un splash screen pour vos applications Android'>Développez un splash screen pour vos applications Android</a></li>
<li><a href='http://bunjix.fr/tutoriel-faire-vibrer-le-telephone-et-lire-mp3-au-moment-du-reveil/301' rel='bookmark' title='Permanent Link: Tutoriel | Faire vibrer le téléphone et lire mp3 au moment du reveil'>Tutoriel | Faire vibrer le téléphone et lire mp3 au moment du reveil</a></li>
<li><a href='http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142' rel='bookmark' title='Permanent Link: Utiliser le chronomètre dans ses applications Android'>Utiliser le chronomètre dans ses applications Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/developpez-votre-propre-reveil-alarme-pour-smart-phone-android/180/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Utiliser le chronomètre dans ses applications Android</title>
		<link>http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142</link>
		<comments>http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142#comments</comments>
		<pubDate>Thu, 19 Nov 2009 11:03:36 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=142</guid>
		<description><![CDATA[Je commence aujourd&#8217;hui une nouvelle catégorie. Je vais tenter de poster assez fréquement des tutoriels Android sur des problématique que je rencontre moi même pour mes développements.
Pour commencer voici une implémentation du widget Chronometer. Ce widget correspond simplement à un Timer.
Voici à quoi va ressemblé le tutoriel de ce jour :


Commençons par le layout xml [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193' rel='bookmark' title='Permanent Link: Développez un splash screen pour vos applications Android'>Développez un splash screen pour vos applications Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Je commence aujourd&#8217;hui une nouvelle catégorie. Je vais tenter de poster assez fréquement des tutoriels Android sur des problématique que je rencontre moi même pour mes développements.</p>
<p>Pour commencer voici une implémentation du widget <a title="Class android.widget.Chronometer" href="http://developer.android.com/reference/android/widget/Chronometer.html" target="_blank">Chronometer</a>. Ce widget correspond simplement à un Timer.</p>
<p>Voici à quoi va ressemblé le tutoriel de ce jour :</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-159" title="Chronometre" src="http://bunjix.fr/wp-content/uploads/2009/11/chronometre.png" alt="Chronometre" width="224" height="336" /></p>
<p><span id="more-142"></span></p>
<p style="text-align: left;">Commençons par le layout xml :</p>
<p style="text-align: left;">
<pre class="brush: xml;">
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
	android:orientation=&quot;vertical&quot; android:layout_width=&quot;fill_parent&quot;
	android:layout_height=&quot;fill_parent&quot;&gt;

	&lt;Chronometer android:layout_width=&quot;wrap_content&quot;
		android:layout_height=&quot;wrap_content&quot; android:textSize=&quot;40dip&quot;
		android:layout_gravity=&quot;center_horizontal&quot; android:id=&quot;@+id/chrono&quot; /&gt;
	&lt;Button android:id=&quot;@+id/Button01&quot; android:layout_height=&quot;wrap_content&quot;
		android:text=&quot;@string/bt_start&quot; android:layout_width=&quot;fill_parent&quot;
		android:layout_marginLeft=&quot;50dip&quot; android:layout_marginRight=&quot;50dip&quot;
		android:onClick=&quot;startChrono&quot; /&gt;
	&lt;Button android:id=&quot;@+id/Button02&quot; android:layout_height=&quot;wrap_content&quot;
		android:text=&quot;@string/bt_stop&quot; android:layout_width=&quot;fill_parent&quot;
		android:layout_marginLeft=&quot;50dip&quot; android:layout_marginRight=&quot;50dip&quot;
		android:onClick=&quot;stopChrono&quot; /&gt;
	&lt;Button android:id=&quot;@+id/Button03&quot; android:layout_height=&quot;wrap_content&quot;
		android:text=&quot;@string/bt_continue&quot; android:layout_width=&quot;fill_parent&quot;
		android:layout_marginLeft=&quot;50dip&quot; android:layout_marginRight=&quot;50dip&quot;
		android:onClick=&quot;continueChrono&quot; /&gt;
	&lt;Button android:id=&quot;@+id/Button04&quot; android:layout_height=&quot;wrap_content&quot;
		android:text=&quot;@string/bt_reset&quot; android:layout_width=&quot;fill_parent&quot;
		android:layout_marginLeft=&quot;50dip&quot; android:layout_marginRight=&quot;50dip&quot;
		android:onClick=&quot;resetChrono&quot; /&gt;
&lt;/LinearLayout&gt;</pre>
<p>Nous avons donc ici 4 boutons (start, stop, continue, reset)  pour le contrôle du widget Chronometer. On peut voir dans ce code l&#8217;utilisation du paramètre</p>
<pre class="brush: plain;">
android:onClick=&quot;startChrono&quot;
</pre>
<p>(ne s&#8217;utilise qu&#8217;a partir de Android 1.6) où <em>startChrono</em> est le nom de la fonction qui va être appelé au clic sur le boutton.</p>
<p>Passons maintenant au code java de la classe principale <em>Chronometre </em>qui est une Activity:</p>
<pre class="brush: java;">
public class Chronometre extends Activity implements OnChronometerTickListener {
   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ((Chronometer)findViewById(R.id.chrono))
                .setOnChronometerTickListener(this);
    }
</pre>
<p> Notre activity implémente le listener <em>OnChronometerTickListener</em> qui se déclenche à chaque incrément du chronomètre. Voici l&#8217;implémentation de la méthode :</p>
<pre class="brush: java;">
@Override
public void onChronometerTick(Chronometer chronometer) {
	long elapsedTime = SystemClock.elapsedRealtime() - chronometer.getBase();
	int min = (int)(elapsedTime/60000);
	int sec = (int) ((elapsedTime/1000) % 60);
	String time = min&lt;10? &quot;0&quot; + min : String.valueOf(min);
	time += &quot;:&quot;;
	time += sec&lt;10? &quot;0&quot; + sec : String.valueOf(sec);
	((Chronometer)findViewById(R.id.chrono)).setText(time);
}
</pre>
<p>
Pour initialiser un chronomètre il faut lui donnée une date/heure T de départ. Nous verrons plus bas comment, mais ce qu&#8217;on voit ici c&#8217;est que pour récupérer le temps passé (et donc celui à afficher), il faut simplement soustraire la date/heure T de départ avec la date/heure T courante, ce qui s&#8217;illustre avec la ligne 3.<br />
Ensuite le reste n&#8217;est que simple traitement pour afficher le temps écoulé au format que vous voulez.</p>
<p>Dans notre interface nous avons 4 boutons pour le démarrage, l&#8217;arrêt, le reset et le continue, il faut donc implémenter les 4 actions :</p>
</p>
<p><em>startChrono</em> va initialiser le chrono à la date/heure T correspondant au temps passé depuis l&#8217;allumage du smartphone &#8211; <em>SystemClock.elapsedRealtime()</em> puis le démarrer.</p>
<pre class="brush: java;">
public void startChrono(View target) {
	((Chronometer)findViewById(R.id.chrono))
                .setBase(SystemClock.elapsedRealtime());
	((Chronometer)findViewById(R.id.chrono)).start();
}
</pre>
<p>Pour <em>stopChrono</em> et <em>continueChrono</em> pas besoin de commentaire je pense.</p>
<pre class="brush: java;">
public void stopChrono(View target) {
	((Chronometer)findViewById(R.id.chrono)).stop();
}
</pre>
<pre class="brush: java;">
public void continueChrono(View target) {
	((Chronometer)findViewById(R.id.chrono)).start();
}
</pre>
<p><em>resetChrono</em> arrete simplement le chrono, et le réinitialise.</p>
<pre class="brush: java;">
public void resetChrono(View target) {
	((Chronometer)findViewById(R.id.chrono)).stop();
	((TextView)findViewById(R.id.chrono)).setText(&quot;00:00&quot;);
	((Chronometer)findViewById(R.id.chrono))
                .setBase(SystemClock.elapsedRealtime());
}
</pre>
<p>Code complet de notre Activity :</p>
<pre class="brush: java;">
package com.bunjix.tuto.Chronometer;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Chronometer;
import android.widget.TextView;
import android.widget.Chronometer.OnChronometerTickListener;

public class Chronometre extends Activity implements OnChronometerTickListener {
   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ((Chronometer)findViewById(R.id.chrono))
                .setOnChronometerTickListener(this);
    }

	@Override
	public void onChronometerTick(Chronometer chronometer) {
		long elapsedTime = SystemClock.elapsedRealtime() - chronometer.getBase();
		int min = (int)(elapsedTime/60000);
		int sec = (int) ((elapsedTime/1000) % 60);
		String time = min&lt;10? &quot;0&quot; + min : String.valueOf(min);
		time += &quot;:&quot;;
		time += sec&lt;10? &quot;0&quot; + sec : String.valueOf(sec);
		((Chronometer)findViewById(R.id.chrono)).setText(time);
	}

	public void startChrono(View target) {
		((Chronometer)findViewById(R.id.chrono))
                        .setBase(SystemClock.elapsedRealtime());
		((Chronometer)findViewById(R.id.chrono)).start();
    }
	public void stopChrono(View target) {
		((Chronometer)findViewById(R.id.chrono)).stop();
    }
	public void continueChrono(View target) {
		((Chronometer)findViewById(R.id.chrono)).start();
    }
	public void resetChrono(View target) {
		((Chronometer)findViewById(R.id.chrono)).stop();
		((TextView)findViewById(R.id.chrono)).setText(&quot;00:00&quot;);
		((Chronometer)findViewById(R.id.chrono))
                        .setBase(SystemClock.elapsedRealtime());
    }
}
</pre>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/developpez-un-splash-screen-pour-vos-applications-android/193' rel='bookmark' title='Permanent Link: Développez un splash screen pour vos applications Android'>Développez un splash screen pour vos applications Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/utiliser-le-chronometre-dans-ses-applications-android/142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jeux de mots et chiffres</title>
		<link>http://bunjix.fr/jeux-de-mots-et-chiffres/129</link>
		<comments>http://bunjix.fr/jeux-de-mots-et-chiffres/129#comments</comments>
		<pubDate>Sun, 15 Nov 2009 20:10:39 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Réalisations]]></category>
		<category><![CDATA[Jeux]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=129</guid>
		<description><![CDATA[Depuis quelques temps, je travaille sur un projet  d&#8217;application qu&#8217;on m&#8217;a commandé. Destiné à tous les fans de jeux de mots et de chiffres, mais également à ceux qui veulent s&#8217;occupé dans les transports le matin, cette application rassemble 6 jeux : mots croisés, mots fléchés, mots codés, mots mêlés, sudoku et kakuro.
L&#8217;application est en fait une [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis quelques temps, je travaille sur un projet  d&#8217;application qu&#8217;on m&#8217;a commandé. Destiné à tous les fans de jeux de mots et de chiffres, mais également à ceux qui veulent s&#8217;occupé dans les transports le matin, cette application rassemble 6 jeux : mots croisés, mots fléchés, mots codés, mots mêlés, sudoku et kakuro.</p>
<p>L&#8217;application est en fait une extension du site internet. En effet, la société Funwords met en ligne des tas de grilles de jeux accessible à ces adresses :</p>
<p><em><a style="color: #1c51a8;" href="http://www.club-mots-croises.com/" target="_blank">www.club-mots-croises.com</a>, <a style="color: #1c51a8;" href="http://www.club-mots-fleches.com/" target="_blank">www.club-mots-fleches.com</a>, <a style="color: #1c51a8;" href="http://www.club-mots-codes.com/" target="_blank">www.club-mots-codes.com</a>, <a style="color: #1c51a8;" href="http://www.club-kakuro.com/" target="_blank">www.club-kakuro.com</a></em></p>
<p>Ce site propose à ses adhérent(e)s un nombre illimité de grilles d&#8217;entrainement pour les mots croisés, mots fléchés, mots codés, mots mêlés, sudokus et kakuros; chacun(e) peut suivre ainsi au travers de ses statistiques personnelles sa progression dans tous les niveaux de jeux;</p>
<p>Mais chacun(e) a aussi la possibilité de participer à des tournois et concours pour améliorer son classement peut même défier tout autre membre de la communauté sur une grille du jeu et du niveau de son choix : chacun des deux joueurs en relation voit la progression de son &laquo;&nbsp;adversaire&nbsp;&raquo; sur la grille jouée!</p>
<p><em> </em></p>
<p>Ce site à pour vocation de devenir la référence communautaire des jeux de mots et chiffres.</p>
<p>Comme je disais donc, en ce moment je développe l&#8217;application Android. Vous pourrez jouer vos grilles sur votre téléphone et consulter vos statistiques sur <em><a style="color: #1c51a8;" href="http://www.club-mots-croises.com/" target="_blank">www.club-mots-croises.com</a>.</em></p>
<p>Petit aperçu :</p>
[[Show as slideshow]]
]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/jeux-de-mots-et-chiffres/129/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Boursicote et SerieTV sont maintenant compatible Android 1.6 Donut</title>
		<link>http://bunjix.fr/boursicote-et-serietv-sont-maintenant-compatible-android-1-6-donut/100</link>
		<comments>http://bunjix.fr/boursicote-et-serietv-sont-maintenant-compatible-android-1-6-donut/100#comments</comments>
		<pubDate>Wed, 21 Oct 2009 14:37:54 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Android Market]]></category>
		<category><![CDATA[Boursicote]]></category>
		<category><![CDATA[SerieTV]]></category>
		<category><![CDATA[Version]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=100</guid>
		<description><![CDATA[
Je viens de mettre à jour les applications disponibles sur l&#8217;Android Market.
Avec l&#8217;arrivée des smartphones Android en version 1.6 Donut sur le marché (et la mise à jour déployée en ce moment par SFR sur les HTC Magic) de nouveaux formats d&#8217;écran sont supportés par la plateforme mobile de Google. Il est donc nécessaire de mettre [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78' rel='bookmark' title='Permanent Link: Nouvelle version 2.1 de l&#8217;application SerieTV'>Nouvelle version 2.1 de l&#8217;application SerieTV</a></li>
<li><a href='http://bunjix.fr/boursicote-devient-gratuit-android-marke/25' rel='bookmark' title='Permanent Link: Boursicote devient gratuit'>Boursicote devient gratuit</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><center><img class="size-full wp-image-101" title="Android 1.6 Donut" src="http://bunjix.fr/wp-content/uploads/2009/10/android-16-donut.jpg" alt="Android 1.6 Donut" width="500" height="319" /></center></p>
<p>Je viens de mettre à jour <a title="Application Android par Bunjix - Boursicote, SerieTV..." href="http://bunjix.fr/android/">les applications disponibles</a> sur l&#8217;Android Market.<br />
Avec l&#8217;arrivée des smartphones Android en version 1.6 Donut sur le marché (et la <a title="Déploiement d'Android 1.6 Donut sur les HTC Magic par SFR" href="http://blog.webenbank.fr/android-1-6-donut-sur-mon-htc-magic-merci-sfr">mise à jour déployée en ce moment par SFR</a> sur les HTC Magic) de nouveaux formats d&#8217;écran sont supportés par la plateforme mobile de Google. Il est donc nécessaire de mettre à jour les applications pour qu&#8217;elles soient visibles par tous sur l&#8217;Android Market.</p>
<p><a title="Boursicote, application de gestion de portefeuille boursier" href="http://bunjix.fr/boursicote">Boursicote </a>qui permet de suivre les actions boursière sur votre smartphone android est désormais compatible avec les smartphones android 1.6 Donut. J&#8217;ai également ajouté un petit plus pour afficher la date et heure de dernière mise à jour des valeurs.</p>
<p><a title="SerieTV ou TvShow permet d'obtenir les résumés, date de diffusion de vos séries télé favorites." href="http://bunjix.fr/serietv-tvshow/">SerieTV</a> est également disponible dans sa nouvelle version pour que les prochains smartphones Android comme le HTC Tattoo qui ont une petite résolution 240&#215;320 puissent profiter pleinement de l&#8217;application qui est déjà disponible sur l&#8217; Android Market.</p>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78' rel='bookmark' title='Permanent Link: Nouvelle version 2.1 de l&#8217;application SerieTV'>Nouvelle version 2.1 de l&#8217;application SerieTV</a></li>
<li><a href='http://bunjix.fr/boursicote-devient-gratuit-android-marke/25' rel='bookmark' title='Permanent Link: Boursicote devient gratuit'>Boursicote devient gratuit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/boursicote-et-serietv-sont-maintenant-compatible-android-1-6-donut/100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouvelle version 2.1 de l&#8217;application SerieTV</title>
		<link>http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78</link>
		<comments>http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78#comments</comments>
		<pubDate>Tue, 29 Sep 2009 08:21:48 +0000</pubDate>
		<dc:creator>bunjX</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Réalisations]]></category>
		<category><![CDATA[Android Market]]></category>
		<category><![CDATA[SerieTV]]></category>
		<category><![CDATA[Version]]></category>

		<guid isPermaLink="false">http://bunjix.fr/?p=78</guid>
		<description><![CDATA[TVShow est une application que j&#8217;avais développée et publiée sur le market depuis 8 mois déjà. Elle a déjà été téléchargée près de 11 000 fois.
Cependant les critiques ont fusées de toutes part dès le début avec comme principal réprimande un bug qui faisait planter l&#8217;application dès sont lancement. N&#8217;ayant ni le temps, ni l&#8217;envi, [...]


Dans le même style ::<ol><li><a href='http://bunjix.fr/boursicote-et-serietv-sont-maintenant-compatible-android-1-6-donut/100' rel='bookmark' title='Permanent Link: Boursicote et SerieTV sont maintenant compatible Android 1.6 Donut'>Boursicote et SerieTV sont maintenant compatible Android 1.6 Donut</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>TVShow est une application que j&#8217;avais développée et publiée sur le market depuis 8 mois déjà. Elle a déjà été téléchargée près de 11 000 fois.<br />
Cependant les critiques ont fusées de toutes part dès le début avec comme principal réprimande un bug qui faisait planter l&#8217;application dès sont lancement. N&#8217;ayant ni le temps, ni l&#8217;envi, ni réussi a comprendre ce bug que je n&#8217;avais ni sur l&#8217;émulateur ni sur mon HTC Magic, j&#8217;avais décidé d&#8217;abandonner les recherches.</p>
<p>Et puis il y a de ça 2 semaines, j&#8217;ai reçu une flopée de mails et de coup de téléphone me demandant si je pouvais faire quelque chose pour régler le bug, car l&#8217;application semblait prometteuse aux yeux des utilisateurs.<br />
C&#8217;est donc ce que j&#8217;ai fait, et la nouvelle mouture est désormais plus rapide et plus stables (sur mon émulateur et téléphone). Au menu des nouveautés, la possibilité de voter pour ses séries préférer, l&#8217;ajout d&#8217;un épisode dans l&#8217;agenda.<br />
Je vous laisse donc télécharger l&#8217;application sur le market ou prendre utiliser le QR Code :<br />
<center><br />
<div class="wp-caption aligncenter" style="width: 110px"><img title="SerieTV" src="http://bunjix.fr/wp-content/uploads/2009/09/qr-code-tvshow.png" alt="Télécharger gratuitement SerieTV" width="100" height="100" /><p class="wp-caption-text">Télécharger gratuitement SerieTV</p></div></center></p>


<p>Dans le même style ::<ol><li><a href='http://bunjix.fr/boursicote-et-serietv-sont-maintenant-compatible-android-1-6-donut/100' rel='bookmark' title='Permanent Link: Boursicote et SerieTV sont maintenant compatible Android 1.6 Donut'>Boursicote et SerieTV sont maintenant compatible Android 1.6 Donut</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bunjix.fr/nouvelle-version-2-1-de-serietv-tvshow-android-marke/78/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
