<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>java-me &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/java-me/</link>
	<description>Feed of posts on WordPress.com tagged "java-me"</description>
	<pubDate>Tue, 07 Oct 2008 10:31:47 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[GUJavaSC realiza mês java]]></title>
<link>http://edersonmelo.wordpress.com/?p=202</link>
<pubDate>Thu, 04 Sep 2008 13:00:15 +0000</pubDate>
<dc:creator>edersonmelo</dc:creator>
<guid>http://edersonmelo.pt-br.wordpress.com/2008/09/04/gujavasc-realiza-mes-java/</guid>
<description><![CDATA[
Java
Agora em Setembro o GUJavaSC em parceria com a V Office e a Sun Microsystem criaram uma ediç]]></description>
<content:encoded><![CDATA[<div class="entrybody">
[caption id="attachment_207" align="alignleft" width="80" caption="Java"]<a href="http://edersonmelo.files.wordpress.com/2008/09/t_java_logo.jpg"><img class="size-full wp-image-207" src="http://edersonmelo.wordpress.com/files/2008/09/t_java_logo.jpg" alt="Java" width="80" height="80" /></a>[/caption]
<p>Agora em Setembro o <strong>GUJavaSC</strong> em parceria com a V Office e a Sun Microsystem criaram uma edição local do <a href="http://weblogs.java.net/blog/maltron/archive/2008/08/september_the_m_1.html">Mês de Java</a>, que será realizado em Florianópolis no dias <strong>20 de setembro (sábado)</strong> no auditório da <strong>Rua Felipe Schmidt, 785, Centro</strong>. A recepção no local acontecerá a partir das 8:30hrs.</p>
<p>A <strong>inscrição é gratuita</strong>, porém é necessário <strong>confirmar a vaga cadastrando-se <a href="http://jugevents.jugpadova.it/jugevents/event/registration.form?null=null&#38;event.id=7852&#38;language=pt_BR">aqui</a></strong>, além de que no dia também será necessário <strong>levar 2kg de alimentos não perecíveis</strong>.</div>
<div class="entrybody">
<p><span style="color:#003300;"><strong>Um mini curriculum dos palestrantes:</strong></span></p>
<p><span style="color:#333399;"><em><strong>Maurício Leal</strong></em>,</span> famoso entusiasta de Java ME e gerente de Programas SDN na Sun Microsystems, estará abordando <em>J</em>SDN <em>: A revolução Invisível</em>.</p>
<p><span style="color:#333399;"><em><strong>Thiago Rossato, Thiago Leão Moreira e Priscila Lugon</strong>, </em></span>os criadores do projeto Floggy, um framework para persistência Java ME que recentemente teve um artigo publicado na Mundo Java, estarão falando sobre o <em>Floggy: Produtividade e Simplicidade na Persistência Java ME.</em></p>
<p><span style="color:#333399;"><em><strong>Kohsuke Kawaguchi</strong></em>,</span> engenheiro senior da Sun Microsystems com inúmeros projetos no <a href="http://java.net/">java.net</a>, incluindo o famoso servidor de Integração Contínua Hudson, estará mostrando o <em>Glassfish v3: A nova geração de Servidores de Aplicação modular.</em></p>
<p><span style="color:#333399;"><em><strong>Eduardo José Pereira</strong></em>,</span> que trabalhou para o projeto Eclipse antes mesmo dele ser open source e ter este nome, estará apresentando <em>Um bate papo sobre o uso de tecnologias Eclipse (RCP, GEF, EMF, SWT, JFace) no desenvolvimento de aplicações desktop.</em></p>
<p><span style="color:#333399;"><em><strong>Érika Tatiana Hmeljevski</strong></em>,</span> que possui uma enorme experiência na área de testes de software e que possui um forte envolvimento com algumas organizações desta natureza, mostrará <em>A importância do Teste de software para a garantia de qualidade das aplicações Web.</em></p>
<p>Para maiores informações sobre o evento, palestrantes, local, <strong>acesse: <a href="http://wiki.java.net/bin/view/JUGs/MesDeJava2008">http://wiki.java.net/bin/view/JUGs/MesDeJava2008</a></strong>. O evento estará sujeito a mudanças, então esta página é a melhor forma de ficar atualizado.</p>
<p><strong>fonte:</strong> <a href="http://www.gujavasc.org.br/" target="_blank">http://www.gujavasc.org.br/</a></p>
<p><em>Abraço,<br />
Ederson Melo </em></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Necesitas crear una aplicación JME que trabaje con Bluetooth y GPS]]></title>
<link>http://cafelojano.wordpress.com/?p=278</link>
<pubDate>Fri, 22 Aug 2008 17:05:02 +0000</pubDate>
<dc:creator>Jorge López (jorgaf)</dc:creator>
<guid>http://cafelojano.pt-br.wordpress.com/2008/08/22/necesitas-crear-una-aplicacion-jme-que-trabaje-con-bluetooth-y-gps/</guid>
<description><![CDATA[La gente de Sun ha publicado la primera parte de un artículo en donde se muestra cómo trabajar con]]></description>
<content:encoded><![CDATA[<p>La gente de Sun ha publicado la primera parte de un artículo en donde se muestra cómo trabajar con Bluetooth y GPS dentro de una aplicación JME.</p>
<p><a title="Origen" href="http://developers.sun.com/mobility/apis/articles/bluetooth_gps/part1/" target="_blank">Working with Bluetooth and GPS: Part 1 - Reading Wireless Serial Port Data</a></p>
<p>En el artículo se muestra:</p>
<ul>
<li>El trabajo con Bluetooth y el API JSR-82</li>
<li>Muestra cómo ejecutar y depurar aplicaciones Java ME Bluetooth desde nuestra computadora de escritorio.</li>
<li>
<div id="result_box" dir="ltr">Explica cómo leer datos en un dispositivo GPS vía Bluetooth.</div>
</li>
</ul>
<p>Espero que les sirva</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Pengantar Java Platform]]></title>
<link>http://ghanoz2480.wordpress.com/?p=89</link>
<pubDate>Sat, 19 Jul 2008 18:15:42 +0000</pubDate>
<dc:creator>ghanoz2480</dc:creator>
<guid>http://ghanoz2480.pt-br.wordpress.com/2008/07/20/pengantar-java-platform/</guid>
<description><![CDATA[Apa yang dibutuhkan?
Sebelum kita bisa membuat aplikasi yang ditulis dengan bahasa Java, dibutuhkan ]]></description>
<content:encoded><![CDATA[<h4>Apa yang dibutuhkan?</h4>
<p align="justify">Sebelum kita bisa membuat aplikasi yang ditulis dengan bahasa Java, dibutuhkan <em>Java Platform Standard Edition</em> (Java SE) <em>development kit</em>. <em>Developemnt kit</em> itu berisi J<em>ava Virtual Machine</em> (JVM), <em>core Application Programming Interface</em> (API), dan kompiler yang digunakan untuk <em>development</em>.</p>
<p align="justify">Untuk pengguna Mac sebaiknya mengunjungi <a href="http://developer.apple.com/java/">http://developer.apple.com/java/ (Mac OS X Java Runtime Environment)</a>.</p>
<p align="justify">Jika ingin mengerjakan dalam <em>Integrated Development Environment</em> (IDE), kunjungi <a href="http://java.sun.com/javase/downloads/">http://java.sun.com/javase/downloads/</a> (untuk men-<em>download</em> Java SE dengan NetBeans IDE).</p>
<p align="justify">Untuk beberapa proyek, mungkin Anda membutuhkan berkas tambahan. Tetapi jika Anda masih belum mengetahui apa yang Anda butuhkan Java SE saja sudah cukup untuk memenuhi kebutuhan Anda sampai familiar dengan Java <em>platform</em>. Di bawah ini yang adalah yang populer untuk di-<em>download</em>.</p>
<ul>
<li>Java SE
<p align="justify">Anda bisa mendapatkan Java SE di <a href="http://java.sun.com/javase/">http://java.sun.com/javase/</a>, <em>kit</em> ini sangat dibutuhkan untuk menghasilkan semua aplikasi, kecuali yang dirancang khusus untuk perlengkapan konsumen (<em>consumer devices</em>) digunakan <em>Java Platform Micro Edition</em> (Java ME). Java SE terdiri dari kompiler, <em>runtime environment</em>, dan <em>core</em> API.</p>
</li>
<li>Java Platform Enterprise Edition (Java EE)
<p align="justify">Anda bisa mendapatkannya di <a href="http://java.sun.com/javaee/">http://java.sun.com/javaee/</a>. Paket ini terdiri dari <em>application server</em>, dan teknologi <em>JavaServerPages</em> (JSP). Gunakan J2EE dengan Java SE.</p>
</li>
<li>Java Platform Micro Edition (Java ME)
<p align="justify">Anda bisa mendapatkannya di <a href="http://java.sun.com/javame/">http://java.sun.com/javame/</a>. Digunakan jika ingin menghasilkan program untuk Palm Pilots, <em>screen phones</em>, dan <em>consumer device</em> yang lainnya. Java ME menyediakan <em>tools</em> untuk <em>compiling</em>, <em>deployment</em>, dan konfigurasi alat (<em>device configuration</em>), dan API yang dikhususkan untuk setiap <em>device</em>.</p>
</li>
<li>JavaFX Script Technology
<p align="justify">Anda bisa mendapatkannya di <a href="https://openjfx.dev.java.net/">https://openjfx.dev.java.net/</a>. JavaFX Script Technology merupakan bahasa <em>scripting</em> yang sangat produktif, yang memungkinkan pembuat <em>content</em> (<em>content developers</em>) untuk membuat media yang kaya dan <em>content</em> untuk <em>deployment</em> pada <em>Java environments</em>.</p>
</li>
</ul>
<p align="justify"><em>Development kit</em> yang sudah dijelaskan diatas memasukkan API yang dibutuhkan untuk berbagai macam tipe aplikasi apapun yang Anda hasilkan dalam bahasa pemrograman Java.</p>
<p align="justify">Java API adalah kumpulan (<em>libraries</em>) dari kode yang sudah disusun, untuk menambahkan fungsionalitas yang sudah dibuat dan dapat dirubah, sehingga menghemat waktu <em>coding</em>.</p>
<p align="justify">Program-program Java dieksekusi dalam program yang dinamakan JVM (<em>Java Virtual Machine</em>) daripada dijalankan langsung pada sistem operasi (<em>native operating systems</em>), program di-<em>interpreted</em> oleh JVM untuk <em>native operating systems</em>.  Hal tersebut membuat program yang ditulis dengan bahasa Java dapat berjalan dari satu <em>platform</em> ke <em>platform</em> lainnya. Dengan kata lain kita dapat membuat program di Solaris, Linux, Macintosh, atau Windows, dan dapat dijalankan pada <em>server</em> atau <em>platform</em> yang lain.</p>
<h4>Membuat Program Java dengan Three Basic Flavors</h4>
<p align="justify">Setelah Anda memiliki <em>development kit</em> yang dibutuhkan, baru kita bisa menulis program dalam bahasa Java. Kita dapat menulis program dengan tiga basic flavors, yaitu <em>applet</em>, aplikasi dan <em>servlets/JSP pages</em>. <em>Applet</em> berjalan dalam JVM yang ditambah ke dalam <em>web browser</em>, aplikasi berjalan dalam JVM yang ter-<em>install</em> dalam sistem komputer, dan yang terakhir <em>servlets/JSP</em> berjalan dalam JVM yang ter-<em>install</em> dalam <em>web server</em>.</p>
<p align="justify">Sedangkan <em>applet</em> dan aplikasi biasanya memiliki suatu antar muka (<em>user interface</em>) yang dipasangkan dengan fungsionalitas <em>backend</em>, <em>servlet</em> hanya menyediakan fungsionalitas <em>backend</em> saja.</p>
<p align="justify">Antar muka yang digunakan untuk <em>servlet</em> biasanya dalam bentuk HTML pada browser yang men-<em>invoke servlet</em>, tetapi setiap <em>applet</em> atau aplikasi yang membuka permintaan <em>Hypertext Transfer Protocol</em> (HTTP) dapat memanggil sebuah <em>servlet</em>. Dan sebaliknya, JSP, menggabungkan <em>servlet</em> dan HTML ke dalam satu komponen. Selain menggunakan halaman HTML dengan <em>servlet</em> terpisah, Anda bisa menggunakan halaman HTML dengan tag HTML yang biasa (<em>regular</em>) dengan gabungan <em>scriptles</em>, potongan-potongan pendek kode. Seluruh halaman lalu mengolahnya ke dalam <em>servlet</em> ketika diakses atau diserahkan dan hasilnya kembali ke halaman HTML yang sama, yang mengandung kode tersebut.</p>
<h4>Sumber</h4>
<ol>
<li>Nourie, D., and Pawlan, M., “<em>Introduction to Java Platform</em>”, Updated July 2007, <a href="http://java.sun.com/new2java/programming/intro/">http://java.sun.com/new2java/programming/intro/</a></li>
</ol>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Java ME, A mobile Rubik's Cube Timer]]></title>
<link>http://fl0g.wordpress.com/?p=66</link>
<pubDate>Sun, 06 Jul 2008 17:31:27 +0000</pubDate>
<dc:creator>fl0g</dc:creator>
<guid>http://fl0g.pt-br.wordpress.com/2008/07/06/java-me-a-mobile-rubiks-cube-timer/</guid>
<description><![CDATA[CubeMobile on a Nokia Phone

So here&#8217;s my first MIDlet or mobile java mobile edition program f]]></description>
<content:encoded><![CDATA[[caption id="attachment_67" align="aligncenter" width="360" caption="CubeMobile on a Nokia Phone"]<a href="http://fl0g.files.wordpress.com/2008/07/cubemobile.gif"><img class="size-full wp-image-67" src="http://fl0g.wordpress.com/files/2008/07/cubemobile.gif" alt="CubeMobile on a Nokia Phone" width="360" height="242" /></a>[/caption]
<p style="text-align:justify;">
<p style="text-align:justify;">So here's my first MIDlet or mobile java mobile edition program for mobile phones.  I wanted to have a Rubik's Cube scrambler and timer application on my phone so I could cube on the road. It's very basic and doesn't include a database with highscores and averages maybe I'll include that in the future.</p>
<p style="text-align:justify;">You can download the application here (rightclick, /saveas): <a href="http://taggle.110mb.com/CubeMobile.jar">http://taggle.110mb.com/CubeMobile.jar</a></p>
<p style="text-align:justify;">
]]></content:encoded>
</item>
<item>
<title><![CDATA[Java - Dicas e Tutoriais]]></title>
<link>http://alyssontmv.wordpress.com/?p=71</link>
<pubDate>Mon, 30 Jun 2008 16:47:50 +0000</pubDate>
<dc:creator>alyssontmv</dc:creator>
<guid>http://alyssontmv.pt-br.wordpress.com/2008/06/30/java-dicas-e-tutoriais/</guid>
<description><![CDATA[Outro bom site de dicas Java SE, Java EE, Java ME é o
http://www.java-tips.org/
O site é em Inglê]]></description>
<content:encoded><![CDATA[<p>Outro bom site de dicas Java SE, Java EE, Java ME é o</p>
<p><a href="http://www.java-tips.org/" target="_self">http://www.java-tips.org/</a></p>
<p>O site é em Inglês.</p>
<p>Até a próxima!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Kenalan sama Spring]]></title>
<link>http://henings.wordpress.com/?p=204</link>
<pubDate>Tue, 10 Jun 2008 05:01:05 +0000</pubDate>
<dc:creator>heningsept</dc:creator>
<guid>http://henings.pt-br.wordpress.com/2008/06/10/kenalan-sama-spring/</guid>
<description><![CDATA[Spring adalah salah satu application framework untuk aplikasi berbasis Java, tepatnya J2EE. Apakah a]]></description>
<content:encoded><![CDATA[<p>Spring adalah salah satu application framework untuk aplikasi berbasis Java, tepatnya J2EE. Apakah application framework itu? Setelah disarikan dari berbagai macam sumber bacaan, gw simpulkan application framework itu adalah sekumpulan aturan atau standar yang disertai dengan library, yang digunakan untuk mempermudah, mempercepat atau membuat pengembangan aplikasi secara rapi sehingga bisa dikembangkan lagi dengan mudah di kemudian hari. Sedangkan J2EE --sekarang disebut Java EE-- oleh situs Sun Microsystem dijelaskan sebagai</p>
<p>"<em>Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform, Standard Edition (Java SE) and is the industry standard for implementing enterprise-class service-oriented architecture (SOA) and next-generation web applications</em>".</p>
<p>Sederhananya, ini adalah edisi Java yang dipakai untuk mengembangkan aplikasi berskala besar atau enterprise. Edisi lainnya, Java SE (Standard Edition) adalah Java yang selama ini gw pakai untuk mengembangkan aplikasi desktop kecil2an). Dan satunya lagi, Java ME (Micro Edition) sesuai namanya, untuk mengembangkan aplikasi untuk perangkat kecil seperti PDA, handphone, dll. Jadi alih2 menggunakan Java SE yang selama ini gw pakai, sekarang gw akan mulai belajar dan menggunakan Java EE. Pak Endy Muhardin berbaik hati memberikan tips bagaimana mulai belajar Java EE di <a href="http://endy.artivisi.com/blog/java/road-to-java-ee/#more-331">sini</a>.</p>
<p>Sekarang balik lagi ke Spring. Ketika bicara tentang Spring, maka akan sering sekali terdengar istilah Inversion of Control (IoC) dan Dependency Injection. Gw sebagai pendatang baru dalam dunia Spring ini tentu saja bingung dengan kedua istilah itu. Untunglah ada forum berbahasa Indonesia yang membahas mengenai hal2 tersebut. Ada juga contoh yang bagus dari <a href="http://www.devx.com/Java/Article/21665">http://www.devx.com/Java/Article/21665.</a> Jadi mari lihat contoh berikut ini.</p>
<p>Misalnya gw mo buat suatu class yang bertugas memproses data, dalam arti membaca data dari suatu file dan memberikan data dari file tersebut pada class yang memanggilnya. Namanya class DataProcessor.</p>
<p><span style="color:#800080;">class DataProcessor<br />
{<br />
public Result processData()<br />
{<br />
FileDataReader dataReader = new FileDataReader("/data/file1.data");<br />
Data data = dataReader.readData();    //membaca data<br />
return data.calculateResult();    //mengembalikan data pada class yang memanggilnya<br />
}<br />
}</span></p>
<p>Ini dia potongan class yang memanggil si DataProcessor (disebut client code).</p>
<p><span style="color:#800080;">//client code:<br />
DataProcessor fileDataProcessor = new DataProcessor();    //membuat objek DataProcessor<br />
Result result = fileDataProcessor.processData();        //meminta data dari hasil pembacaan file</span></p>
<p>Di sini terlihat DataProcessor bergantung atau dependent pada FileDataReader. Kalau mau membaca data dari sumber lain, misalnya database, class DataProcessor harus direfactor, biar bisa menerapkan pembacaan data yang lebih general. Salah satu caranya dengan menggunakan interface.</p>
<p><span style="color:#800080;">interface DataReader {<br />
public Data readData(); }</span></p>
<p><span style="color:#800080;">class DataProcessor<br />
{<br />
private DataReader dataReader;</span></p>
<p><span style="color:#800080;"> public DataProcessor(DataReader reader) {<br />
this.dataReader = reader;  }</span></p>
<p><span style="color:#800080;"> public Result processData() {<br />
Data data = dataReader.readData();<br />
return data.calculateResult();   }<br />
}</span></p>
<p><span style="color:#800080;">//client code:<br />
FileDataReader dataReader = new FileDataReader("/data/file1.data");<br />
DataProcessor fileDataProcessor = new DataProcessor(dataReader);<br />
Result result = fileDataProcessor.processData();</span></p>
<p>DataProcessor tidak lagi beroperasi pada objek FileDataReader, melainkan pada interface DataReader yang diimplementasikan oleh FileDataReader sehingga lebih generic dan reusable. Masalahnya, setiap client code yang mau memproses data harus membuat objek data reader sendiri dan me-link objeknya dengan DataProcessor. Daripada begitu, kita bisa menginjeksikan kebergantungan (inject the dependency) antara DataReader dengan DataProcessor dengan factory class. Factory ini istilah yang baru gw kenal juga. Jadi ditambahankanlah class DataProcessorFactory ini dan client code-nya menggunakan jasa si factory untuk membuatkan reference ke DataProcessor.</p>
<p><span style="color:#800080;">class DataProcessorFactory<br />
{<br />
public static DataProcessor getFileDataProcessor()<br />
{<br />
DataReader reader = new FileDataReader("/data/file1.data");;<br />
DataProcessor dataProcessor = new DataProcessor(reader);<br />
return dataProcessor;<br />
}<br />
}</span></p>
<p><span style="color:#800080;">//client code:<br />
DataProcessor fileDataProcessor = DataProcessorFactory.getFileDataProcessor();<br />
Result result = fileDataProcessor.processData();</span></p>
<p>Si factory-lah yang membuatkan objek dari DataProcessor untuk client. Client tinggal meminta objek dan data hasil baca file melalui factory. Dengan ini telah terjadi apa yang namanya Inversion of Control dengan cara Dependency Injection (DI). Bentuk IoC yang lain adalah Dependency Pull, tapi gw belum ngerti itu.</p>
<p>Semakin besar aplikasi yang dibuat, semakin banyak factory class yang diperlukan. Ini gak menguntungkan karena kebanyakan factory itu merupakan singleton sederhana, yang tugasnya membuat dan menghubungkan objek2, nggak bisa di-inherit sehingga banyak duplikasi. Kelebihan DI dengan Spring, menurut DevX.com adalah<br />
"<em>... its ability to act as a factory to create objects. Spring reads a schematic defined in an external configuration file, creates and wires the objects together using reflection, and then passes the objects back to you. Think of Spring as a factory that you don't have to write any code for.</em>"</p>
<p>Intinya, Spring membuatkan dan menghubungkan objek2 melalui skema yang didefiniskan di configuration file eksternal, dalam hal ini file XML (gw gak tau hanya bisa XML file apa bisa yang lain). Langsung aja ke contoh kodenya. Client code akan menjadi seperti ini.</p>
<p><span style="color:#800080;">//client code:<br />
InputStream is = new FileInputStream("src/examples/spring/beans.xml");<br />
BeanFactory factory = new XmlBeanFactory(is);</span></p>
<p><span style="color:#800080;">DataProcessor dataProcessor = (DataProcessor) factory.getBean("fileDataProcessor");<br />
Result result = dataProcessor.processData();</span></p>
<p>dan file XMLnya seperti ini.</p>
<p><span style="color:#008000;">&#60;?xml version="1.0" encoding="UTF-8"?&#62;<br />
&#60;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&#62;</span></p>
<p><span style="color:#008000;">&#60;beans&#62;<br />
&#60;bean name="fileDataProcessor"<br />
class="examples.spring.DataProcessor"<br />
singleton="true"&#62;<br />
&#60;constructor-arg&#62;<br />
&#60;ref bean="fileDataReader"/&#62;<br />
&#60;/constructor-arg&#62;<br />
&#60;/bean&#62;<br />
&#60;bean name="fileDataReader"<br />
class="examples.spring.FileDataReader"<br />
singleton="true"&#62;<br />
&#60;constructor-arg&#62;<br />
&#60;value&#62;/data/file1.data&#60;/value&#62;<br />
&#60;/constructor-arg&#62;<br />
&#60;/bean&#62;<br />
&#60;/beans&#62;</span></p>
<p>Selalu dibungkus dengan tag &#60;beans&#62;&#60;/beans&#62;, di dalamnya bisa ada banyak tag &#60;bean&#62;, yang merepresentasikan objek di code Java yang kita buat. Contohnya pada code XML di atas, bean name yang pertama adalah "fileDataProcessor", ini adalah identifier untuk objek bertipe DataProcessor (class="examples.spring.DataProcessor"). Singleton = true artinya gw rasa mirip2 static di Java, jadi setiap kali ada request dari client, Spring akan selalu memberikan instance yang sama. Kalau singleton diset false, Spring akan membuat bean (instance kali ya maksudnya) yang berbeda untuk setiap request. Dalam tag &#60;constructor-arg&#62;, &#60;ref bean="fileDataReader"/&#62; berarti passing objek dengan id "fileDataReader" untuk constructornya. Dari tag bean yang kedua bisa kita lihat bahwa "fileDatReader" ini nama instance dari class FileDataReader. Bean yang kedua ini mempassing nilai ke constructornya (lihat &#60;value&#62;/data/file1.data&#60;/value&#62;).</p>
<p>Sampai saat ini itulah yang gw pahami. Masih belum mengerti hal2 lain seperti AOP, DAO, dan ORM. Kesimpulan tentang Spring, katanya sih framework yang satu ini sangat mantep sekali. Ini garis besarnya</p>
<ul>
<li> Spring bertujuan untuk meminimalkan dependency antar komponen aplikasi dan menyediakan plug-in architecture. Mungkin inilah yang mendukung terjadinya dynamic workflow seperti yang dijelaskan supervisor KP gw kemaren. Jadi kita bisa pasang komponen aplikasi saat runtime tanpa perlu bongkar kode Java-nya.</li>
<li>Object linking di Spring didefinisikan di file XML, jadi kita bisa memasang komponen atau konfigurasi yang berbeda saat runtime.</li>
<li>Berbeda dengan factory yang invasive, di mana client sangat tergantung pada factory karena meminta objek ke sana, Spring menyediakan reference objek ke client yang membutuhkan. Spring secara aktif merangkai dependency dari objek yang gak kenal satu sama lain menjadi aplikasi yang utuh.</li>
<li>Kemampuannya ini berguna banget buat Test-Driven-Development di Xtreme Programming (gw gak terlalu ngerti ini). Tapi mungkin artinya adalah bisa memudahkan untuk testing sana sini. Karena kode2 gak saling kenal, tp kalo mau disatuin juga gampang. Client gak perlu membuat objek baru (gak pernah membuat reference dengan keyword new), gak perlu lookup ke factory, Spring yang menyediakan dependency-nya secara runtime--dengan real maupun mock object.</li>
<li>Unit testing jadi mudah dilakukan karena gak ada dependecy yang hard-code, class2 yang ada saling gak kenal satu sama lain.</li>
</ul>
<p>sumber2 bacaan:<br />
<a href="http://dotnet.netindonesia.net/?0::21357">http://dotnet.netindonesia.net/?0::21357</a><br />
<a href="http://www.devx.com/Java/Article/21665">http://www.devx.com/Java/Article/21665</a><br />
<a href="http://arfan86.blogspot.com/2007/02/chating-tentang-spring-framework.html">http://arfan86.blogspot.com/2007/02/chating-tentang-spring-framework.html</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Comparing Mobile Platforms: Java ME and Adobe Flash Lite]]></title>
<link>http://vilebody.wordpress.com/?p=60</link>
<pubDate>Thu, 05 Jun 2008 08:22:32 +0000</pubDate>
<dc:creator>vilebody</dc:creator>
<guid>http://vilebody.pt-br.wordpress.com/2008/06/05/comparing-mobile-platforms-java-me-and-adobe-flash-lite/</guid>
<description><![CDATA[
If you are a mobile developer, you are always being confronted with the Flash Lite vs Java discussi]]></description>
<content:encoded><![CDATA[<p><img style="margin-top:5px;margin-bottom:5px;" src="http://vilebody.files.wordpress.com/2008/06/mobile_dev.png" alt="" width="500" height="200" /></p>
<p>If you are a mobile developer, you are always being confronted with the Flash Lite vs Java discussion. You may have noticed that more devices these days are supporting Adobe Flash Lite. According to the latest figures, approximately 500 million devices in the market support some form of the Flash Lite specification. That's not that much compared to the 1.2 billion  Java ME devices that are currently available</p>
<p><strong>Bruce Hopkins</strong> thought that it would be worthwhile to see the strengths and weaknesses of each platform side by side. He is comparing the latest and greatest specifications for both platforms in the following categories</p>
<p>Graphics<br />
Multimedia<br />
Local Device Accessibility<br />
Security<br />
Network Connectivity<br />
Miscellaneous</p>
<p>Definately <a href="http://blogs.sun.com/mobility_techtips/entry/comparing_mobile_platforms_java_me">check out the whole article</a>.</p>
<p>He concludes saying each platform has its own strengths and weaknesses when it comes to mobile application development. Flash Lite-enabled devices are really good at displaying graphics and multimedia, which lends itself to several gaming applications. On the other hand, devices that support the Java ME MSA platform are the obvious choice when you need to communicate with Bluetooth devices, use location based services, capture audio/video, render 3D graphics, or perform any form of asynchronous communication.</p>
<p>To make your applications as ''rich'' as possible you should try to combine both technologies. Use Flash lite to build up a stunnig visual Mobile Interface and try to use Jave ME to expand your app and provide all sorts of functionalities like Reading/Writing phone data, use Bluetooth, Camera, Contact List acces..</p>
<p><img src="http://www.i2tecnologia.com.br/jarpa/Jarpa_Banner.png" alt="" width="690" height="92" /></p>
<p>This should already be possible using the <a title="Flash Lite and Java ME together" href="http://www.i2tecnologia.com.br/jarpa/" target="_blank">Jarpa Framework</a>. Created by <a href="http://blog.felipeandrade.org/">Felipe Andrade</a> and <a href="http://www.biskero.org/">Alessandro Pace</a>, Jarpa is a free of charge software solution under terms of <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License</a>. You can make richer apps using this framework but you should know it does not work on every phone.</p>
<p>get a list of <a href="http://www.i2tecnologia.com.br/jarpa/">Compatible Jarpa Devices</a></p>
<h6><strong></strong></h6>
<address> </address>
<p>I'm really looking forward using/trying/exploring Jarpa, i'm just waiting for some more source code examples in their "How To" section. If you guys should read this, can you give us some more insight on that?</p>
<p><img class="alignright" style="float:right;margin:7px;" src="http://www.brison-sa.be/images/GSMSON1028_Ericsson_W200I%20.jpg" alt="" width="317" height="351" /> A while ago Sony Ericsson, has made significant progress on bridging the gap between both platforms with its <a href="http://developer.sonyericsson.com/site/global/newsandevents/latestnews/newsapr08/p_project_capuchin_announcement.jsp">Capuchin technology</a>, which was announced in late April: "...a Java ME API that defines a bridge between the Java ME and Adobe Flash Lite programming environments. This API makes it possible to use Flash Lite as the front end and Java ME as the back end of applications, meaning that Flash tools can be used for UI design while still having access to all the phone services available to Java ME.</p>
<p>Looks promising!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Starting to learn Java Mobile With Netbeans 6]]></title>
<link>http://linuxgembel.wordpress.com/?p=233</link>
<pubDate>Thu, 29 May 2008 17:08:45 +0000</pubDate>
<dc:creator>Kiki Ahmadi</dc:creator>
<guid>http://linuxgembel.pt-br.wordpress.com/2008/05/30/starting-to-learn-java-mobile-with-netbeans-6/</guid>
<description><![CDATA[Mungkinkah kaupun juga begitu
tau kau masih maLu untuk
sungguh ingin kusapa
namun
ku terdiam
tak kuL]]></description>
<content:encoded><![CDATA[<p><em>Mungkinkah kaupun juga begitu<br />
tau kau masih maLu untuk<br />
sungguh ingin kusapa<br />
namun<br />
ku terdiam<br />
tak kuLakukan<br />
- Terdiam, Malique And Dessentials</em></p>
<p>Beberapa hari menjelang UAS nih bro. Hari hari kritis dimana sebagian besar mahasiswa digilas oleh tugas bertubi tubi sebagai sesajen pada dosen dupaya terhindar dari jurang ketidak lulusan, hehehe. Tapi disaat kritis seperti ini pun, saya masih belum sepenuhnya konsen ke kuliah  yang part-time semester ini.</p>
<p>Ada ajakn dari seorang teman buat bikin game mobile. Awalnya rada ragu dan keder soalnya belum pernah utak atik java mobile. For the sake of the development of indonesian IT human resource (hueeek), akhirnya saya nerima juga tawaran itu. Mulai bongkar bongkar flazx deh saya buat nyari ebook mobile development. Salah satunya yang  berhasil saya download adalah ini.</p>
<p><img src="http://images.amazon.com/images/P/1590598806.01.MZZZZZZZ.jpg" alt="" width="156" height="206" /></p>
<p>Bisa didapatkan secara gak bener <a href="http://www.flazx.info/Twzxc3Yw/1590598806.zip.htm" target="_blank"><strong>disini</strong></a></p>
<p>Setelah dapet ebooknya, mulai deh memanaskan IDE satu-untuk-semua Netbeans 6.0. Karena IDE ini sepengetahuan saya terdapat fitur Mobile Developmentnya. Oke, mulai deh oprek kecil kecilan.</p>
<p><!--more--></p>
<p>Netbeans6.0 menyediakan fasilitas lengkap buat newbie seperti saya yang ingin mencoba games development pake java. Jika menginstall netbeans 6 yang full version atau yang mobile version, sudah terinclude didalamnya Sun Wireless Toolkit beserta Emulator hapenya sekalian. Dan yang menyenangkan terdapat fasilitas Visual Game Editor.</p>
<p>Saya mencoba buat project yang tipenya mobile. Pada source folder (/src), di klik kanan.</p>
<p><a href="http://linuxgembel.wordpress.com/files/2008/05/2.jpg"><img class="alignnone size-medium wp-image-234" src="http://linuxgembel.wordpress.com/files/2008/05/2.jpg?w=300" alt="" width="300" height="278" /></a></p>
<p><em>Visual game design</em></p>
<p>Terdapat opsi Visual game design disitu. Di dalam Visual game design terdapat 3 opsi utamayaiut Scene design, Tile design dan Sprite design. Saya masih meraba raba mengenai 3 item ini tetapi kesimpulan awal yang saya dapet Scene itu "adegan" pada satu layar didalam game, Tiles adalah background atau landmarknya dan Sprite adalah gerakan yang terjadi dalam game.</p>
<p><a href="http://linuxgembel.wordpress.com/files/2008/05/1.jpg"><img class="alignnone size-medium wp-image-235" src="http://linuxgembel.wordpress.com/files/2008/05/1.jpg?w=300" alt="" width="300" height="179" /></a></p>
<p><em>Visual game editor pada netbeans 6.0.1</em></p>
<p>Untuk pembuatan sprite misalnya, menu yang ditawarkan oleh netbeans cukup menarik. Seperti pembuatan Form Swing yang tinggal drag and drop, untuk membuat sprite tinggal geret saja gambar yang diload terlabih dahulu dan tempakan pada tiimeline canvas. Netbeans akan membuat sprite gambar tersebut secara otomatis seperti yang fitur Motion Tween pada Adobe Flash. Yang saya coba dibawah menggunakan paket gambar sample dari netbeans sendiri.</p>
<p><a href="http://linuxgembel.wordpress.com/files/2008/05/4.jpg"><img class="alignnone size-medium wp-image-236" src="http://linuxgembel.wordpress.com/files/2008/05/4.jpg?w=300" alt="" width="300" height="220" /></a></p>
<p><em>Sprite editor</em></p>
<p>Cukup Mudah ternyata untuk sekedar membuat karakter berjalan. Framerateya juga bisa diatur di sini.</p>
<p>Masih sebegitu ajah explore saya untuk hari ini temen temen. Masih donlot SDK Symbian, mau develop di Hape Nokia soalnya. Kalau ada hal menarik akan saya coba posting lagi. Thanx for reading temen temen.</p>
<p>Keep In java.</p>
<p>:)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Swedish Game Awards 08: Grand Finale]]></title>
<link>http://sunkth.wordpress.com/?p=112</link>
<pubDate>Tue, 20 May 2008 12:50:55 +0000</pubDate>
<dc:creator>sunkth</dc:creator>
<guid>http://sunkth.pt-br.wordpress.com/2008/05/20/swedish-game-awards-08-grand-finale/</guid>
<description><![CDATA[
After having several workshops, events and a tough competition, Swedish Game Awards 2008 final even]]></description>
<content:encoded><![CDATA[<p><a href="http://sunkth.files.wordpress.com/2008/05/final_webbanner.png"><img class="aligncenter size-medium wp-image-113" src="http://sunkth.wordpress.com/files/2008/05/final_webbanner.png?w=300" alt="" width="337" height="156" /></a></p>
<p>After having several workshops, events and a tough competition, Swedish Game Awards 2008 final event, the Grand Finale, will take place on the 24th of May 2008, at Kulturhuset Stockholm, Hörsalen on the 3rd Floor. Here is a brief timeplan of what will happen:</p>
<h2>Grand Finale Timeplan</h2>
<p><strong>11:00-16:00 – Games Career Expo</strong><br />
During the day, the Games Career Expo will be open to the public in Hörsalen on the 3rd floor, Kulturhuset Stockholm. At the Expo you will be able to try out the nominated games and meet our partners. During the Expo, all submitted trailers will be shown in segments, you will also be able to meet some of last years winners and see how their games have evolved.</p>
<p><strong>17:00-18:30 – Prize Ceremony</strong><br />
The Price Ceremony starts at 17:00 in Hörsalen on the 3rd floor, Kulturhuset Stockholm. Orvar Säfström will be hosting the Prize Ceremony where the the winners of Swedish Game Awards 2008 will be announced.</p>
<p><strong>19:00 – Exlusive Dinner and Afterparty</strong><br />
All nominees will be invited to the exlusive Dinner and Afterparty after the Price Ceremony.</p>
<p>Two excellent mobile games have been nominated for the Java ME/Netbeans prize for 10 000 SEK, Swarm and Blocko; both teams will show off their games during the expo.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NetBeans 6.1]]></title>
<link>http://celikalper.wordpress.com/?p=71</link>
<pubDate>Tue, 06 May 2008 18:11:18 +0000</pubDate>
<dc:creator>alper celik</dc:creator>
<guid>http://celikalper.pt-br.wordpress.com/2008/05/06/netbeans-61/</guid>
<description><![CDATA[After I used NetBeans 6.1 IDE, I realized that while opening the IDE it is much more faster than oth]]></description>
<content:encoded><![CDATA[<p>After I used NetBeans 6.1 IDE, I realized that while opening the IDE it is much more faster than other versions. I guess it has been improved almost  %40-%50 and now it is opening time is very fast. Since I did some programing sometimes, this is really good for me. In addition to this I realized that code completion function is much more better than other versions. I also realized that memory usage is better than other versions and it does not make your computer slower. <span style="font-size:11pt;font-family:'FuturaA Bk BT';">Another cool feature is support for Javascript, MySQL, Ruby/JRuby and Spring is very good and has been improved.</span></p>
<p>For me the best thing is NetBenas 6.1 IDE is opening very fast, and it was the most exciting thing for me. I really suggest you to download the NetBeans 6.1 and use it, I am pretty sure that you will like it.</p>
<p><a name="a2a_dd" href="http://www.addtoany.com/bookmark?linkname=How%20to%20Make%20Meaning&#38;linkurl=www.celikalper.wordpress.com"><img src="http://static.addtoany.com/buttons/share_save_171_16.gif" border="0" alt="" width="171" height="16" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Capuchin : Project Baru dari Sony Ericsson yang Menggabungkan antara Java ME dengan Flash Lite]]></title>
<link>http://jjlifeblog.wordpress.com/?p=118</link>
<pubDate>Thu, 01 May 2008 15:48:40 +0000</pubDate>
<dc:creator>jjlifeblog</dc:creator>
<guid>http://jjlifeblog.pt-br.wordpress.com/2008/05/01/capuchin-project-baru-dari-sony-ericsson-yang-menggabungkan-antara-java-me-dengan-flash-lite/</guid>
<description><![CDATA[Ada informasi yang sangat menarik dari Sony Ericsson Developer World, di mana saat ini Sony Ericsson]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">Ada informasi yang sangat menarik dari <span style="color:#008000;"><a href="http://developer.sonyericsson.com/">Sony Ericsson Developer World</a></span>, di mana saat ini Sony Ericsson sedang mengembangkan proyek baru yang diberi nama <strong>Project Capuchin</strong>, berupa teknologi Java ME API yang menghubungkan antara Java ME dengan Adobe Flash Lite, untuk interface atau menu-menu pada telepon selular.</p>
<p>Berikut adalah informasi lengkap yang diambil dari website di atas :</p>
<p><strong><a href="http://developer.sonyericsson.com/site/global/newsandevents/latestnews/newsapr08/p_project_capuchin_announcement.jsp">Sony Ericsson's new Project Capuchin bridges Java ME and Flash Lite</a></strong></p>
<p>April 30, 2008<br />
<strong> Sony Ericsson's new Project Capuchin bridges Java ME and Flash Lite</strong></p>
<p style="text-align:justify;">On April 30, 2008 Sony Ericsson announced its new Project Capuchin technology which is a Java ME API that defines a bridge between the Java ME and Adobe Flash Lite programming environments. This API makes it possible to use Flash Lite as the front end and Java ME as the back end of applications, meaning that Flash tools can be used for UI design while still having access to all the phone services available to Java ME.</p>
<p style="text-align:justify;">Below you will find an overview of this new bridging technology, a summary of how it works and usage examples.</p>
<p style="text-align:justify;"><strong>Sony Ericsson's Project Capuchin Overview</strong><br />
Project Capuchin allows developers to combine the richness of both Java ME and Flash Lite by encapsulating Flash Lite content in Java ME applications making content created by Adobe Flash technology appear as Java ME applications. Project Capuchin empowers these two distinct developer communities to leverage their respective expertise to quickly and securely create highly engaging mobile content.</p>
<p style="text-align:justify;">Project Capuchin is a bridging technology between Java ME and Flash Lite making it possible to take advantage of Flash's strengths in fast UI deployment and well established designer tools, meanwhile Java's strengths are in services, security and a well developed distribution infrastructure. Project Capuchin makes it possible to create Java applications where some or all UI components are defined in Flash Lite and where all services can be accessed through Java.</p>
<p style="text-align:justify;">Project Capuchin is proprietary Sony Ericsson technology and will be made available for developers to use for free during the second of half of 2008.</p>
<p style="text-align:justify;"><strong>How does Project Capuchin Work?</strong></p>
<p style="text-align:justify;"><strong></strong>Project Capuchin is a Java ME API which makes it possible for Java to run a Flash Lite content file (*.swf) that is shown on the display. All system events (e.g. key events) are forwarded from Java to Flash Lite and the Flash Lite player has a choice of listening to these events. In case Flash Lite wants to access some information then it is done through Java. Communication between Flash Lite and JSRs are handled through an intermediate class that works as a translator. This class listens to Flash Lite requests, transfers these to JSR calls, and sends response back to Flash Lite. Communication between Flash Lite and Java is bi-directional meaning that Flash Lite can send requests to and receive events from Java. Requests send from Flash Lite are made in an asynchronous manner.</p>
<p style="text-align:center;"><img class="aligncenter" src="http://img237.imageshack.us/img237/6533/projectcapuchinmodelwebub7.jpg" alt="" /></p>
<p><em> Project Capuchin model</em></p>
<p style="text-align:justify;"><strong>Different approaches to using Project Capuchin</strong></p>
<p style="text-align:justify;"><strong></strong>Project Capuchin can be used in different ways to create innovative content and here are some examples:</p>
<ul>
<li><strong>Pure Flash Lite Content (Full Flash UI and services, no Java ME access):</strong><br />
The simplest form of using this technology is to take pure Flash Lite content (e.g. already existing games and apps developed in Flash) and encapsulate it in MIDlet suites (*.jar) using Sony Ericsson's soon-to-be-available packaging tools. The benefit of this approach is that this Flash Lite content will be treated in the same manner as Java content, thus will use the same distribution infrastructure and system capabilities as Java ME content.</li>
<li><strong>Java MIDlet using Project Capuchin as UI presentation layer (full Flash UI, Java Services):</strong><br />
More advanced use of Project Capuchin is to let Flash Lite handle the entire presentation layer and use Java as a service provider which feeds the presentation layer with necessary data.</li>
<li><strong>Java MIDlet using Project Capuchin for some UI components (Java UI and Flash UI, Java Services):</strong><br />
In some cases such as 3D games, it is not feasible to use Flash Lite as a full presentation layer yet this should be handled using suitable Java technology (e.g. Mascot API, JSR 184 or JSR 239). In these cases, Project Capuchin could be used for presentation of some UI components, for example menus in 3D games.</li>
</ul>
<p>More information, documentation and tools support will be made available on Developer World over the next few months.</p>
<p><strong>More information:</strong></p>
<ul>
<li><a href="http://www.sonyericsson.com/cws/corporate/press/pressreleases/latestnews" target="_blank">Read Sony Ericsson's official Project Capuchin press release&#62;&#62;</a></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Nueva versión de NetBeans Mobility: 6.1]]></title>
<link>http://javiercancela.com/2008/04/29/nueva-version-de-netbeans-mobility-61/</link>
<pubDate>Tue, 29 Apr 2008 19:00:57 +0000</pubDate>
<dc:creator>Javier Cancela</dc:creator>
<guid>http://javiercancela.com/2008/04/29/nueva-version-de-netbeans-mobility-61/</guid>
<description><![CDATA[No soy usuario de NetBeans, la principal alternativa a Eclipse para programar con Java ME, pero para]]></description>
<content:encoded><![CDATA[<p>No soy usuario de NetBeans, la principal alternativa a Eclipse para programar con Java ME, pero para quien sí lo sea aquí está la nueva versión: <a href="http://download.netbeans.org/netbeans/6.1/final/" title="NetBeans IDE 6.1 Download">NetBeans IDE 6.1 Download</a>.</p>
<p>Por lo poco que he visto, la principal novedad es el soporte <a href="http://www.w3.org/Graphics/SVG/" title="SVG">SVG</a> mejorado.</p>
<p>Vía: <a href="http://blogs.forum.nokia.com/blog/jacek-wojciechowskis-forum-nokia-blog/java/2008/04/28/netbeans-mobility-6.1-final-is-now-available" title="NetBeans Mobility 6.1 (final) is now available"><em>NetBeans Mobility 6.1 (final) is now available</em></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Tutoriais Java ME]]></title>
<link>http://universodeideias.wordpress.com/?p=61</link>
<pubDate>Mon, 28 Apr 2008 19:33:21 +0000</pubDate>
<dc:creator>Astronauta</dc:creator>
<guid>http://universodeideias.pt-br.wordpress.com/2008/04/28/tutoriais-java-me/</guid>
<description><![CDATA[Paz!
Uma dúvida me veio logo depois de ler um artigo da revista Web Mobile, edição 17 foi como co]]></description>
<content:encoded><![CDATA[<p>Paz!</p>
<p>Uma dúvida me veio logo depois de ler um artigo da revista <a href="http://www.devmedia.com.br/canais/default.asp?site=38">Web Mobile, edição 17</a> foi como colocar a midlet criada dentro do celular. Procurando por essa informação, descobri que no site da nokia, além de um <a href="http://wiki.forum.nokia.com/index.php/Java_ME_FAQ_(Portugu%C3%AAs)">FAQ</a>, tem uma série de <a href="http://www.forum.nokia.com/main/resources/technologies/java/documentation/networking.html">tutoriais</a> muito bons. Eles ainda os classificaram em "Basic", "Intermediate" e "Advanced".  Depois de clicar nela, você pode baixá-la em PDF. Vale a pena conferir!</p>
<p>P.S.: Ainda não aprendi a colocar a midlet dentro do celular. Se alguém souber, por favor deixe um recado aqui mesmo. Valeu!</p>
<p>Fiquem com Deus</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Sun SPOT Presentations at KTH]]></title>
<link>http://sunkth.wordpress.com/?p=105</link>
<pubDate>Fri, 25 Apr 2008 17:26:18 +0000</pubDate>
<dc:creator>sunkth</dc:creator>
<guid>http://sunkth.pt-br.wordpress.com/2008/04/25/sun-spot-presentation-at-kth/</guid>
<description><![CDATA[We organized Sun SPOT presentations at KTH this week. First one was in main campus and the second on]]></description>
<content:encoded><![CDATA[<p>We organized Sun SPOT presentations at KTH this week. First one was in main campus and the second one was in Kista campus, where all the IT students and companies are located. We got good responses from participants and we are happy to share our knowledge with the community.</p>
<p>Here you can watch a sample project from KTH Campus Ambassadors and Kenneth.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/ARMGW_RLZx0'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/ARMGW_RLZx0&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>After the presentation some of the students asked about the presentation slides. Here you can re-check the slides. If you need more and deeper information please do not hesitate to contact with us.</p>
<p>[slideshare id=372475&#38;doc=sunspot-1209143864018913-8&#38;w=425]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Free Online Courses for KTH Students]]></title>
<link>http://sunkth.wordpress.com/?p=97</link>
<pubDate>Thu, 27 Mar 2008 17:57:27 +0000</pubDate>
<dc:creator>sunkth</dc:creator>
<guid>http://sunkth.pt-br.wordpress.com/2008/03/27/free-online-courses-for-kth-students/</guid>
<description><![CDATA[In today&#8217;s world of higher education, students are looking for more than just a diploma. Acade]]></description>
<content:encoded><![CDATA[<p><a href="http://sunkth.wordpress.com/files/2008/03/919494_21127830.jpg" title="Direct link to file"><img src="http://sunkth.wordpress.com/files/2008/03/919494_21127830.thumbnail.jpg" alt="sai_photo" align="left" height="128" width="85" /></a>In today's world of higher education, students are looking for more than just a diploma. Academic institutions are challenged to keep curricula current with the latest technologies. At the same time, students are looking for industry recognized training that can fast-track their careers and increase their finances. <b>According to a Certification Magazine Salary Survey, <a href="http://www.sun.com/solutions/landing/industry/education/sai/index.xml" target="_blank">Sun Certification</a> increases earning power</b>:</p>
<ul>
<li>Sun Certified Programmers earn on average 8.3% more than the average programmer</li>
<li>Sun Certified Developers earn on average 14.3% more than the average developer</li>
<li>Sun Certified System Administrators earn on average 31% more than system administrators certified on other operating systems</li>
</ul>
<p>Clearly, if you're looking to have an edge, technology training through the <a href="http://www.sun.com/solutions/landing/industry/education/sai/index.xml" target="_blank">Sun Academic Initiative</a> can offer materials for mastery of skills that will propel students into fulfilling careers right from the start.</p>
<p><b>For the online course catalog, you can check <a href="http://sunkth.wordpress.com/files/2008/03/sai_coursecatalog_11mar08_1.pdf" title="sai">here</a>.</b></p>
<p>Please <a href="http://sunkth.wordpress.com/contact-us/" target="_blank"><b>contact with us</b></a> for the registration instructions</p>
<p><a href="http://podcasts.odiogo.com/get_mp3.mp3?f=/sun-shines-on-kth/Sun_Shines_on_KTH-Free_Online_Courses_for_KTH_Students.mp3" target="_blank"><b>Download Podcast </b></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Sony Ericsson W910i R1EA030 firmware.]]></title>
<link>http://smoco.wordpress.com/?p=17</link>
<pubDate>Wed, 27 Feb 2008 23:55:09 +0000</pubDate>
<dc:creator>Steve Oldmeadow</dc:creator>
<guid>http://smoco.pt-br.wordpress.com/2008/02/27/sony-ericsson-w910i-r1ea030-firmware/</guid>
<description><![CDATA[Last week I upgraded the firmware on my W910i to R1EA030 and am very impressed.  I&#8217;m primari]]></description>
<content:encoded><![CDATA[<p>Last week I upgraded the firmware on my W910i to R1EA030 and am very impressed.  I'm primarily speaking from a Java perspective but my phone has a new lease of life.</p>
<p>The R1EA030 firmware includes Java Platform 8.2 and Sony Ericsson seem to have done some major screw tightening.  The main things I have noticed so far are general speed improvements and much better audio support in Java.</p>
<p>Hopefully all future A200 models will come with Java Platform 8.2 at least and Sony Ericsson can put some of the firmware woes that plagued early A200 phones behind it.  If you have older firmware on your W910i I highly recommend upgrading - just download the Sony Ericsson Update Service tool from <a href="http://www.sonyericsson.com/cws">http://www.sonyericsson.com/cws</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Saber ME: Lightsaber for Sony Ericsson phones with accelerometers.]]></title>
<link>http://smoco.wordpress.com/?p=14</link>
<pubDate>Thu, 07 Feb 2008 07:51:22 +0000</pubDate>
<dc:creator>Steve Oldmeadow</dc:creator>
<guid>http://smoco.pt-br.wordpress.com/2008/02/07/saberme-lightsaber-for-sony-ericsson-phones-with-accelerometers/</guid>
<description><![CDATA[Smoco has been asked to stop distributing Saber ME.  You can still view the video though:
 
]]></description>
<content:encoded><![CDATA[<p>Smoco has been asked to stop distributing Saber ME.  You can still view the video though:</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/MahrN3ha8G8'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/MahrN3ha8G8&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Leyendo nuestro GPS desde Java con la JavaME Location API (JSR-179) - Parte II]]></title>
<link>http://javiercancela.com/2008/01/18/leyendo-nuestro-gps-desde-java-con-la-javame-location-api-jsr-179-parte-ii/</link>
<pubDate>Fri, 18 Jan 2008 07:00:32 +0000</pubDate>
<dc:creator>Javier Cancela</dc:creator>
<guid>http://javiercancela.com/2008/01/18/leyendo-nuestro-gps-desde-java-con-la-javame-location-api-jsr-179-parte-ii/</guid>
<description><![CDATA[Esta entrada completa la explicación del ejemplo tratado en la serie de entradas Un ejemplo de apli]]></description>
<content:encoded><![CDATA[<p>Esta entrada completa la explicación del ejemplo tratado en la serie de entradas<strong> Un ejemplo de aplicación Java para BlackBerry</strong>. Ver enlaces al final.</p>
<p><strong>Recapitulando</strong></p>
<p>GPSDemo es una aplicación para BlackBerry que hace  uso de la API JSR-179 para mostrar información de la posición y velocidad  obtenidas de un dispositivo GPS o similar (ver la entrada <a href="http://javiercancela.com/2008/01/07/leyendo-nuestro-gps-desde-java-con-la-javame-location-api-jsr-179-parte-i/" title="Leyendo nuestro GPS desde Java con la JavaME Location API (JSR-179) - Parte I">Leyendo nuestro GPS desde Java con la JavaME Location API (JSR-179) - Parte I</a> para una explicación de las posibles fuentes de información).</p>
<p>Habíamos dejado pendiente de describir el método <code>startLocationUpdate()</code> que se llama desde el constructor de la clase <code>GPSDemo</code>:</p>
<blockquote><p>	<code>private void startLocationUpdate()<br />
{<br />
try<br />
{<br />
_locationProvider = LocationProvider.getInstance(null);<br />
if ( _locationProvider == null )<br />
{<br />
Dialog.alert("GPS is not supported on this platform, exiting...");<br />
System.exit(0);<br />
}<br />
_locationProvider.setLocationListener(new LocationListenerImpl(), _interval, 1, 1);<br />
}<br />
catch (LocationException le)<br />
{<br />
System.err.println("Failed to add a location listener. Exiting...");<br />
System.err.println(le);<br />
System.exit(0);<br />
}<br />
}</code></p></blockquote>
<p>Lo primero que hacemos es obtener un proveedor de contenidos, con los criterios por defecto. En caso de no poder obtener uno, salimos de la aplicación.<br />
La otra cosa que hace este método es establecer el objeto responsable de escuchar la información que llega del GPS. La variable _internal se estableció previamente al valor 1, con lo que la información se actualizará aproxamadamente una vez por segundo. Los dos últimos parámetros establecen el <em>timeout</em> y la caducidad de los datos.<br />
Para actuar como <em>listener</em> del GPS una clase debe implementar la interfaz <code>LocationListener</code>.</p>
<p><strong>La clase <code>LocationListenerImpl</code></strong></p>
<p>De forma más bien descriptiva, la clase <em>listener</em> de nuestro ejemplo se llama <code>LocationListenerImpl</code>:</p>
<blockquote><p><code>private class LocationListenerImpl implements LocationListener<br />
{<br />
// Members. --------------------------------------------------------------<br />
private int captureCount;</code></p>
<p><code>public void providerStateChanged(LocationProvider provider, int newState)<br />
{<br />
// No operation defined.<br />
}<br />
...</code></p></blockquote>
<p>La interfaz tiene dos métodos. providerStateChanged nos avisa de los cambios de estado de nuestro proveedor de localización, básicamente cuando deja de estar disponible por algún tipo de problema; como estamos pensando sólo en el GPS, que no va a quedar fuera de servicio, no implementamos este método.<br />
El otro método es el que nos avisa de que el GPS ha suministrado una nueva localización:</p>
<blockquote><p><code>public void locationUpdated(LocationProvider provider, Location location)<br />
{<br />
if(location.isValid())<br />
{<br />
float heading = location.getCourse();<br />
double longitude = location.getQualifiedCoordinates().getLongitude();<br />
double latitude = location.getQualifiedCoordinates().getLatitude();<br />
float altitude = location.getQualifiedCoordinates().getAltitude();<br />
float speed = location.getSpeed();<br />
// Horizontal distance.<br />
float horizontalDistance = speed * _interval;<br />
_horizontalDistance += horizontalDistance;<br />
// Horizontal distance for this waypoint.<br />
_wayHorizontalDistance += horizontalDistance;<br />
// Distance over the current interval.<br />
float totalDist = 0;<br />
// Moving average grade.<br />
for(int i = 0; i  0) _verticalDistance = _verticalDistance + altGain;<br />
captureCount += _interval;<br />
// If we’re mod zero then it’s time to record this data.<br />
captureCount %= CAPTURE_INTERVAL;<br />
// Information to display on the device.<br />
StringBuffer sb = new StringBuffer();<br />
sb.append("Longitude: " + longitude+ "\n");<br />
sb.append("Latitude: " + latitude+ "\n");<br />
sb.append("Altitude: " + altitude + " m\n");<br />
sb.append("Heading relative to true north: " + heading + "\n");<br />
sb.append("Speed : " + speed + +" m/s\n");<br />
sb.append("Grade : ");<br />
if(Float.isNaN(grade))<br />
sb.append(" Not available");<br />
else<br />
sb.append(grade+" %");<br />
GPSDemo.this.updateLocationScreen(sb.toString());<br />
}<br />
}</code></p></blockquote>
<p>Mucho código, pero muy simple. Se nos pasa como parámetros el <code>LocationProvider</code>, que no necesitamos, y un objeto <code>Location</code> que contiene, además de las coordenadas, la velocidad, la dirección y un método (<code>isValid()</code>) que nos dice si el objeto Location tiene coordenadas o no. En caso de utilizar como proveedor de contenidos un servicio de pago del operador, podríamos tener información adicional en el mismo objeto, como una dirección postal.</p>
<p><strong>Código de GPSDemo.java</strong></p>
<blockquote><p><code>/**<br />
* A GPS sample application using the JSR 179 APIs.<br />
*<br />
* Copyright (C) 2005 Research In Motion Limited.<br />
*/<br />
package com.rim.samples.docs.gpsdemo;<br />
import net.rim.device.api.ui.*;<br />
import net.rim.device.api.ui.component.*;<br />
import net.rim.device.api.ui.container.*;<br />
import com.rim.samples.docs.baseapp.*;<br />
import net.rim.device.api.io.*;<br />
import net.rim.device.api.system.*;<br />
import net.rim.device.api.i18n.*;<br />
import javax.microedition.io.*;<br />
import java.util.*;<br />
import java.io.*;<br />
import javax.microedition.location.*;<br />
import net.rim.device.api.util.*;<br />
import com.rim.samples.docs.resource.*;<br />
/* This application acts as a simple travel computer, recording route coordinates,<br />
* speed, and altitude.<br />
* Recording begins as soon as the application is invoked.<br />
*/<br />
public class GPSDemo extends BaseApp implements GPSDemoResResource<br />
{<br />
// Constants. ----------------------------------------------------------------<br />
// The number of updates in seconds over which the altitude is calculated.<br />
private static final int GRADE_INTERVAL=5;<br />
// com.rim.samples.docs.gpsdemo.GPSDemo.ID<br />
private static final long ID = 0x4e94d9bc9c54fed3L;<br />
private static final int CAPTURE_INTERVAL=10;<br />
// Statics. ------------------------------------------------------------------<br />
private static ResourceBundle _resources =<br />
ResourceBundle.getBundle(GPSDemoResResource.BUNDLE_ID, GPSDemoResResource.BUNDLE_NAME);<br />
// The period of the position query in seconds.<br />
private static int _interval = 1;<br />
private static Vector _previousPoints;<br />
private static float[] _altitudes;<br />
private static float[] _horizontalDistances;<br />
private static PersistentObject _store;<br />
// Initialize or reload the persistent store.<br />
static<br />
{<br />
_store = PersistentStore.getPersistentObject(ID);<br />
if(_store.getContents()==null)<br />
{<br />
_previousPoints= new Vector();<br />
_store.setContents(_previousPoints);<br />
}<br />
_previousPoints=(Vector)_store.getContents();<br />
}<br />
private long _startTime;<br />
private float _wayHorizontalDistance;<br />
private float _horizontalDistance;<br />
private float _verticalDistance;<br />
private ListField _listField;<br />
private EditField _status;<br />
private StringBuffer _messageString;<br />
private String _oldmessageString;<br />
private LocationProvider _locationProvider;<br />
/* Instantiate the new application object and enter the event loop.<br />
* @param args unsupported. no args are supported for this application<br />
*/<br />
public static void main(String[] args)<br />
{<br />
new GPSDemo().enterEventDispatcher();<br />
}<br />
// Constructors. -------------------------------------------------------------<br />
public GPSDemo()<br />
{<br />
// Used by waypoints; represents the time since the last waypoint.<br />
_startTime = System.currentTimeMillis();<br />
_altitudes=new float[GRADE_INTERVAL];<br />
_horizontalDistances=new float[GRADE_INTERVAL];<br />
_messageString= new StringBuffer();<br />
MainScreen screen = new MainScreen();<br />
screen.setTitle(new LabelField(_resources.getString(GPSDEMO_TITLE), LabelField.USE_ALL_WIDTH));<br />
_status = new EditField();<br />
screen.add(_status);<br />
screen.addKeyListener(this);<br />
screen.addTrackwheelListener(this);<br />
// Start the GPS thread that listens for updates.<br />
startLocationUpdate();<br />
// Render our screen.<br />
pushScreen(screen);<br />
}<br />
/* Update the GUI with the data just received.<br />
*/<br />
private void updateLocationScreen(final String msg)<br />
{<br />
invokeLater(new Runnable()<br />
{<br />
public void run()<br />
{<br />
_status.setText(msg);<br />
}<br />
});<br />
}<br />
// Menu items. ---------------------------------------------------------------<br />
// Cache the markwaypoint menu item for reuse.<br />
private MenuItem _markWayPoint = new MenuItem(_resources, GPSDEMO_MENUITEM_MARKWAYPOINT, 110, 10)<br />
{<br />
public void run()<br />
{<br />
GPSDemo.this.markPoint();<br />
}<br />
};<br />
// Cache the view waypoints menu item for reuse.<br />
private MenuItem _viewWayPoints = new MenuItem(_resources, GPSDEMO_MENUITEM_VIEWWAYPOINTS, 110, 10)<br />
{<br />
public void run()<br />
{<br />
GPSDemo.this.viewPreviousPoints();<br />
}<br />
};<br />
// Cache the close menu item for reuse.<br />
private MenuItem _close = new MenuItem(_resources, GPSDEMO_MENUITEM_CLOSE, 110, 10)<br />
{<br />
public void run()<br />
{<br />
System.exit(0);<br />
}<br />
};<br />
protected void makeMenu(Menu menu, int instance)<br />
{<br />
menu.add( _markWayPoint );<br />
menu.add( _viewWayPoints );<br />
menu.add( _close );<br />
menu.addSeparator();<br />
super.makeMenu(menu, instance);<br />
}<br />
/* Invokes the Location API with the default criteria.<br />
*/<br />
private void startLocationUpdate()<br />
{<br />
try<br />
{<br />
_locationProvider = LocationProvider.getInstance(null);<br />
if ( _locationProvider == null )<br />
{<br />
Dialog.alert("GPS is not supported on this platform, exiting...");<br />
System.exit(0);<br />
}<br />
// A single listener can be associated with a provider,<br />
// and unsetting it involves the same call but with null,<br />
// so there is no need to cache the listener instance.<br />
// Request an update every second.<br />
_locationProvider.setLocationListener(new LocationListenerImpl(), _interval, 1, 1);<br />
}<br />
catch (LocationException le)<br />
{<br />
System.err.println("Failed to add a location listener. Exiting...");<br />
System.err.println(le);<br />
System.exit(0);<br />
}<br />
}<br />
/* Marks a point in the persistent store. Calculations are based on<br />
* all data collected since the previous way point, or from the start<br />
* of the application if no previous waypoints exist.<br />
*/<br />
private void markPoint()<br />
{<br />
long current = System.currentTimeMillis();<br />
WayPoint p= new WayPoint(_startTime, current, _wayHorizontalDistance, _verticalDistance);<br />
addWayPoint(p);<br />
// Reset the waypoint variables.<br />
_startTime = current;<br />
_wayHorizontalDistance = 0;<br />
_verticalDistance = 0;<br />
}<br />
// View the saved waypoints.<br />
private void viewPreviousPoints()<br />
{<br />
PointScreen pointScreen = new PointScreen(_previousPoints, _resources);<br />
pushScreen(pointScreen);<br />
}<br />
// Called by the framework when this application is losing focus.<br />
protected void onExit()<br />
{<br />
if ( _locationProvider != null )<br />
{<br />
_locationProvider.reset();<br />
_locationProvider.setLocationListener(null, -1, -1, -1);<br />
}<br />
}<br />
/* Adds a new WayPoint and commits the set of saved waypoints<br />
* to flash memory.<br />
* @param p The point to add.<br />
*/<br />
/*package*/<br />
synchronized static void addWayPoint(WayPoint p)<br />
{<br />
_previousPoints.addElement(p);<br />
commit();<br />
}<br />
/* Removes a waypoint from the set of saved points and<br />
* commits the modifed set to flash memory.<br />
* @param p the point to remove<br />
*/<br />
/*package*/<br />
synchronized static void removeWayPoint(WayPoint p)<br />
{<br />
_previousPoints.removeElement(p);<br />
commit();<br />
}<br />
// Commit the waypoint set to flash memory.<br />
private static void commit()<br />
{<br />
_store.setContents(_previousPoints);<br />
_store.commit();<br />
}<br />
/* Implementation of the LocationListener interface.<br />
*/<br />
private class LocationListenerImpl implements LocationListener<br />
{<br />
// Members. --------------------------------------------------------------<br />
private int captureCount;<br />
// Methods. --------------------------------------------------------------<br />
public void locationUpdated(LocationProvider provider, Location location)<br />
{<br />
if(location.isValid())<br />
{<br />
float heading = location.getCourse();<br />
double longitude = location.getQualifiedCoordinates().getLongitude();<br />
double latitude = location.getQualifiedCoordinates().getLatitude();<br />
float altitude = location.getQualifiedCoordinates().getAltitude();<br />
float speed = location.getSpeed();<br />
// Horizontal distance.<br />
float horizontalDistance = speed * _interval;<br />
_horizontalDistance += horizontalDistance;<br />
// Horizontal distance for this waypoint.<br />
_wayHorizontalDistance += horizontalDistance;<br />
// Distance over the current interval.<br />
float totalDist = 0;<br />
// Moving average grade.<br />
for(int i = 0; i  0) _verticalDistance = _verticalDistance + altGain;<br />
captureCount += _interval;<br />
// If we’re mod zero then it’s time to record this data.<br />
captureCount %= CAPTURE_INTERVAL;<br />
// Information to display on the device.<br />
StringBuffer sb = new StringBuffer();<br />
sb.append("Longitude: " + longitude+ "\n");<br />
sb.append("Latitude: " + latitude+ "\n");<br />
sb.append("Altitude: " + altitude + " m\n");<br />
sb.append("Heading relative to true north: " + heading + "\n");<br />
sb.append("Speed : " + speed + +" m/s\n");<br />
sb.append("Grade : ");<br />
if(Float.isNaN(grade))<br />
sb.append(" Not available");<br />
else<br />
sb.append(grade+" %");<br />
GPSDemo.this.updateLocationScreen(sb.toString());<br />
}<br />
}<br />
public void providerStateChanged(LocationProvider provider, int newState)<br />
{<br />
// No operation defined.<br />
}<br />
}<br />
/* WayPoint describes a way point, a marker on a journey or point of interest.<br />
* WayPoints are persistable.<br />
* package<br />
*/<br />
static class WayPoint implements Persistable<br />
{<br />
public long _startTime;<br />
public long _endTime;<br />
public float _distance;<br />
public float _verticalDistance;<br />
public WayPoint(long startTime,long endTime,float distance,float verticalDistance)<br />
{<br />
_startTime=startTime;<br />
_endTime=endTime;<br />
_distance=distance;<br />
_verticalDistance=verticalDistance;<br />
}<br />
}<br />
}</code></p></blockquote>
<p><strong>Entradas relacionadas:</strong><br />
<a href="http://javiercancela.com/2008/01/09/un-ejemplo-de-aplicacion-java-para-blackberry-parte-i/" title="Un ejemplo de aplicación Java para BlackBerry - Parte I">Un ejemplo de aplicación Java para BlackBerry - Parte I</a><br />
<a href="http://javiercancela.com/2008/01/11/un-ejemplo-de-aplicacion-java-para-blackberry-parte-ii/" title="Un ejemplo de aplicación Java para BlackBerry - Parte II">Un ejemplo de aplicación Java para BlackBerry - Parte II</a><br />
<a href="http://javiercancela.com/2008/01/14/un-ejemplo-de-aplicacion-java-para-blackberry-parte-iii/" title="Un ejemplo de aplicación Java para BlackBerry - Parte III">Un ejemplo de aplicación Java para BlackBerry - Parte III</a><br />
<a href="http://javiercancela.com/2008/01/16/un-ejemplo-de-aplicacion-java-para-blackberry-parte-iv-y-final/" title="Un ejemplo de aplicación Java para BlackBerry - Parte IV y final">Un ejemplo de aplicación Java para BlackBerry - Parte IV y final</a><br />
<a href="http://javiercancela.com/2008/01/07/leyendo-nuestro-gps-desde-java-con-la-javame-location-api-jsr-179-parte-i/" title="Leyendo nuestro GPS desde Java con la JavaME Location API (JSR-179) - Parte I">Leyendo nuestro GPS desde Java con la JavaME Location API (JSR-179) - Parte I </a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Swedish Game Awards 2008]]></title>
<link>http://sunkth.wordpress.com/2008/01/14/swedish-game-awards-2008/</link>
<pubDate>Mon, 14 Jan 2008 21:21:50 +0000</pubDate>
<dc:creator>sunkth</dc:creator>
<guid>http://sunkth.pt-br.wordpress.com/2008/01/14/swedish-game-awards-2008/</guid>
<description><![CDATA[For those of you who are interested in developing games, there is a competition which is organized b]]></description>
<content:encoded><![CDATA[<p>For those of you who are interested in developing games, there is a competition which is organized by Excitera. For more information please <a href="http://gameawards.se/" title="Swedish Game Awards" target="_blank">click here</a>.</p>
<p>And if you are already familiar with NetBeans ( we hope so :) ) , you should have a look at Netbeans Mobility Pack 6.0 and the Game Builder to create games easily. <a href="http://wiki.netbeans.org/wiki/view/CreatingJavaMEGamesWithGameBuilder" title="Tutorial" target="_blank">Here</a> is a great tutorial to begin creating great games. Who knows maybe you will even win the competition !</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MVC ME - a simple Java ME Model-View-Controller framework]]></title>
<link>http://garethmaguire.wordpress.com/2007/12/13/mvc-me-a-simple-java-me-model-view-controller-framework/</link>
<pubDate>Thu, 13 Dec 2007 22:00:43 +0000</pubDate>
<dc:creator>garethmaguire</dc:creator>
<guid>http://garethmaguire.pt-br.wordpress.com/2007/12/13/mvc-me-a-simple-java-me-model-view-controller-framework/</guid>
<description><![CDATA[Well there is a lot on hype in the .NET world lately with the forthcoming ASP.NET MVC framework. The]]></description>
<content:encoded><![CDATA[<p>Well there is a lot on hype in the .NET world lately with the forthcoming <a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target="_blank">ASP.NET MVC framework</a>. The CTP was released this week and I have to admit I haven't even downloaded yet (on the to-do list).</p>
<p>This is also because I have been working on my own (very) simple MVC framework for Java ME applications. I made the first check-in to <a href="http://code.google.com/hosting/" target="_blank">Google code</a> this evening. The unit testing leaves a lot to be desired as I still trying to get to grips with unit <a href="http://sourceforge.net/projects/jmunit/" target="_blank">JMUnit</a>. Having said that, its a milestone as the code is now out there in the ether.</p>
<p>I had an idea there last week for a novelty application (All will be revealed soon). I thought I may as well implement MVC pattern. Then I thought - sure while I am at it, I may as well make it reusable. </p>
<p>Here's some <strong><em>rough</em></strong> diagrams of the MVC base classes and Calculator sample:</p>
<p><a href="http://garethmaguire.files.wordpress.com/2007/12/mvcclassdiagram.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="204" alt="MVCClassDiagram" src="http://garethmaguire.files.wordpress.com/2007/12/mvcclassdiagram-thumb.png" width="244" border="0"></a>&#160; </p>
<p><a href="http://garethmaguire.files.wordpress.com/2007/12/mvccalculatorclassdiagram.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="139" alt="MVCCalculatorClassDiagram" src="http://garethmaguire.files.wordpress.com/2007/12/mvccalculatorclassdiagram-thumb.png" width="244" border="0"></a> </p>
<p>As mentions the frameworks is quite simple and (for the most part) self explanatory provided you are familiar with the <a href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">MVC pattern</a>. </p>
<p>The source code is available <a href="http://code.google.com/p/mvc-me/" target="_blank">here</a>. You will need <a href="http://www.netbeans.org/index.html" target="_blank">Netbeans 6.0</a> to run the code.</p>
<p>I am working on a multithreaded example which I hope to post up soon. In the meantime, I would love to get some feedback or if anyone would like to contribute to the project please let me know.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Java ShuffleVector]]></title>
<link>http://garethmaguire.wordpress.com/2007/12/09/java-shufflevector/</link>
<pubDate>Sun, 09 Dec 2007 13:09:05 +0000</pubDate>
<dc:creator>garethmaguire</dc:creator>
<guid>http://garethmaguire.pt-br.wordpress.com/2007/12/09/java-shufflevector/</guid>
<description><![CDATA[Not much activity on the blog of late but I have been working a few small projects that may be of in]]></description>
<content:encoded><![CDATA[<p>Not much activity on the blog of late but I have been working a few small projects that may be of interest. Hopefully I'll have a flurry of posts over the next week or 2 all going to plan.</p>
<p>I have been working a little Java ME app in which I needed to shuffle and array of objects. I may be wrong, but I seems I can't use generic collections on Java ME platform, so I am using Vectors. I am trying to use strongly typed wrappers for the Vector instances much as possible. </p>
<p>Anyway, in this code sample I have extended the Vector class adding the ability to shuffle the Objects it contains by calling the shuffle() method.</p>
<div>
<div style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;padding:0;">
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   1:</span> import java.util.*;</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   2:</span>&#160; </pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   3:</span> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> ShuffleVector extends Vector {</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   4:</span>&#160; </pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   5:</span>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> shuffle() {</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   6:</span>         <span style="color:#0000ff;">int</span> index, randomIndex;</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   7:</span>&#160; </pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   8:</span>         Random random = <span style="color:#0000ff;">new</span> Random();</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   9:</span>         <span style="color:#0000ff;">for</span> (index = 1; index &#60; size(); index++) {</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  10:</span>             randomIndex = random.nextInt(index + 1);</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  11:</span>             swapObjects(index, randomIndex);</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  12:</span>         }</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  13:</span>     }</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  14:</span>&#160; </pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  15:</span>     <span style="color:#0000ff;">private</span> <span style="color:#0000ff;">void</span> swapObjects(<span style="color:#0000ff;">int</span> index, <span style="color:#0000ff;">int</span> randomIndex) {</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  16:</span>         Object temp = <span style="color:#0000ff;">this</span>.elementAt(index);</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  17:</span>         <span style="color:#0000ff;">this</span>.setElementAt(<span style="color:#0000ff;">this</span>.elementAt(randomIndex), index);</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  18:</span>         <span style="color:#0000ff;">this</span>.setElementAt(temp, randomIndex);</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  19:</span>     }</pre>
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;"><span style="color:#606060;">  20:</span> }</pre>
</div>
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Integrando tecnologias mobile - Jarpa e Flyer]]></title>
<link>http://corisco.wordpress.com/2007/12/06/integrando-tecnologias-mobile-jarpa-e-flyer/</link>
<pubDate>Thu, 06 Dec 2007 14:23:35 +0000</pubDate>
<dc:creator>corisco</dc:creator>
<guid>http://corisco.pt-br.wordpress.com/2007/12/06/integrando-tecnologias-mobile-jarpa-e-flyer/</guid>
<description><![CDATA[Jarpa e Flyer são dois softwares de integração (será que podemos denominar assim?) que  fazem Fl]]></description>
<content:encoded><![CDATA[<p>Jarpa e Flyer são dois softwares de integração (será que podemos denominar assim?) que  fazem Flash Lite, Java ME e Python S60 se comunicarem.</p>
<p>O Jarpa, uma criação de <a href="http://blog.felipeandrade.org/">Felipe Andrade</a> e <a href="http://www.biskero.org/">Alessandro Pace</a>, integra funcionalidades do Flash Lite com Java ME, já o Flyer  integra funcionalidades do Flash Lite e Java ME com Python S60.</p>
<p>O Flyer eu já conhecia e cheguei a fazer alguns testes, mas  a quantidade de celulares que suporta Python S60 (que é pouca) me desanimou a continuar, agora com o Jarpa a possibilidade de criar interfaces com Flash Lite e utilizar o poder (e principalmente a penetração nos celulares) do Java ME para manipular informações do aparelho celular me animou a voltar os testes, que vão aparecer por aqui brevemente.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Cambios en la máquina virtual Java de S60]]></title>
<link>http://hipoqihmovil.wordpress.com/2007/11/23/cambios-en-la-maquina-virtual-java-de-s60/</link>
<pubDate>Fri, 23 Nov 2007 13:59:12 +0000</pubDate>
<dc:creator>Javier Cancela</dc:creator>
<guid>http://javiercancela.es/2007/11/23/cambios-en-la-maquina-virtual-java-de-s60/</guid>
<description><![CDATA[Parece que los chicos de Symbian apuestan por Java como lenguaje de desarrollo para su plataforma S6]]></description>
<content:encoded><![CDATA[<p>Parece que los chicos de Symbian apuestan por Java como lenguaje de desarrollo para su plataforma S60 (que, <a href="http://javiercancela.com/2007/10/17/introduccion-al-desarrollo-de-aplicaciones-para-telefonos-moviles-symbian/" title="http://javiercancela.com/2007/10/17/introduccion-al-desarrollo-de-aplicaciones-para-telefonos-moviles-symbian/">recordemos</a>, es la plataforma entre otros de la mayoría de los teléfonos Nokia). Digo esto porque en la nueva versión de S60, <i>S60 3rd Edition FP2</i>,  incluirán una nueva versión de la máquina virtual de Java en la que las librerías no irán compiladas dentro del mismo ejecutable, sino que se almacenarán por separado y se cargarán bajo demanda.</p>
<p>Esta nueva arquitectura, además de mejorar el rendimiento, permitirá a Symbian incluir nuevas librerías propias que aumenten la potencia de las aplicaciones Java para S60 (a costa de perder portabilidad a otras plataformas). Así, ya está anunciado el nuevo kit de desarrollo de interfaces de usuario <a href="http://wiki.forum.nokia.com/index.php/ESWT" title="ESWT - Forum Nokia Wiki" target="_blank">eSWT</a>, destinado a combatir las limitaciones de <a href="http://www.j2medev.com/api/midp/javax/microedition/lcdui/package-summary.html" title="Package javax.microedition.lcdui" target="_blank">LCDUI </a>permitiendo a los desarrolladores Java construir interfaces de usuario similares a las que tienen las aplicaciones nativas.</p>
<p>Habrá que esperar a ver la SDK de la nueva versión de S60 para comprobar qué tal funcionan eSWT y todas la novedades que la nueva Java VM incorpore.</p>
<p><b> Más información:</b><br />
<a href="http://blogs.s60.com/java/2007/11/new_java_features_of_3rd_ed_fp.html" target="_blank">http://blogs.s60.com/java/2007/11/new_java_features_of_3rd_ed_fp.html</a><br />
<a href="http://blogs.s60.com/java/2007/10/eswt_available_for_development.html" target="_blank">http://blogs.s60.com/java/2007/10/eswt_available_for_development.html</a><br />
<a href="http://mobilephonedevelopment.com/archives/492" target="_blank"> http://mobilephonedevelopment.com/archives/492</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ZXing, lector de barcodes open-source]]></title>
<link>http://javiercancela.com/2007/11/20/zxing-lector-de-barcodes-open-source/</link>
<pubDate>Tue, 20 Nov 2007 08:51:16 +0000</pubDate>
<dc:creator>Javier Cancela</dc:creator>
<guid>http://javiercancela.com/2007/11/20/zxing-lector-de-barcodes-open-source/</guid>
<description><![CDATA[Un proyecto interesante en Google Code (el portal de proyectos open source de Google): ZXing, un lec]]></description>
<content:encoded><![CDATA[<p>Un proyecto interesante en <a href="http://code.google.com/">Google Code</a> (el portal de proyectos open source de Google): <a href="http://code.google.com/p/zxing/">ZXing</a>, un lector de barcodes para Java.  Planean liberar clientes para J2SE, J2ME y Android, y soportará los formatos QR Code, Data Matrix, y los códigos de barras tradicionales en 1D.</p>
<p>Lleva licencia Apache. Idóneo para fisgar un poco  el código de un proyecto open-source para móviles (o incluso animarse a colaborar).</p>
<p><strong>Vía:</strong><br />
<a href="http://weblog.cenriqueortiz.com/physicaltodigitalconnections/2007/11/19/google-zxing-zebra-crossing-is-open-for-business/">Google ZXing (”Zebra Crossing”) is open for business</a></p>
<p><strong>Entradas relacionadas:</strong><br />
<a href="http://javiercancela.com/2007/11/08/codigos-de-barras-barcodes-para-moviles/"> Códigos de barras (barcodes) para móviles</a></p>
]]></content:encoded>
</item>

</channel>
</rss>
