<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MRo Blog &#187; J2ME</title>
	<atom:link href="http://blog.mro.name/tag/j2me/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mro.name</link>
	<description>Marcus Rohrmoser mobile Software</description>
	<lastBuildDate>Wed, 23 Jun 2010 11:32:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>J2ME &amp; C</title>
		<link>http://blog.mro.name/2008/10/j2me-c/</link>
		<comments>http://blog.mro.name/2008/10/j2me-c/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:57:00 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://blog.mro.name/2008/10/j2me-c/</guid>
		<description><![CDATA[develop in C, compile to Java bytecode and run on J2ME: http://spel.bth.se/index.php/Cibyl]]></description>
			<content:encoded><![CDATA[<p>develop in C, compile to Java bytecode and run on J2ME: <a href="http://spel.bth.se/index.php/Cibyl">http://spel.bth.se/index.php/Cibyl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/j2me-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8230;sold through handset manufacturers and network operators&#8230;</title>
		<link>http://blog.mro.name/2008/10/sold-through-handset-manufacturers-and-network-operators/</link>
		<comments>http://blog.mro.name/2008/10/sold-through-handset-manufacturers-and-network-operators/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 21:03:29 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[seenontheweb]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=193</guid>
		<description><![CDATA[Just shows how desparately J2ME lacks a sales model a la Apple&#8217;s AppStore: Turn Your Phone into Babel Fish.]]></description>
			<content:encoded><![CDATA[<p>Just shows how desparately J2ME lacks a sales model a la Apple&#8217;s AppStore: <a href="http://www.wirelessweek.com/article.aspx?id=163654">Turn Your Phone into Babel Fish</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/sold-through-handset-manufacturers-and-network-operators/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>J2ME Pattern: ActiveRecord</title>
		<link>http://blog.mro.name/2008/10/j2me-pattern-activerecord/</link>
		<comments>http://blog.mro.name/2008/10/j2me-pattern-activerecord/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 22:05:11 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=155</guid>
		<description><![CDATA[Though J2ME forces you to be close with adding classes, type-safe &#38; convenient persistence might be something you don&#8217;t want to miss. And as RecordStores are the primary application persistence stores, there&#8217;s some boilerplate code you can refactor out into one single common base class. Also &#8211; especially from a pattern standpoint &#8211; it&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>Though <a href="http://java.sun.com/javame/">J2ME</a> forces you to be close with adding classes, type-safe &amp; convenient persistence might be something you don&#8217;t want to miss.</p>
<p>And as <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordStore.html">RecordStore</a>s are the primary application persistence stores, there&#8217;s some boilerplate code you can refactor out into one single common base class.</p>
<p>Also &#8211; especially from a pattern standpoint &#8211; it&#8217;s a must and increases the unterstandability and maintainability of your code.</p>
<p>So what&#8217;s the design assumptions and decisions?</p>
<ol>
<li>multiple RecordStores can be kept open at least as long as an application is active. So open them in <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/midlet/MIDlet.html#startApp()">startApp()</a> and close them in <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/midlet/MIDlet.html#pauseApp()">pauseApp()</a> and <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/midlet/MIDlet.html#destroyApp(boolean)">destroyApp()</a>,</li>
<li>use the <a href="http://martinfowler.com/eaaCatalog/activeRecord.html">ActiveRecord</a> pattern rather than <a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html">ValueBean</a>/<a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html">DAO</a> to keep the number of classes small,</li>
<li>never access RecordStores directly but shield them with ActiveRecords,</li>
<li>keep track of the ActiveRecord instances and update them via <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordListener.html">RecordListener</a>s,</li>
<li>provide getBytes/setBytes instance methods to the ActiveRecords,</li>
<li>maybe make ActiveRecords even <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordListener.html">RecordListener</a> <a href="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton</a>s and refill the data on usage,</li>
<li>maybe even use a single Hashtables subclass as ActiveRecords to even save more classes (requires very disciplined unit testing!),</li>
<li>create few multi-purpose <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordFilter.html">RecordFilter</a> and <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordComparator.html">RecordComparator</a> subclasses per RecordStore,</li>
</ol>
<p>Check back later for sample code.</p>
<p>Or just don&#8217;t code persistence manually but use the <a href="http://floggy.sourceforge.net/">floggy J2ME persistence framework</a>. Looks interesting, but I didn&#8217;t try it out yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/j2me-pattern-activerecord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2ME Pattern: RMS Migrations</title>
		<link>http://blog.mro.name/2008/10/j2me-pattern-rms-migrations/</link>
		<comments>http://blog.mro.name/2008/10/j2me-pattern-rms-migrations/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 23:14:31 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=153</guid>
		<description><![CDATA[Inspired by RoR Migrations I&#8217;ll summarize how to gain similar benefits in the J2ME world with respect to it&#8217;s special needs: attach a version marker to each RecordStore name, as there&#8217;s no callback at install time and at launch time things must be quick as possible, use a fall-back mechanism on opening RecordStores, therefore use [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecordMigration">RoR Migrations</a> I&#8217;ll summarize how to gain similar benefits in the J2ME world with respect to it&#8217;s special needs:</p>
<ul>
<li>attach a version marker to each <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordStore.html">RecordStore</a> name,</li>
<li>as there&#8217;s no callback at install time and at launch time things must be quick as possible, use a fall-back mechanism on opening RecordStores,</li>
<li>therefore use a custom method to open RecordStores and give it a handler for <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/RecordStoreNotFoundException.html">RecordStoreNotFoundException</a>,</li>
<li>use methods rather than classes to implement migrations,</li>
<li>only migrate forward,</li>
<li>hardcode the migration methods into the RecordStoreNotFoundException handler &#8211; there&#8217;s no Reflection in J2ME.</li>
</ul>
<p>=&gt;</p>
<ul>
<li>you can change the RMS store names and storage byte semantics whenever you like without the fear of breaking anything,</li>
<li>there&#8217;s impact on startup time only if the storage semantics changed and needs to be converted,</li>
<li>you don&#8217;t add myriads of classes over time,</li>
<li>you need to write a converter method for each version bump of each store.</li>
</ul>
<p>Check back later for sample code.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/j2me-pattern-rms-migrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2ME &amp; Maven2</title>
		<link>http://blog.mro.name/2008/10/j2me-maven2/</link>
		<comments>http://blog.mro.name/2008/10/j2me-maven2/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 22:05:16 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gammu]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[maven2]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=124</guid>
		<description><![CDATA[Huh! I just found out, there is a fine Maven2 Plugin for J2ME. It comes with an archetype to jump-start developing J2ME applications with maven. Use the archetype like this: $ mvn archetype:create -DarchetypeGroupId=com.pyx4me -DarchetypeArtifactId=j2me-simple -DarchetypeVersion=2.0.3-SNAPSHOT -DremoteRepositories=http://www.pyx4me.com/maven2 -DgroupId=org.example -DartifactId=myapp And if you develop against a nokia phone, it comes even better &#8211; there&#8217;s a gammu [...]]]></description>
			<content:encoded><![CDATA[<p>Huh! I just found out, there is a fine<a href="http://pyx4me.com/pyx4me-maven-plugins/j2me-maven-plugin/"> Maven2 Plugin for J2ME</a>. It comes with an <a href="http://pyx4me.com/pyx4me-archetypes/j2me-simple/index.html">archetype</a> to jump-start developing J2ME applications with <a href="http://maven.apache.org/">maven</a>.</p>
<p>Use the archetype like this:</p>
<pre>$ mvn archetype:create -DarchetypeGroupId=com.pyx4me
-DarchetypeArtifactId=j2me-simple -DarchetypeVersion=2.0.3-SNAPSHOT
-DremoteRepositories=http://www.pyx4me.com/maven2 -DgroupId=org.example
-DartifactId=myapp</pre>
<p>And if you develop against a nokia phone, it comes even better &#8211; there&#8217;s a <a href="http://pyx4me.com/pyx4me-maven-plugins/gammu-maven-plugin/">gammu maven plugin</a>, too!</p>
<p>Also check out this <a href="http://codeforfun.wordpress.com/2008/06/23/build-native-blackberry-apps-natively-on-a-mac-using-maven/">blog featuring maven2 &amp; j2me</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/j2me-maven2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia 6610 J2ME Capabilities</title>
		<link>http://blog.mro.name/2008/10/nokia-6610-j2me-capabilities/</link>
		<comments>http://blog.mro.name/2008/10/nokia-6610-j2me-capabilities/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 18:24:57 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[6610]]></category>
		<category><![CDATA[CLDC]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[MIDP]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=113</guid>
		<description><![CDATA[The Nokia 6610 has those J2ME/CLDC/MIDP capabilities. Frankly I don&#8217;t understand all of it&#8217;s findings, especially the one claiming &#8220;RMS: not implemented&#8221; &#8211; if that means javax.microedition.rms it&#8217;s just not true. Check your phone at mobile-utopia.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.forum.nokia.com/devices/6610">Nokia 6610</a> has those <a href="http://www.mobile-utopia.com/calibrator/Nokia6610%7Bfs%7D1.0+(5.52)+Profile%7Bfs%7DMIDP-1.0+Configuration%7Bfs%7DCLDC-1.0---Nokia6610%7Bfs%7D5.52">J2ME/CLDC/MIDP capabilities</a>. Frankly I don&#8217;t understand all of it&#8217;s findings, especially the one claiming &#8220;RMS: not implemented&#8221; &#8211; if that means <a href="http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/rms/package-summary.html">javax.microedition.rms</a> it&#8217;s just not true.</p>
<p>Check your phone at <a href="http://www.mobile-utopia.com/calibrator">mobile-utopia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/nokia-6610-j2me-capabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WTK post install / filesystem permissions</title>
		<link>http://blog.mro.name/2008/10/wtk-post-install-filesystem-permissions/</link>
		<comments>http://blog.mro.name/2008/10/wtk-post-install-filesystem-permissions/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 18:13:55 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Articles in english]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[EclipseME]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[WTK]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=110</guid>
		<description><![CDATA[If running your app from the eclipseme emulator shows the following console output Running with storage root DefaultColorPhone Warning: Failed to initialize WMA message routing support Error: Can't remove a lock file: /opt/sun-j2me-bin-2.2/wtklib/comcon-server.port.lock Warning: Failed to initialize Bluetooth (JSR 82) support ... Warning: The attempt to finalize unexisting client. java.lang.NullPointerException at com.sun.kvem.midp.MIDP.run(Unknown Source) at com.sun.kvem.environment.EmulatorInvoker.runEmulatorImpl(Unknown [...]]]></description>
			<content:encoded><![CDATA[<p>If running your app from the <a href="http://www.eclipseme.org">eclipseme</a> emulator shows the following console output</p>
<pre>Running with storage root DefaultColorPhone
Warning: Failed to initialize WMA message routing support
Error: Can't remove a lock file: /opt/sun-j2me-bin-2.2/wtklib/comcon-server.port.lock
Warning: Failed to initialize Bluetooth (JSR 82) support
...
Warning: The attempt to finalize unexisting client.
java.lang.NullPointerException
at com.sun.kvem.midp.MIDP.run(Unknown Source)
at com.sun.kvem.environment.EmulatorInvoker.runEmulatorImpl(Unknown Source)
at com.sun.kvem.environment.EmulatorInvoker.runEmulatorSameVM(Unknown Source)
at com.sun.kvem.environment.EmulatorInvoker.runEmulator(Unknown Source)
at com.sun.kvem.environment.ProfileEnvironment$KVMThread.runEmulator(Unknown Source)
at com.sun.kvem.environment.ProfileEnvironment$KVMThread.run(Unknown Source)</pre>
<p>give write permission to the <code>wtklib</code> folder inside the WTK:</p>
<pre>$ sudo chmod o+w /opt/sun-j2me-bin-2.2/wtklib</pre>
<p>The following disease</p>
<pre>...
javax.microedition.rms.RecordStoreException: error opening record store file
at javax.microedition.rms.RecordStore.&lt;init&gt;(+428)
at javax.microedition.rms.RecordStore.openRecordStore(+109)
at name.mro.billard.Stats.findPlayers(+6)
at name.mro.billard.Stats.startApp(+4)
at javax.microedition.midlet.MIDletProxy.startApp(+7)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+116)
startApp threw an Exception
...</pre>
<p>is cured by</p>
<pre>$ sudo chmod o+w -R /opt/sun-j2me-bin-2.2/appdb</pre>
<p>A <a href="http://forums.sun.com/thread.jspa?messageID=1553333">Sun Forum Post</a> provided the correct hint.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/wtk-post-install-filesystem-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CLDC 1.0 und MIDP 1.0 in EclipseME</title>
		<link>http://blog.mro.name/2008/10/cldc-10-und-midp-10-in-eclipseme/</link>
		<comments>http://blog.mro.name/2008/10/cldc-10-und-midp-10-in-eclipseme/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 21:22:39 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Artikel auf deutsch]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[6610]]></category>
		<category><![CDATA[CLDC]]></category>
		<category><![CDATA[EclipseME]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[MIDP]]></category>
		<category><![CDATA[Nokia]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=74</guid>
		<description><![CDATA[da das Nokia 6610 schon ein recht betagtes Mobilfon ist und nur CLDC 1.0 und MIDP 1.0 unterstützt, sollte das im &#8220;Eclipse &#62; Window &#62; Preferences &#62; J2ME &#62; Device Management&#8221; eingestellt werden. Ich habe also das &#8220;DefaultColorPhone&#8221; unter Beibehaltung des Namens (sic!) geklont (duplicate): und wie folgt eingestellt: Anschließend läßt sich per &#8220;Eclipse &#62; [...]]]></description>
			<content:encoded><![CDATA[<p>da das <a href="http://www.forum.nokia.com/devices/6610">Nokia 6610</a> schon ein recht betagtes Mobilfon ist und nur CLDC 1.0 und MIDP 1.0 unterstützt, sollte das im &#8220;Eclipse &gt; Window &gt; Preferences &gt; J2ME &gt; Device Management&#8221; eingestellt werden.</p>
<p>Ich habe also das &#8220;DefaultColorPhone&#8221; unter Beibehaltung des Namens (sic!) geklont (duplicate):</p>
<div id="attachment_76" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.mro.name/wp-content/2008/10/preferences_j2me_device_management.png"><img class="size-medium wp-image-76" title="preferences_j2me_device_management" src="http://blog.mro.name/wp-content/2008/10/preferences_j2me_device_management-300x206.png" alt="J2ME Device Management" width="300" height="206" /></a><p class="wp-caption-text">J2ME Device Management</p></div>
<p>und wie folgt eingestellt:</p>
<div id="attachment_75" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.mro.name/wp-content/2008/10/edit_defaultcolorphone_definition.png"><img class="size-medium wp-image-75" title="edit_defaultcolorphone_definition" src="http://blog.mro.name/wp-content/2008/10/edit_defaultcolorphone_definition-300x287.png" alt="Edit DefaultColorPhone Definition" width="300" height="287" /></a><p class="wp-caption-text">Edit DefaultColorPhone Definition</p></div>
<p>Anschließend läßt sich per &#8220;Eclipse &gt; File &gt; New &gt; Project &gt; J2ME &gt; Midlet Suite&#8221; ein neues Projekt anlegen.</p>
<p>Vorsicht, daß auch wirklich das richtige DefaultColorPhone mit den richtigen CLDC und MIDP jars zugeordnet ist:</p>
<div id="attachment_77" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.mro.name/wp-content/2008/10/firstnokia6610projectpackageexplorer.png"><img class="size-medium wp-image-77" title="firstnokia6610projectpackageexplorer" src="http://blog.mro.name/wp-content/2008/10/firstnokia6610projectpackageexplorer-300x280.png" alt="Package Explorer Ansicht" width="300" height="280" /></a><p class="wp-caption-text">Package Explorer Ansicht</p></div>
<p>Und schon kann&#8217;s losgehen!</p>
<p>Evtl. sind die (nicht markierten) anderen jars noch nicht korrekt, aber Rom wurde auch nicht an einem Tag erbaut, oder?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/cldc-10-und-midp-10-in-eclipseme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2ME Entwicklungsumgebung + Wireless Toolkit</title>
		<link>http://blog.mro.name/2008/10/j2me-entwicklungsumgebung-wireless-toolkit/</link>
		<comments>http://blog.mro.name/2008/10/j2me-entwicklungsumgebung-wireless-toolkit/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 20:53:20 +0000</pubDate>
		<dc:creator>mro</dc:creator>
				<category><![CDATA[Artikel auf deutsch]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[EclipseME]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[WTK]]></category>

		<guid isPermaLink="false">http://blog.mro.name/?p=43</guid>
		<description><![CDATA[wie gewohnt auf einem gentoo stable amd64 Linux. JDK: $ sudo emerge dev-java/sun-jdk Eclipse 3.4 herunterladen und auspacken, J2ME Wireless Toolkit 2.2: $ sudo su - $ echo "dev-java/sun-j2me-bin ~amd64" &#62;&#62; /etc/portage/package.keywords $ echo "dev-java/sun-j2me-bin examples" &#62;&#62; /etc/portage/package.use $ emerge dev-java/sun-j2me-bin $ # USE-Flag "j2me" setzen, z.B. via "$ sudo ufed" $ sudo emerge proguard [...]]]></description>
			<content:encoded><![CDATA[<p>wie gewohnt auf einem <a href="http://www.gentoo.org">gentoo</a> stable amd64 Linux.</p>
<ol>
<li>JDK:
<pre>$ sudo emerge dev-java/sun-jdk</pre>
</li>
<li><a href="http://www.eclipse.org">Eclipse</a> 3.4 herunterladen und auspacken,</li>
<li>J2ME Wireless Toolkit 2.2:
<pre>$ sudo su -
$ echo "dev-java/sun-j2me-bin ~amd64" &gt;&gt; /etc/portage/package.keywords
$ echo "dev-java/sun-j2me-bin examples" &gt;&gt; /etc/portage/package.use
$ emerge dev-java/sun-j2me-bin
$ # USE-Flag "j2me" setzen, z.B. via "$ sudo ufed"
$ sudo emerge proguard</pre>
</li>
<li><a href="http://java.sun.com/products/sjwtoolkit/">J2ME Wireless Toolkit</a> 2.5.2 heruterladen und installieren,</li>
<li><a href="http://eclipseme.org/">EclipseMe</a> herunterladen und auspacken.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.mro.name/2008/10/j2me-entwicklungsumgebung-wireless-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
