<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Daniel Augusto's Weblog</title>
	<atom:link href="http://danielaugusto.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielaugusto.wordpress.com</link>
	<description>A computação rompendo barreiras</description>
	<lastBuildDate>Fri, 09 May 2008 00:22:40 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='danielaugusto.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a750a4e76d9da70981f4ed06dce68779?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Daniel Augusto's Weblog</title>
		<link>http://danielaugusto.wordpress.com</link>
	</image>
			<item>
		<title>Verdadeira UI em J2ME</title>
		<link>http://danielaugusto.wordpress.com/2008/05/09/verdadeira-ui-em-j2me/</link>
		<comments>http://danielaugusto.wordpress.com/2008/05/09/verdadeira-ui-em-j2me/#comments</comments>
		<pubDate>Fri, 09 May 2008 00:05:49 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/?p=24</guid>
		<description><![CDATA[Quem disse que você não pode fazer milagres na sua UI? Nesse caso entra a TWUIK, é um conjunto de componentes de UI feitos em J2ME. O link para essa maravilha éTWUIK. Confesso que já tentei copiar algum dos componentes. Mas há certos componentes com transparência e efeitos que só com &#8220;milagres&#8221; e celulares high-end [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=24&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Quem disse que você não pode fazer milagres na sua UI? Nesse caso entra a TWUIK, é um conjunto de componentes de UI feitos em J2ME. O link para essa maravilha é<a href="http://www.tricastmedia.com/twuik/">TWUIK</a>. Confesso que já tentei copiar algum dos componentes. Mas há certos componentes com transparência e efeitos que só com &#8220;milagres&#8221; e celulares high-end eles são feitos. É lógico que se você reparar nos celulares dos vídeos só tem high-end. Bom, semana que vem começo uma série de tutoriais para criação de componentes em canvas e quem sabe a criação de um concorrente do TWUIK&#8230; Sonhar nunca é demais!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=24&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2008/05/09/verdadeira-ui-em-j2me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Competição de desenvolvimento J2ME</title>
		<link>http://danielaugusto.wordpress.com/2008/05/08/competicao-de-desenvolvimento-j2me/</link>
		<comments>http://danielaugusto.wordpress.com/2008/05/08/competicao-de-desenvolvimento-j2me/#comments</comments>
		<pubDate>Thu, 08 May 2008 23:49:00 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/?p=23</guid>
		<description><![CDATA[Esse é o concurso de programação, patrociando pela Gemalto e Sun Microsystems, na última JVM desenvolvida &#8211; um cartão Smart Card como o da figura abaixo:
 









Essa JVM contêm a especificação Java Card 3.0 que habilita o uso de cartões e outros dispositivos limitados com a tecnologia Java. Mais informações sobre o concurso, acesse: Concurso [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=23&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Esse é o concurso de programação, patrociando pela <a href="http://developer.gemalto.com/javacard3" target="_blank">Gemalto</a> e Sun Microsystems, na última JVM desenvolvida &#8211; um cartão Smart Card como o da figura abaixo:</p>
<p><!-- END G19 COMPONENT V.0 --> <!-- BEGIN G19 COMPONENT V.1 --></p>
<div class="imgbox imgright imgcorners" style="background:transparent url('http://java.sun.com/javacard/contest/images/javacard3_specs.jpg') no-repeat scroll 0 50%;width:225px;height:142px;">
<div class="imgw1">
<div class="imgw2">
<div class="imgw3">
<div class="imgw4" style="width:225px;height:142px;"><img style="display:none;" src="http://java.sun.com/javacard/contest/images/javacard3_specs.jpg" border="0" alt="" width="225" height="142" /></div>
</div>
</div>
</div>
</div>
<p>Essa JVM contêm a <a href="http://java.sun.com/javacard/3.0/specs.jsp"><strong>especificação Java Card 3.0</strong></a> que habilita o uso de cartões e outros dispositivos limitados com a tecnologia Java. Mais informações sobre o concurso, acesse: <a href="http://java.sun.com/javacard/contest/">Concurso J2ME e Java Card 3.0</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=23&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2008/05/08/competicao-de-desenvolvimento-j2me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>

		<media:content url="http://java.sun.com/javacard/contest/images/javacard3_specs.jpg" medium="image" />
	</item>
		<item>
		<title>Windows Mobile + JBED</title>
		<link>http://danielaugusto.wordpress.com/2008/05/08/windows-mobile-jbed/</link>
		<comments>http://danielaugusto.wordpress.com/2008/05/08/windows-mobile-jbed/#comments</comments>
		<pubDate>Thu, 08 May 2008 23:39:42 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/?p=22</guid>
		<description><![CDATA[Pessoal, depois de um longo tempo sem escrever volto a escrever. Hoje o assunto é relativo a KVMs para J2ME em Windows Mobile. Bom como vocês já devem ter notado a leva de celulares que saem hoje em dia com Windows Mobile é impressionante. Não sei se vocês leitores já utilizaram um celular com Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=22&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Pessoal, depois de um longo tempo sem escrever volto a escrever. Hoje o assunto é relativo a KVMs para J2ME em Windows Mobile. Bom como vocês já devem ter notado a leva de celulares que saem hoje em dia com Windows Mobile é impressionante. Não sei se vocês leitores já utilizaram um celular com Windows Mobile mas é um Sistema Operacional bom e consistente para celulares. Acontece, porém, que nem todos os celulares que rodam Windows Mobile tem uma KVM nativa, e se tem, as vezes não tem várias JSRs que poderiam ter. Para Palm OS existia a Websphere Microplace da IBM que suportava JSRs de MIDP2, CLDC 1.1, CDC 1.0, JSR 75 e se não me engano JSR 135 com suporte a MIDI. Como tem 2 anos que não mexo em Palms então estou meio por fora. Agora na minha experiência com um HTC S710 com Windows Mobile 6.1 tive problemas ao tentar fazer conexões HTTP na JBED que veio no celular. Procurando em fóruns percebi que a solução era atualizar a versão da JBED. Não irei postar o link aqui porquê a mesma é paga, mas se tiverem esse problema basta uma busca no google e uma atualizada na JBED de seu smartphone que irá resolver alguns dos vários problemas de versão antiga de KVM.</p>
<p>Fica ai a dica para você desenvolvedor que possa ter tido problema com a sua KVM no Windows Mobile.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=22&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2008/05/08/windows-mobile-jbed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Open source APIs para J2ME</title>
		<link>http://danielaugusto.wordpress.com/2007/09/27/open-source-apis-para-j2me/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/27/open-source-apis-para-j2me/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 11:13:50 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/27/open-source-apis-para-j2me/</guid>
		<description><![CDATA[Pessoal aqui vai um resumo de apis J2ME focadas em desenvolvimento de GUIs para J2ME. Vale a pena dar uma olhada. Não tem todas APIs aqui, mas já é um começo. Até mais. 
           Apime
Apime é um framework que oferce mais funcionalidades a J2ME/MIDP. O [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=20&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="h3">Pessoal aqui vai um resumo de apis J2ME focadas em desenvolvimento de GUIs para J2ME. Vale a pena dar uma olhada. Não tem todas APIs aqui, mas já é um começo. Até mais.<a href="http://j2me.ngphone.com/opensource/ui.htm"> </a></p>
<h3>           <a title="Apime" name="Apime"></a>Apime</h3>
<p>Apime é um framework que oferce mais funcionalidades a J2ME/MIDP. O núcleo das funcionalidades é interface gráfica, contendo componentes para construir aplicações com a estrutura do Swing de J2SE. Também inclui classes para controle de arquivos e customização de skins.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://www.java4ever.com/index.php?section=j2me&amp;project=apime&amp;menu=main&amp;lang=_en">http://www.java4ever.com/&#8230;project=apime&#8230;</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">GNU General Public License (GPL)</td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<h3>           <a title="byblos" name="byblos"></a>byblos</h3>
<p>Uma coleção de componentes customizados para J2ME.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://code.google.com/p/byblos/">http://code.google.com/p/byblos</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">Apache License 2.0</td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<h3>           <a title="Fire=" name="Fire="></a>Fire (Flexible Interface Rendering Engine)</h3>
<p>Fire (Flexible Interface Rendering Engine) é uma biblioteca que foca em prover componentes fáceis de serem utilizados por desenvolvedores J2ME. Fire provê o básico de J2ME (combos, listas, forms, item) mais customizações nesses componentes. Essa biblioteca não depende de aparelho ou tamanho de tela em específico, podendo ser portada para qualquer aparelho.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://www.bluevibe.gr/fire.html">http://www.bluevibe.gr/fire.html</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">GNU Lesser General Public License (LGPL)</td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<h3>           <a title="LwVCL" name="LwVCL"></a>J2ME Lightweght Visual Component Library (LwVCL)</h3>
<p>LwVCL suporta tanto J2SE e .NET. Agora possue uma versão de rascunho para J2ME MIDP.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://www.lwvcl.com/j2me.php">http://www.lwvcl.com/j2me.php</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">GNU General Public License (GPL) and <a href="http://www.lwvcl.com/licensing.php">Zaval Commercial License (ZCL)</a></td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<h3>           <a title="jMobileCore" name="jMobileCore"></a>jMobileCore</h3>
<p>A biblioteca jMobileCore é um poderosa ferramenta para criação de GUIs para J2ME. Simplifica a tarefa do desenvolvedor provendo suporte a ricas GUIs e rápido acesso a dados no celular.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://jmobilecore.sourceforge.net/">http://jmobilecore.sourceforge.net</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">GNU Library or Lesser General Public License (LGPL)</td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<h3>           <a title="MWT" name="MWT"></a>MWT (Micro Window Toolkit)</h3>
<p>Inspirado no seus irmãos mais velhos como AWT, Swing e SWT, MWT entra em cena para a construção de UIs otimizados para celulares.</p>
<table>
<tr>
<td width="30%">URL</td>
<td width="70%"><a href="http://j2me-mwt.sourceforge.net/">http://j2me-mwt.sourceforge.net</a></td>
<td></td>
</tr>
<tr>
<td width="30%">Licença</td>
<td width="70%">GNU Lesser General Public License (LGPL)</td>
<td></td>
</tr>
</table>
<p class="h3">&nbsp;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=20&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/27/open-source-apis-para-j2me/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Smartphones da pesada</title>
		<link>http://danielaugusto.wordpress.com/2007/09/25/smartphones-da-pesada/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/25/smartphones-da-pesada/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 11:27:52 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/25/smartphones-da-pesada/</guid>
		<description><![CDATA[Para quem gosta de smartphones (e tem grana pra gastar), vai ai duas sugestões de modelos que são os tops de linhas (tops até as redes 3G, alguém já viu um celular 4G?) e que estão disponíveis no Brasil através de importadoras:
HTC Tytn 2
Nokia E90
Existem outros modelos interessantes mas esses me chamaram atenção pela quantidade [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=19&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para quem gosta de smartphones (e tem grana pra gastar), vai ai duas sugestões de modelos que são os tops de linhas (tops até as redes 3G, alguém já viu um celular 4G?) e que estão disponíveis no Brasil através de importadoras:<br />
<a href="http://www.htc.com/product/03-product_tytn_II.htm">HTC Tytn 2</a><br />
<a href="http://www.nokiausa.com/link?cid=PLAIN_TEXT_311295">Nokia E90</a></p>
<p>Existem outros modelos interessantes mas esses me chamaram atenção pela quantidade de recursos. Pena que o E90 não seja touch screen. Até mais</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=19&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/25/smartphones-da-pesada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>VML &#8211; Um objeto de aprendizagem para engenharia</title>
		<link>http://danielaugusto.wordpress.com/2007/09/19/vml-um-objeto-de-aprendizagem-para-engenharia/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/19/vml-um-objeto-de-aprendizagem-para-engenharia/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 01:56:40 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[Educação]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/19/vml-um-objeto-de-aprendizagem-para-engenharia/</guid>
		<description><![CDATA[No ano de 2005 e 2006 realizei uma pesquisa científica na PUC Minas através do FIP. O resultado do trabalho é apresentado num resumo das funcionalidades do aplicativo desenvolvido. Mais características sobre objetos de aprendizagem e outras discussões serão apresentadas nos posts a seguir.
VML

Virtual Modelling Laboratory (VML) é um software educacional composto por quatro componentes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=11&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>No ano de 2005 e 2006 realizei uma pesquisa científica na PUC Minas através do FIP. O resultado do trabalho é apresentado num resumo das funcionalidades do aplicativo desenvolvido. Mais características sobre objetos de aprendizagem e outras discussões serão apresentadas nos posts a seguir.</p>
<p>VML</p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/vmllogo.jpg?w=250&#038;h=115" align="middle" height="115" width="250" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">Virtual Modelling Laboratory (VML) é um <em>software</em> educacional composto por quatro componentes e um sistema de ajuda. A tela inicial permite acesso aos 4 componentes que são componentes separados mas que estão integrados.</span></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/telainicial.jpg?w=644&#038;h=479" align="middle" height="479" width="644" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">O primeiro componente, o Construtor de Equações Gráficas, permite </span><span style="font-size:12pt;font-family:'Arial','sans-serif';">transformar equações construídas graficamente em equações de texto passíveis de serem interpretadas. Digitalmente, este componente é representado por um painel de desenho e uma barra de ferramentas, com os quais o aluno pode criar equações gráficas, adicionar componentes de uma equação e inserir equações no diagrama em blocos.</span></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/1comp.jpg?w=640&#038;h=480" align="middle" height="480" width="640" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">O segundo componente, o Construtor de Diagramas em Bloco, permite a criação de diagramas em bloco. Esta funcionalidade<span>  </span>foi atingida a partir da criação de códigos fontes originais. Digitalmente, este componente é representado por um painel de desenho e uma barra de ferramentas, no mesmo estilo do primeiro componente, os quais permitem ao usuário criar seus diagramas em bloco com o simples clique do <em>mouse</em>.</span></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/2comp.jpg?w=640&#038;h=480" align="middle" height="480" width="640" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">O terceiro componente, o Interpretador de Equações, permite interpretar tanto as equações matemáticas construídas no primeiro componente quanto aquelas que o usuário digitar seguindo uma notação padrão. Permite, também, plotar gráficos dessas equações.</span></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/3comp.jpg?w=796&#038;h=596" align="middle" height="596" width="796" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">O quarto componente, o Visualizador de Animações, permite a visualização de animações previamente elaboradas. Esta funcionalidade foi alcançada através da definição de um problema real e de sua representação por um modelo matemático apropriado, o qual foi simulado por um modelo computacional, viabilizado por um código fonte que criamos.</span></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/4comp.jpg?w=799&#038;h=501" align="middle" height="501" width="799" /></p>
<p><img src="http://danielaugusto.files.wordpress.com/2007/09/5comp.jpg?w=800&#038;h=499" align="middle" height="499" width="800" /></p>
<p><span style="font-size:12pt;font-family:'Arial','sans-serif';">Para facilitar a exploração da potencialidade destes componentes pelo aluno, criamos um Sistema de Ajuda, descritor do passo a passo de utilização destes componentes.</span></p>
<p>VML é um objeto de aprendizagem único para o ensino da engenharia. Ele contém certas funcionalidades presentes no Matlab como plotar e interpretar gráficos de uma maneira fácil. Não há funções avançadas como resolução de Integral e Derivada, mas por ser um software gratuito já oferece recursos básicos para a disciplina de Modelagem presente nos cursos.  Pretendo adicionar mais informações e iniciar posts sobre a tecnologia de objetos de aprendizagem. Interessados favor entrar em contato sobre o VML, o mesmo pode ser &#8220;desmembrado&#8221; e utilizado em outros contextos educacionais, como o ensino de matemática básica, ou até uma calculadora avançada. Até mais</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=11&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/19/vml-um-objeto-de-aprendizagem-para-engenharia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/vmllogo.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/telainicial.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/1comp.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/2comp.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/3comp.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/4comp.jpg" medium="image" />

		<media:content url="http://danielaugusto.files.wordpress.com/2007/09/5comp.jpg" medium="image" />
	</item>
		<item>
		<title>J2ME e um resumo de JSRs</title>
		<link>http://danielaugusto.wordpress.com/2007/09/19/j2me-e-um-resumo-de-jsrs/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/19/j2me-e-um-resumo-de-jsrs/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 01:22:29 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/19/j2me-e-um-resumo-de-jsrs/</guid>
		<description><![CDATA[Encontrei nesse site um resumo das JSRs: MobileZoo. Vou traduzi-las aqui para os maiores interessados:
JSR-30
CLDC1.0    Connected Limited Device Configuration 1.0
A Configuração de Dispositivos Conectados Restritos (tenho certeza que já vi tradução melhor&#8230;)  define o conjunto básico de APIs e a KVM para dispositivos móveis restritos como celulares, pagers e PDAs. Quando [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=10&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Encontrei nesse site um resumo das JSRs: <a href="http://mobilezoo.biz/j2me.php">MobileZoo</a>. Vou traduzi-las aqui para os maiores interessados:</p>
<p>JSR-30<br />
CLDC1.0    Connected Limited Device Configuration 1.0<br />
A Configuração de Dispositivos Conectados Restritos (tenho certeza que já vi tradução melhor&#8230;)  define o conjunto básico de APIs e a KVM para dispositivos móveis restritos como celulares, pagers e PDAs. Quando utilizada em conjunto com a MIDP, provê uma sólida plataforma para desenvolvimento de aplicativos Java em dispositivos de capacidade limitada.</p>
<p>JSR-139<br />
CLDC1.1    Connected Limited Device Configuration 1.1<br />
Adiciona o seguinte à CLDC 1.0:<br />
— Suporte a ponto flutuante<br />
— Suporte a weak reference. Não vou entrar em detalhes, mas aqui está a parte do javadoc que trata weak reference:<a href="http://java.sun.com/javame/reference/apis/jsr139/">CLDC 1.1 WeakReference</a></p>
<p>JSR-37<br />
MIDP1.0    Mobile Information Device Profile 1.0<br />
Combinado com a CLDC é a Java Runtime Enviroment de todos os dispositivos móveis atuais que suportam J2ME.</p>
<p>JSR-118<br />
MIDP2.0    Mobile Information Device Profile 2.0<br />
Adiciona o seguinte a MIDP1.0:<br />
— UDP/Sockets/Secure Sockets/Server Sockets e acesso a porta serial<br />
— Suporte a novos formatos de imagem (GIF / JPG / WMB)<br />
— Suporte a PCM (Pulse Code Modulation) no formato wave e outros tipos de som sintético<br />
— Proteção de cópia das MIDlet<br />
— Instalação e descoberta de MIDlets através de outros mecanismos (Infravermelho,Bluetooth,etc)</p>
<p>JSR-271<br />
MIDP3.0    Mobile Information Device Profile 3.0<br />
Adiciona o seguinte a MIDP2.0 (resumo de mudanças retirado de <a href="http://www.mobilidadetudo.com/2007/01/midp-30.html">MIDP 3.0 Mudanças</a>:<br />
— Comunicação entre MIDlets;<br />
— Bibliotecas compartilhadas, que são chamadas por alguns sites de LIBlets;<br />
— Múltiplas MIDlets rodando na mesma máquina virtual;<br />
— MIDlets rodando em background;<br />
— Jogos mais ricos;<br />
— RMS com questões de seguranças mais sofisticadas;<br />
— MIDlets poderão desenhar em Display(s) secundários;<br />
— Localização e Internacionalização<br />
— IPv6</p>
<p>JSR-185<br />
JTWI    Java Technology for the Wireless Industry 1.0<br />
JSR que tem o intuito de diminuir o problema de portabilidade das aplicações J2ME. É uma tentativa de padronizar as JSRs 30,118,120,135 conjuntamente em todos os celulares que suportarem a JSR185.</p>
<p>JSR-172<br />
WSAPI    J2ME Web Services Specification<br />
Acesso a web services através do MIDlet.</p>
<p>JSR-211<br />
CHAPI    Content Handler API<br />
Define um modelo de comunicação entre aplicações, permitindo se especificar MIDlets como gerenciadores de conteúdo para um ou mais tipos de arquivos.</p>
<p>WMA1.0    Wireless Messaging API 1.0<br />
— Suporte a Short Message Service (SMS), Unstructured Supplementary Service Data (USSD) e Cell Broadcast Service (CBS)<br />
— Habilidades &#8220;Push&#8221; (executar um MIDlet ao receber mensagem)</p>
<p>JSR-205<br />
WMA2.0    Wireless Messaging API 2.0<br />
— Extende JSR120 com suporte a Multimedia Message Service (MMS), anexos MIME e mensagens multipart<br />
— Proteção de conteúdo MMS usando Digital Rights Management (DRM)</p>
<p>JSR-135<br />
MMAPI    Mobile Media API<br />
— MMAPI suporte a aúdio e vídeo no MIDlet<br />
— MMAPI é um superconjunto da MIDP 2.0 e suas capacidades multimídia, adicionando suporte a captura e execução de imagens, sons e vídeos.</p>
<p>JSR-75<br />
PDAP    PIM &amp; File Data API<br />
— Adicionar\Remover contatos de telefone<br />
— Eventos de calendário<br />
— Alarme<br />
— Acesso a arquivos e cartões de memória<br />
— Sem acesso de escrita a áreas de sistema protegida</p>
<p>JSR-82<br />
BTAPI    Bluetooth API<br />
— Descoberta de dispositivos bluetooth<br />
— Obtenção do perfil e capacidade dos perfis disponíveis<br />
— Abre fluxo entre os dispositivos conectados</p>
<p>JSR-177<br />
SATSA    Security and Trust API<br />
— Suporte ao controle de certificados<br />
— Autenticação de usuários utilizando certificados<br />
— Permite MIDlets comunicarem-se com aplicações baseadas em SmartCard e também com aplicações com propósitos de criptografia em geral</p>
<p>JSR-184<br />
M3G    Mobile 3D Graphics<br />
— Biblioteca gráfica 3D eficiente baseada em CLDC/MIDP<br />
— Supporte a API scene graph (alto nível) e API imediata (baixo nível, subconjunto de OpenGL)<br />
— Suporte a funções de importação de texturas, meshs, animações, cenas e hierarquias</p>
<p>JSR-129<br />
PB    Personal Basis 1.0<br />
— Provê o ciclo de vida de aplicações Xlet e também ciclo de vida de aplicações Java tradicionais<br />
— Provê um framework GUI para componentes lightweight<br />
— Provê a API completa da Foundation Profile, dispositivos menos restringidos como os PDAs por exemplo</p>
<p>JSR-209<br />
AGUI    Advanced GUI<br />
— Swing GUI toolkit da J2SE<br />
— Engine gráfico da Java 2D preservado<br />
— Imaging API e Image load/save framework preservado<br />
— Input Method framework preservado</p>
<p>JSR-179<br />
LAPI    Location API<br />
Pacote opcional que permite desenvolvedores escreverem aplicações com base em locais, tipo Locale em J2SE.</p>
<p>JSR-256<br />
MSAPI    Mobile Sensor API<br />
API para controle de sensores através de Java com suporte a ligar, desligar e ter mais controles a sensores como IR, BT, etc</p>
<p>JSR-257<br />
CCAPI    Contactless Communications API<br />
Pacote opcional para comunicação bi-direcional e acesso de dados de leitura apenas. One-way e bi-direcional captura de dados é interessante para uso em conjunto com dispositivos como RFID, código de barras e outros padrões existentes.</p>
<p>JSR-238<br />
MIAPI    Mobile Internationalization API<br />
API para correto controle de formatações e ordenamento de strings de textos e outros recursos com base em características culturais, ex: acento em string, chars diferentes, etc.</p>
<p>JSR-234<br />
AMMSAPI    Advanced Multimedia Supplements API<br />
Suplemento da MMAPI, mais informações em <a href="http://www.roseindia.net/software-tutorials/detail/6348">Comparando as capacidades multimídia do J2ME em celulares</a></p>
<p>JSR-226<br />
SVGAPI    Scalable 2D Vector Graphics API<br />
Renderização de conteúdo 2D utilizando Scalable Vector Graphics.</p>
<p>JSR-180<br />
SIPAPI    SIP API<br />
Provê acesso a aplicações SIP em MIDlets.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=10&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/19/j2me-e-um-resumo-de-jsrs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Streaming em J2ME</title>
		<link>http://danielaugusto.wordpress.com/2007/09/11/streaming-em-j2me/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/11/streaming-em-j2me/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 11:31:09 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/11/streaming-em-j2me/</guid>
		<description><![CDATA[Fazendo uma pesquisa no Google descobri algumas coisas interessantes sobre streaming em celular. Primeiramente os celulares devem suportar o protocolo RTP ou RTSP (apesar desse último ser baseado no primeiro não necessariamente o primeiro deve estar explicitamente disponível ao desenvolvedor). Mais informações sobre esses protocolos em:RTSP Wiki e RTP Wiki. Caimos no problema da KVM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=9&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Fazendo uma pesquisa no Google descobri algumas coisas interessantes sobre streaming em celular. Primeiramente os celulares devem suportar o protocolo RTP ou RTSP (apesar desse último ser baseado no primeiro não necessariamente o primeiro deve estar explicitamente disponível ao desenvolvedor). Mais informações sobre esses protocolos em:<a href="http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol">RTSP Wiki</a> e <a href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol">RTP Wiki</a>. Caimos no problema da KVM do celular implementar esse tipo de protocolo. Procurando em fóruns descobri que os seguintes celulares suportam nativamente esses protocolos: celulares Nokia S60 3rd Edition (N91, N80, etc). Alguns celulares Sony Ericsson mais recentes (-800, -750, -600, Z520, -550) implementam rtsp e também alguns celulares Motorola 3G (V975/980, E1000).</p>
<p>Uma idéia interessante para simular streaming em celulares que não suportam nativamente (retirada de um fórum de J2ME, a idéia é interessante mas não testei na prática e parece o tipo de POG que funciona, mas continua POG!)  é fazer um vetor de players, cada player busca uma quantidade X de dados. Se o seu arquivo tem 400kb, 10 players cada um busca 40kb. Quando um player da fetch e termina de tocar o outro já está realizando o seu fetch e toca assim que o outro acaba e assim por diante. Na prática o que já testei de fetch de player é que é uma operação &#8220;cara&#8221; e nem todo celular tem processamento suficiente para fazer isso. Mas está ai uma idéia para &#8220;streaming&#8221; em celular.</p>
<p>Se o celular suporta nativamente basta você pegar uma lista de protocolos implementados para um determinado tipo de conteúdo (content type que eu vou chamar de CT). Para saber quais os protocolos para esse CT, deve-se utilizar o método <code>getSupportedProtocols(String contentType)</code> que retorna um String array. Se você usar esse método com o CT &#8220;<code>audio/x-wav</code>&#8221; vai retornar com três valores: <code>http</code>, <code>file</code> and <code>capture</code> no wireless toolkit. Esses protocolos permitem ao desenvolvedor saber quais protocolor podem ser utilizados para adquirir um determinado recurso. O desenvolvedor ainda pode recuperar uma lista de CT a partir de um determinado protocolo. O método <code>getSupportedContentTypes(String protocol)</code>realiza essa função, logo se você passar o parâmetro <code>"capture"</code> o método retorna <code>audio/x-wav</code> e<code> video/vnd.sun.rgb565</code> para o wireless toolkit. Se você passar null para esses métodos vai retornar todos os CTs e/ou protocolos que uma KVM suporta. Mais informações disponíveis em:<a href="http://today.java.net/pub/a/today/2005/09/27/j2me4.html">Multimedia and MIDP 2.0</a>.</p>
<p>Descobrindo-se se o celular suporta tal protocolo basta fazer uma chamada do player da seguinte maneira:createPlayer(&#8220;rtp://www.xxx.yyy.zzz&#8221;) e o player irá iniciar o stream no celular. O player se encarregará de dar fetch e bufferizar de tempo em tempo o vídeo.</p>
<p>Da parte do servidor de stream podemos citar dois &#8220;Stream Servers&#8221; um é o Helix Server da Real Network esse não é gratuito mas possui versão para testes disponíveis em:<a href="http://www.realnetworks.com/products/media_delivery.html">Helix Server</a>. Outro servidor open source é o Darwin Stream Server disponível em:<a href="http://developer.apple.com/opensource/server/streaming/index.html">Darwin Stream Server</a>. Devo disponibilizar nos próximos posts um código fonte unindo o Video Player e um Stream Player. Até o próximo post pessoal!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=9&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/11/streaming-em-j2me/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Mundo J2ME &#8211; MMAPI Exemplo de código</title>
		<link>http://danielaugusto.wordpress.com/2007/09/06/mundo-j2me-mmapi-exemplo-de-codigo/</link>
		<comments>http://danielaugusto.wordpress.com/2007/09/06/mundo-j2me-mmapi-exemplo-de-codigo/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 00:35:28 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/09/06/mundo-j2me-mmapi-exemplo-de-codigo/</guid>
		<description><![CDATA[Para tocar vídeo em java é necessário criar um Player e buscar um objeto VideoControl do mesmo. Estou assumindo que os leitores já sabem criar um Canvas básico e fazer algum controle com os keyPressed ou commandAction. Mais referências básicas em J2ME Tutorial, Part 3: Exploring the Game API of MIDP 2.0. Por ventura esse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=8&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para tocar vídeo em java é necessário criar um Player e buscar um objeto VideoControl do mesmo. Estou assumindo que os leitores já sabem criar um Canvas básico e fazer algum controle com os keyPressed ou commandAction. Mais referências básicas em <a href="http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=1">J2ME Tutorial, Part 3: Exploring the Game API of MIDP 2.0</a>. Por ventura esse link que passei é um excelente tutorial básico sobre o GameCanvas e o básico de programação de jogos em J2ME, o tutorial está em inglês mas tem uma compreensão muito fácil.<br />
Voltando ao tópico, crie um Canvas ou GameCanvas, dê override no paint e no keyPressed. Até agora você montou um GameCanvas cru sem nada. Importe a seguintes classes:<br />
<code>import javax.microedition.media.Control;<br />
import javax.microedition.media.Manager;<br />
import javax.microedition.media.MediaException;<br />
import javax.microedition.media.Player;<br />
import javax.microedition.media.PlayerListener;<br />
import javax.microedition.media.control.FramePositioningControl;<br />
import javax.microedition.media.control.VideoControl;<br />
import javax.microedition.media.control.VolumeControl;</code></p>
<p>Depois crie as seguintes variáveis na sua classe.<br />
<code><br />
private Player player;<br />
private VolumeControl volumeControl;<br />
private VideoControl videoControl;<br />
private FramePositioningControl framePositionControl;</code></p>
<p>Basicamente a variável player retorna todos os outros controles implementados pela VM do celular a ser desenvolvido. Vide o post anterior para uma visão do player. Agora o trabalho reside em realizar os estados do player. Primeiro é necessário definir se o conteúdo vai estar no JAR, no RMS, na URL ou por streaming RTP (que porventura é um assunto delicado se falar em streaming de vídeos em dispositivos móveis atualmente. Assunto para outro post) Vou supor que o conteúdo estará ou em um jar ou em uma URL. Então crie um método para pegar o arquivo:<br />
<code><br />
private void openMediaFile(String path) throws Exception {<br />
synchronized (this) {<br />
if (player == null) {<br />
// Toda url se for local vem com a palavra resource inicialmente<br />
if (url.startsWith("resource:")) {<br />
// Arquivo que se encontra no jar<br />
InputStream ins = getClass().getResourceAsStream(url.substring(9));<br />
// Tira o mime type, os players são dependentes do myme type para criar seu tipo de player<br />
String contentType = "video/3gp";<br />
// Primeira ação criar o player com o myme type e o stream do vídeo<br />
player = Manager.createPlayer(ins, contentType);<br />
}// if<br />
else {<br />
// Se não for local, o player se encarrega de abrir esse arquivo da             // internet<br />
player = Manager.createPlayer(url);<br />
}// else<br />
}// if<br />
}// synchronized<br />
}<br />
</code></p>
<p>Crie um outro método para realizar o player:<br />
<code><br />
private void realizePlayer() throws Exception {<br />
player.realize();<br />
}<br />
</code></p>
<p>Crie um método para atualizar os controles que pertecem ao Player referente a vídeo<br />
<code><br />
private void updateControls() throws Exception {<br />
if((videoControl = (VideoControl) player.getControl("VideoControl")) != null) {<br />
// deve ser utilizado com o canvas ou o displayable que você quer exibir<br />
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);<br />
// aonde esse display vai ficar no canvas<br />
videoControl.setDisplayLocation(0, 0);<br />
// tamanho desse display de vídeo no canvas<br />
videoControl.setDisplaySize(this.getWidth(), this.getHeight());<br />
// deixa ele visível no canvas<br />
videoControl.setVisible(true);<br />
}// if<br />
// restante dos controles<br />
Control[] controls = player.getControls();<br />
for (int i = 0; i &lt; controls.length; i++) {<br />
if (controls[i] instanceof VolumeControl)<br />
volumeControl = (VolumeControl) controls[i];<br />
if (controls[i] instanceof RateControl)<br />
rateControl = (RateControl) controls[i];<br />
if (controls[i] instanceof FramePositioningControl)<br />
framePositionControl = (FramePositioningControl) controls[i];<br />
}// for<br />
}</code><br />
Dê um prefetch no player:</p>
<p><code><br />
private void prefetchPlayer() throws Exception {<br />
player.prefetch();<br />
}<br />
</code></p>
<p>Logo depois que o vídeo está todo configurado você pode iniciar ou pausa-ló:</p>
<p><code><br />
/**<br />
* Método para parar e iniciar o vídeo<br />
*<br />
*/<br />
public void playVideo() {<br />
try {<br />
if (player.getState() == Player.STARTED)<br />
player.stop();<br />
else<br />
player.start();<br />
}<br />
catch (Exception e) {<br />
System.err.println(e);<br />
}<br />
}<br />
</code></p>
<p>Para simplificar você deve fazer as operações em sequência:<br />
<code><br />
/**<br />
* Método que configura o player com o vídeo<br />
* @param path caminho do arquivo de vídeo<br />
*/<br />
public void open(String path) throws Exception {<br />
try {<br />
openMediaFile(path);<br />
realizePlayer();<br />
updateControls();<br />
prefetchPlayer();<br />
}<br />
catch (Exception e) {<br />
// Desaloca o Player<br />
if (player != null) {<br />
player.stop();<br />
player.close();<br />
player = null;<br />
}<br />
}<br />
}</code></p>
<p>Agora é necessário fazer o uso de keyPressed ou commandAction para usar os controles do Player. Basicamente se você apertar 1 por exemplo você pode usar o volumeControl para aumentar o volume ou utilizar o framePositionControl para avançar ou retroceder o vídeo. As operações básicas desses controles são:<br />
<code><br />
volumeControl.setLevel(int);<br />
volumeControl.getLevel();<br />
volumeControl.setMute(boolean);<br />
volumeControl.isMute();<br />
framePositionControl.skip(int);<br />
</code><br />
Além disso você pode definir a posição do vídeo com:<br />
<code><br />
player.setMediaTime(int);<br />
</code><br />
Simples! Há com certeza melhorias a serem feitas no código mas já dá pra iniciar a &#8220;brincadeira&#8221; com vídeo em J2ME. Lembrem-se nem todo celular suporta esses controles, consulte nos fóruns que JSRs o celular implementa. Existe um código de um SimplePlayer nos <em>code samples </em>da SUN, quem quiser algo mais aprofundado é só procurar nas pastas de src do WTK. Até mais!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=8&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/09/06/mundo-j2me-mmapi-exemplo-de-codigo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
		<item>
		<title>Mundo de J2ME &#8211; MMAPI</title>
		<link>http://danielaugusto.wordpress.com/2007/08/28/mundo-de-j2me-mmapi/</link>
		<comments>http://danielaugusto.wordpress.com/2007/08/28/mundo-de-j2me-mmapi/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 11:12:52 +0000</pubDate>
		<dc:creator>danielaugusto</dc:creator>
				<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://danielaugusto.wordpress.com/2007/08/28/mundo-de-j2me-mmapi/</guid>
		<description><![CDATA[Existem N tutoriais gratuitos na internet e livros bom como o livro Core J2ME que ensinam o básico e o avançado do J2ME. Porém, não existe ainda nenhum que fale a fundo sobre as JSRs que são implementadas a parte. Hoje eu vou introduzir um pouco sobre a JSR-135, a Mobile Media API. Essa API [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=6&subd=danielaugusto&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Existem N tutoriais gratuitos na internet e livros bom como o livro Core J2ME que ensinam o básico e o avançado do J2ME. Porém, não existe ainda nenhum que fale a fundo sobre as JSRs que são implementadas a parte. Hoje eu vou introduzir um pouco sobre a JSR-135, a Mobile Media API. Essa API introduziu a capacidade de reproduzir vídeo, aúdio, capturar som e imagens utilizando a J2ME. Um ótimo tutorial introdutório e no qual eu me baseei está no site da Sun em <a href="http://developers.sun.com/mobility/apis/articles/mmapi_overview/">Mobile Media API Overview</a>. A primeira coisa que vem a cabeça do desenvolvedor é: &#8220;Agora vou poder fazer meu Winamp no celular&#8221;. Acontece que mesmo que o celular toque vídeo ou um determinado tipo de aúdio e mesmo que exista a JSR-135 implementada em seu celular, não necessariamente ele vai tocar todo e qualquer tipo de aúdio ou vídeo. Não há garantia de que ele implemente isso em J2ME. Todo e qualquer fabricante pode capar suas implementações de J2ME e isso torna um inferno para o programador. Um código que funciona em uma JSR-135 de um celular não funcionará necessariamente em outro. Tome por exemplo o V3. O V3 da Motorola possui uma variedade de versões desde CLDC 1.0 a 1.1 e com diferentes JSRs. Todos com a marca V3. Acontece porém que o celular é capaz de tocar vídeos 3GP mas o J2ME não! Isso decorre do fato que todo celular possui um hardware específico e os fabricantes tem que conjugar esse fato na hora de implementar suas KVMs. A única maneira do desenvolvedor manter seu código robusto é capturar as exceções que são lançadas quando um celular não suporta determinada função. Para verificar se o celular que o software rodará basta verificar os developers sheets nos sites dos desenvolvedores. Nos fóruns em específico existem questões relacionadas ao suporte específico de cada celular para as mídias como 3gp, Mp4, MP3, etc.</p>
<p>A Mobile Media API é baseada em quatro conceitos chaves:</p>
<ol>
<li>Um <em>player </em>sabe tocar um determinado tipo de mídia. Um tipo de <em>player</em> consegue tocar som em MP3, outro em 3GP. Todos os objetos Players são representados pela interface <code>javax.microedition.media.Player</code>.</li>
<li> Cada player possui diferentes controles (ToneControl, VolumeControl, VideoControl, RateControl) que podem ou não serem implementados. Você pode utilizar esses controles para mudar o comportamento do seu Player, por exemplo aumentado o volume do som. Controles são representados pela implementação das interfaces da <code>javax.microedition.media.Control</code>; existem ainda controles específicos que estão no pacote <code>javax.microedition.media.control</code>.</li>
<li> Um player adquire a mídia através de um <em>data source</em>. A mídia pode ser armazenada no JAR, no RMS do celular, obtida através da API FileConnection ou até mesmo de conexão HTTP, streaming através de RTP. A interface que representa um <em>data source </em>está em <code>javax.microedition.media.protocol.DataSource</code>.</li>
<li>Finalmente, um <em>manager </em>serve de ponte entre essas interfaces e permite a obtenção de data sources e players.</li>
</ol>
<p>Essa foi uma pequena introdução de MMAPI. No próximo post posto uma explicação das principais interfaces e posteriormente mostro uma &#8220;VideoCanvas&#8221;. Até!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/danielaugusto.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/danielaugusto.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/danielaugusto.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/danielaugusto.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/danielaugusto.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/danielaugusto.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/danielaugusto.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/danielaugusto.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/danielaugusto.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/danielaugusto.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/danielaugusto.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/danielaugusto.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=danielaugusto.wordpress.com&blog=1583744&post=6&subd=danielaugusto&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://danielaugusto.wordpress.com/2007/08/28/mundo-de-j2me-mmapi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a85d1003c0aca2db76a1f7ed046fcf1?s=96&#38;d=identicon" medium="image">
			<media:title type="html">danielaugusto</media:title>
		</media:content>
	</item>
	</channel>
</rss>