<?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>protected  * void &#187; Java</title>
	<atom:link href="http://www.danilocesar.com/blog/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.danilocesar.com/blog</link>
	<description>Tecnologia, Linux e Software Livre</description>
	<lastBuildDate>Thu, 30 Sep 2010 16:00:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Porquê Java ainda é útil!</title>
		<link>http://www.danilocesar.com/blog/2008/11/26/porque-java-ainda-e-util/</link>
		<comments>http://www.danilocesar.com/blog/2008/11/26/porque-java-ainda-e-util/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 01:03:07 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[PyS60]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=161</guid>
		<description><![CDATA[&#60;/joke&#62;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danilocesar.com/blog/wp-content/uploads/2008/11/java_amp.jpg"><img class="alignnone size-medium wp-image-162" title="Utilidade de Java" src="http://www.danilocesar.com/blog/wp-content/uploads/2008/11/java_amp-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>&lt;/joke&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/11/26/porque-java-ainda-e-util/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facilidade para aplicações gráficas com J2ME</title>
		<link>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/</link>
		<comments>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/#comments</comments>
		<pubDate>Sat, 02 Dec 2006 14:55:10 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/</guid>
		<description><![CDATA[Como já tinha comentado em alguns posts antigos meus, desenvolver aplicações JAVA para dispositivos móveis pode ser uma brincadeira muito bacana. Mas, se alguém tentou faze-lo, também deve ter percebido que desenvolver aplicativos gráficos com várias telas é uma tarefa extremamente chata.Neste post vou comentar o que achei do Netbeans e do add-on Netbeans Mobility [...]]]></description>
			<content:encoded><![CDATA[<p>Como já tinha comentado em <a href="http://www.danilocesar.com/blog/2006/01/11/iniciando-java-para-celulares/">alguns posts antigos meus</a>, desenvolver aplicações JAVA para dispositivos móveis pode ser uma brincadeira muito bacana. Mas, se alguém tentou faze-lo, também deve ter percebido que desenvolver aplicativos gráficos com várias telas é uma tarefa extremamente chata.Neste post vou comentar o que achei do Netbeans e do add-on Netbeans Mobility Pack.</p>
<p>Não sou nenhum especialista em JAVA, e não entro em discuções Eclipse x Netbeans, mas me agradou muito a facilidade com que se é possível criar aplicações gráficas J2ME com o mobility pack.</p>
<p><strong>Instalação</strong><br />
Primeiramente deve-se ter o Netbeans instalado. O Download pode ser feito <a href="http://www.netbeans.org">aqui</a>.<br />
Após isto deve-se obter o mobility pack, que pode ser pego <a href="http://www.netbeans.org/products/mobility">aqui</a></p>
<p>Com um sistema muito simples, é possível ligar telas entre si, programar botões&#8230; Basta clicar e arrastar!<br />
Vale a pena para quem quer programar em JAVA para dispositivos móveis.</p>
<p>Segue algumas screen shots.</p>
<p><img id="image48" alt="Criação para GUI's" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/mobility-matisse.png" /></p>
<p>Criação de GUI&#8217;s</p>
<p><img id="image47" alt="Ligações de várias telas" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/svg.png" /></p>
<p>Modelando telas</p>
<p><img id="image46" alt="Tela do Programa" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/projetct.png" /></p>
<p>Interface do projeto</p>
<p><img id="image45" alt="Novo Projeto" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/novo_projeto.png" /><br />
Opções para novo projeto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Iniciando Java para celulares!</title>
		<link>http://www.danilocesar.com/blog/2006/01/11/iniciando-java-para-celulares/</link>
		<comments>http://www.danilocesar.com/blog/2006/01/11/iniciando-java-para-celulares/#comments</comments>
		<pubDate>Wed, 11 Jan 2006 19:29:22 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=9</guid>
		<description><![CDATA[Lançada em 95, a tecnologia JAVA inovou o conceito de programação por ser uma linguagem gratuita e independente de plataforma. Atualmente, uma de cada três pessoas utilizam alguma mercadoria com a tecnologia JAVA; Seja em celulares, palms, Pcs, impressoras, etc&#8230; (Fonte www.sun.com.br) Todos sabemos que com a tecnologia de dispositivos móveis em ascensão, celulares deixaram [...]]]></description>
			<content:encoded><![CDATA[<p><img width="161" height="317" align="left" title="install_pagina6.jpg" id="image15" alt="install_pagina6.jpg" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/01/install_pagina6.jpg" />Lançada em 95, a tecnologia JAVA inovou o conceito de programação por ser uma linguagem gratuita e independente de plataforma.</p>
<p>Atualmente, uma de cada três pessoas utilizam alguma mercadoria com a tecnologia JAVA; Seja em celulares, palms, Pcs, impressoras, etc&#8230; (Fonte www.sun.com.br)</p>
<p>Todos sabemos que com a tecnologia de dispositivos móveis em ascensão, celulares deixaram de ser celulares e viraram computadores de bolso.<br />
Certa vez conversando com um amigo surgiu a frase: Meu celular acessa a internet, meu MSN, abre arquivos do WORD, ZIPs e PDFs, roda jogos 3D, e as vezes faz e recebe chamadas.</p>
<p>Por ser quase um computador, existe algumas linguagens para programação software para celulares.</p>
<p>Neste primeiro artigo eu demonstrarei como instalar a IDE de programação J2ME no linux, e citarei ao fim um pequeno código fonte, para aqueles que querem iniciar a programar nesta linguagem.<br />
<span id="more-9"></span></p>
<p>A muito tempo eu estava para escrever este artigo. Mas por alguma razão não o fazia.<br />
Bom, aproveitei que neste fim de semana precisei re-instalar o linux na minha máquina, vou aproveitar para demonstrar passo a passo a instalação da IDE.</p>
<p>Como a maioria dos programadores deve saber, Java não é uma linguagem compilada, e sim interpretada. Utiliza uma máquina virtual, que é como uma interface entre o software e o sistema operacional, fazendo assim com que a linguagem possa rodar da mesma forma em vários sistemas operacionais.</p>
<p>Como estou desenvolvendo a algum tempo, posso dizer que o J2ME não é o java padrão, existem várias peculiaridades. Por isso, nem todo programa feito em j2me joda em uma máquina JAVA comum, e vice e versa.</p>
<p>Todos sabem que um programa JAVA, por rodar em uma máquina virtual, acaba sendo mais lento que um software comum. No caso do J2ME não é diferente. E, diferente de um PC normal onde rodamos softwares que ocupam 50MB de memória virtual, e rodam a 2000 clocks por segundo, um celular possui a memória extremamente limitada, e um processador não tão rápido quanto nossos PCs atuais.</p>
<p>Bom, por ser um artigo básico, termino aqui a embromeition e vamos por a mão na massa.</p>
<p>Utilizaremos a IDE de programação Eclipse, o plugin EclipseME , uma máquina JAVA JDK, e um WTK ou Wireless toolkit .</p>
<p>Bom, toda a instalação será explicada sob a luz de um Debian CDD pré 5. Toda a estrutura de diretórios e arquivos de configuração será exemplificada para ele.</p>
<h2>Começando a fazer os downloads:</h2>
<p>Do site www.sun.com/java, é necessário puxar o <a title="J2ME Wireless Toolkit 2.2" href="http://java.sun.com/products/sjwtoolkit/download-2_2.html">J2ME(TM) Wireless Toolkit 2.2</a> e <a title="JDK 5.0" href="http://java.sun.com/j2se/1.5.0/download.jsp">JDK 5.0</a><br />
Utilizaremos também o<strong> eclipse 3.1</strong> como IDE de desenvolvimento. Podemos puxa-lo de:<br />
<a title="Eclipse" href="http://www.eclipse.org/downloads/index.php"> http://www.eclipse.org/downloads/index.php</a><br />
Instalando:</p>
<p>Inicialmente, todos os arquivos puxados devem ser movidos para a pasta /opt/</p>
<p>Logue-se como root, utilizando o comando su</p>
<p>para mover os arquivos, utilize os comandos<br />
<strong> mv jdk-1_5_0_04-linux-i586.bin /opt<br />
mv eclipse-SDK-3.1-linux-gtk.tar.gz /opt<br />
mv j2me_wireless_toolkit-2_2-linux-i386.bin /opt/</strong></p>
<p><strong>cd /opt/</strong></p>
<p>Primeiro, iremos instalar a máquina java p/ desenvolvimento (JDK).<br />
Agora, ainda como root e na pasta /opt/ dê o comando para dar permissão de execução ao JDK<br />
chmod 777 jdk-1_5_0_04-linux-i586.bin</p>
<p>e execute-o com:<br />
<strong><em> ./jdk-1_5_0_04-linux-i586.bin</em></strong></p>
<p>Provavelmente te perguntará se concordas com alguns termos de licença do java. Digite YES<br />
Os arquivos serão descompactados, e uma pasta /opt/jdk1.5.0_04/ será criada.</p>
<p>Aconselho agora criar um link simbólico para esta pasta com o nome java. Será muito útil quando for atualizar o JDK.</p>
<p><strong>ln -s jdk1.5.0_04/ java</strong></p>
<p>Com a máquina JAVA instalada, instalaremos o WTK.</p>
<p>Da mesma forma, utilize o comando chmod para dar permissão de execução ao arquivo:<br />
chmod 777 j2me_wireless_toolkit-2_2-linux-i386.bin</p>
<p>Execute-o com:<br />
<strong> ./j2me_wireless_toolkit-2_2-linux-i386.bin</strong></p>
<p>Leia até o final, aceite os termos novamente digitando yes.</p>
<p>Agora, você precisa especificar a localização do interpretador JAVA (Specify a path to a Java interpreter director). Digite 0 e dê enter.</p>
<p>Digite agora<br />
<strong> /opt/java/bin</strong></p>
<p>Agora, lhe será perguntado onde instalar o Wireless toolkit. digite:<br />
<strong> /opt/WTK2.2</strong></p>
<p>Depois, selecione a opção 0 (Begin copying files if you are satisfied with the settings) e a instalação será iniciada.</p>
<p>Após a finalização da instalação, precisamos descompactar a IDE eclipse.<br />
Fazemos isso facilmente com o comando:</p>
<p><strong>tar -xvzf eclipse-SDK-3.1-linux-gtk.tar.gz</strong></p>
<h2>Configurando a máquina JAVA:</h2>
<p>É necessário definir algumas variáveis de ambiente para fazer o JAVA funcionar corretamente.<br />
No caso do debian, ainda como root, eu costumo setar as variáveis de ambiente em /etc/profile</p>
<p>Utilizando seu editor de arquivos favorito, edite este arquivo.</p>
<p>Ao fim do arquivo, coloque as seguintes linhas:</p>
<pre>
JAVA_HOME=/opt/java
CLASSPATH=.:$CLASSPATH
PATH=$PATH:$JAVA_HOME/bin

export PATH
</pre>
<p>Suas variáveis de ambiente já foram setadas.</p>
<p>Agora, eu costumo adicionar um atalho para o eclipse em /usr/local/bin. Para facilitar a execução do mesmo.<br />
Com seu editor favorito, crie um arquivo chamado /usr/local/bin/eclipse com o seguinte conteúdo:<br />
<strong><br />
#!/bin/bash<br />
/opt/eclipse/eclipse &#038;<br />
</strong></p>
<p>Novamente, dê permissão de execução ao arquivo com o comando<br />
<strong><br />
chmod 777 /usr/local/bin/eclipse<br />
</strong></p>
<p>Agora, digite o comando eclipse em um console, e a IDE eclipse será aberta.</p>
<p>Instalando e configurando o plugin EclipseME</p>
<p>Dentro do eclipse, procure pelo menu Help  Software Update  Find and Install.</p>
<p>Cheque a segunda opção: Search new features to install, e clique em next<img align="middle" title="install_pagina3.jpg" id="image12" alt="install_pagina3.jpg" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/01/install_pagina3.jpg" /></p>
<p>Vá em New Remote Site e coloque as informações:<br />
Name: EclipseME<br />
URL: <a title="http://www.eclipseme.org/updates/" target="_blank" href="http://www.eclipseme.org/updates/">http://www.eclipseme.org/updates/</a><br />
E clique em OK.</p>
<p>Selecione apenas EclipseME e clique em Finish<img title="install_pagina4.jpg" id="image13" alt="install_pagina4.jpg" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/01/install_pagina4.jpg" /></p>
<p>Na próxima tela, selecione EclipseME e vá em Next;<br />
Aceite os termos, vá em next e depois em finish</p>
<p>O download do plugin EclipseME iniciará.</p>
<p>Depois de feito o download, aparecerá uma nova Janela. Clique em Install ALL</p>
<p>Aparecerá uma nova janela recomendando que seja reiniciado o Eclipse. Clique em Yes</p>
<p>A instalação está concluída com sucesso.</p>
<h2>Configurando o Eclipse:</h2>
<p>Abra o menu Window  Preferences.</p>
<p>Procure pelo item J2ME à direita  Expanda a àrvore do J2ME, e procure pelo Sub-item <br />
Plataform Components.</p>
<p>Clique com o botão direito sobre Wireless ToolKit e, selecione ADD Wireless Toolkit.<br />
No diretório, digite /opt/WTK2.2/, e dê um Finish.<br />
Ficará mais ou menos desta forma:</p>
<p><img align="middle" title="install_pagina5.jpg" id="image14" alt="install_pagina5.jpg" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/01/install_pagina5.jpg" /><br />
Outra configuração para facilitar a programação:</p>
<p>Ainda em preferences, Procure pelo item JAVA, e sub-item built path. Selecione Folders. Caso você trabalhe com o eclipse de outra forma, a pastas bin e src deverão ser criadas manualmente no início de cada projeto.</p>
<h2>Criando nosso Primeiro Hello World.</h2>
<p>Primeiro, precisamos criar um novo projeto.</p>
<p>Vá em menu File, New, Project.</p>
<p>Selecione J2ME Midlet Suite. O nome do projeto será OlaMundo<br />
Deixe as opções seguintes como está mesmo, não é preciso mexer.</p>
<p>O nosso novo projeto estará sendo mostrado a esquerda do eclipse.</p>
<p>Procure pela pasta src dentro do projeto, e com o botão direito procure por New  Class<br />
Aonde pergunda por Name, digite OlaMundo e dê um finish</p>
<p>Será criado um novo Arquivo: OlaMundo.java</p>
<p>Nele, colocaremos o seguinte teste de código:</p>
<p><code lang="Java"><br />
import javax.microedition.lcdui.*;<br />
import javax.microedition.midlet.*;</p>
<p>public class Teste extends MIDlet implements CommandListener<br />
{<br />
   Display display;<br />
   Form Main;<br />
   Command bt_sair = new Command("Sair",Command.EXIT,1);</p>
<p>   public Teste() {<br />
      display = Display.getDisplay(this);</p>
<p>      Main = new Form("Título da Form");<br />
      Main.addCommand(bt_sair);<br />
      Main.setCommandListener(this);</p>
<p>   }</p>
<p>   public void startApp() {<br />
      display.setCurrent(Main);<br />
   }</p>
<p>   public void pauseApp() {</p>
<p>   }</p>
<p>   public void destroyApp(boolean uncondional) {</p>
<p>   }</p>
<p>   public void commandAction(Command c, Displayable s) {<br />
      if(c == bt_sair){<br />
         destroyApp(false);<br />
         notifyDestroyed();<br />
      }</p>
<p>   }<br />
}</p>
<p></code></p>
<h2><strong>Resolvendo problemas</strong></h2>
<p>Depois de tentar seguir à risca esse artigo, descobri que podem aparecer alguns problemas.<br />
Se, na execução do eclipse, aparecer a seguinte mensagem de erro:<br />
<img align="middle" alt="EclipseME" id="image8" title="EclipseME" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/01/erro1.jpg" /><br />
Significa que a máquina java não está sendo encontrada. Ou seja, as variáveis de ambiente estão erradas, ou que o arquivo /etc/profile não está sendo lido.</p>
<p>Primeiro verifique se as variáveis de ambiente estão corretas.<br />
Caso estejam, edite o arquivo /usr/local/bin/eclipse e coloque o seguinte código:<br />
<strong>#!/bin/bash</strong><br />
<strong>source /etc/profile</strong></p>
<p><strong>/opt/eclipse/eclipse &#038;</strong><br />
Por algum motivo, o arquivo /etc/profile não está sendo lido por padrão, então nós forçamos o nosso atalho do eclipse a ler esse arquivo.<br />
Caso aconteça de, ao tentar rodar um programa no eclipse, dar um erro na execução, e não conseguir executar o OlaMundo, verifique as permissões dos arquivos da pasta /opt/WTK2.2</p>
<p style="color: red">Warning: Failed to initialize WMA message routing support<br />
Warning: Failed to initialize Bluetooth (JSR 82) support<br />
at com.sun.kvem.midp.MIDP.run(Unknown Source)<br />
&#8230;<br />
at com.sun.kvem.environment.EmulatorInvoker.runEmulatorImpl(Unknown Source)<br />
at com.sun.kvem.environment.EmulatorInvoker.runEmulatorSameVM(Unknown Source)<br />
at com.sun.kvem.environment.EmulatorInvoker.runEmulator(Unknown Source)<br />
at com.sun.kvem.environment.ProfileEnvironment$KVMThread.runEmulator(Unknown Source)<br />
at com.sun.kvem.environment.ProfileEnvironment$KVMThread.run(Unknown Source)
</p>
<p>Isso provavelmente seja um problema de permissão.</p>
<p>Pode ser revolvido com o seguinte comando:<br />
<strong>find /opt/WTK2.2/ -exec chmod 777 {} \;</strong><br />
Sei que não é legal dar permissões 777, pois libera escrita pra todo mundo.</p>
<p>Mas por algum motivo insano, permissões do tipo 755 não surtiram efeito. Se alguém tiver outra sugestão, posta ae também.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2006/01/11/iniciando-java-para-celulares/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>

