J2ME is the [[Java]] for [[Embedded]] [[Mobile]] Device.
===== TODO =====
* http://davy.preuveneers.be/phoneme/public/maemo/deb/# anyone reviewed #PhoneME or rebuilt the sources ? @kuzmichov #j2me !n950club
* http://developer.nokia.com/community/wiki/Porting_J2ME_apps_to_Nokia_X_using_J2ME_Android_Bridge# AndroiD NokiA
===== WTK =====
* OpenSource wtk : * http://forums.java.net/jive/thread.jspa?messageID=306816
* wtk3 for linux : http://forums.java.net/jive/thread.jspa?messageID=353365 http://blogs.sun.com/javamesdk/entry/what_s_going_with_mac#comment-1262604823394
* wtk3 for reactos : http://www.reactos.org/compat/?show=version&id=682
* bb http://www.progweb.com/modules/blackberry/index-en.html
* http://java.sun.com/javame/sdk/
* [[Linux]] : sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh
* blackberry : http://supportforums.blackberry.com/t5/forums/recentpostspage/user-id/147786/post-type/message
===== [[RzR]] =====
* [[OpenSource]] [[MIDlet]]s : http://37337.free.fr
* [[3D]] Midlet : [[Diet3D]]
* Tutorial (on [[Linux]] ) : http://rzr.online.fr/docs/java/linux.htm
I use [[GNU]] [[Emacs]], gmake and cpp
==== OPENSOURCE ====
* http://supportforums.blackberry.com/t5/Java-Development/Blackberry-and-opensource-libraries/td-p/942973
* https://github.com/fireeagle/j2me-oauth
* http://supportforums.blackberry.com/t5/Java-Development/Regular-expressions-on-blackberry/td-p/113159/highlight/false/page/4# [[regex]]
==== BLACKBERRY ====
* http://supportforums.blackberry.com/t5/Java-Development/Blackberry-and-opensource-libraries/td-p/942973
* http://www.blackberryforums.com/developer-forum/51-updated-open-source-blackberry-apps-develop-your-own.html
==== emulators under linux ====
* http://en.wikipedia.org/wiki/Mpowerplayer
* http://www.j2meforums.com/forum/index.php?topic=12215.msg96738#msg96738
* http://www.j2meforums.com/wiki/index.php/Running_emulators_under_linux
* sun_java_wireless_toolkit-2_5_2-linux.bin : http://cds-esd.sun.com/ESD36/JSCDL/sun_java_wireless_toolkit/2.5.2/sun_java_wireless_toolkit-2_5_2-linux.bin?AuthParam=1223906577_65d6712075ac8409db7da3a484425d10&TicketId=B%2Fw5lxWJRFJMTRBFOF9ZnQDk&GroupName=CDS&FilePath=/ESD36/JSCDL/sun_java_wireless_toolkit/2.5.2/sun_java_wireless_toolkit-2_5_2-linux.bin&File=sun_java_wireless_toolkit-2_5_2-linux.bin
* http://forum.ubuntu-fr.org/viewtopic.php?pid=2125623#p2125623
==== tutorial ====
t=/opt/wtk && mkdir -p "$t" && cd "$t"
unp sun_java_wireless_toolkit-2_5_2-linux.bin
==== [[Resources]] ====
* http://en.wikipedia.org/wiki/J2ME
* http://en.wikibooks.org/wiki/Programming:J2ME
* [[Community]] :
** irc://irc.freenode.fr/#j2me
** http://www.j2meforums.com/forum/index.php?action=profile;u=937;sa=showPosts
** http://discussion.forum.nokia.com/
** http://groups.yahoo.com/group/j2mearchive/
** http://groups.yahoo.com/group/j2me_game
* [[Book]]s:
** J2ME Game Programming (Free): http://www.jasonlam604.com/books.php
** isbn:1592001181 J2ME Game Programming (Game Development) (Paperback)
** isbn:1590590775
** isbn:1590593820
** isbn:1556229984
** isbn:1590594797
* [[Linux]] : http://free-electrons.com/doc/embedded_linux_java/img26.html
* [[J2ME]] http://www.microjava.com/articles/techtalk/repeating
* RMS : http://www.microjava.com/articles/techtalk/rms
==== OpenSource / Software ====
* https://logmeAdvanced.dev.java.net
* [[preprocessor]] :
** http://antenna.sourceforge.net
** http://bb-ant-tools.sourceforge.net
* http://sourceforge.net/projects/jweather/
* http://www.logicmail.org/
==== Software ====
* http://java.sun.com/javame/downloads
Ant based preprocessors : VPP & ANtenna
* http://eclipseme.sourceforge.net/
* http://kobjects.sourceforge.net/me4se/
* http://sdlc-esd.sun.com/ESD8/JSCDL/j2me_wireless_toolkit/2.2/j2me_wireless_toolkit-2_2-linux-i386.bin?AuthParam=1127605977_928d7b0c4c66d56e5a87611b136d6087&TUrl=EMr8DPgljlCngjJlNnNDcFaMvU3tT+IO859ZF2EwLi4b1e0IkW/TF/LVaA==&TicketId=dlJ/PQRJNuw9/Q==&GroupName=SDLC&BHost=sdlcweb7d.sun.com&FilePath=/ESD8/JSCDL/j2me_wireless_toolkit/2.2/j2me_wireless_toolkit-2_2-linux-i386.bin&File=j2me_wireless_toolkit-2_2-linux-i386.bin
ed2k://|file|j2me_wireless_toolkit-2_1_01-linux-i386.bin|13836285|4e81d9f0b3cb7cc632bfb31cb87ce0bb|
ed2k://|file|j2me_wireless_toolkit-2_2-linux-i386.bin|17637106|c84f56623d48be947d9ef10af8c1c09f|
# ed2k://|file|j2me_wireless_toolkit-2_2-linux-i386.bin|17637106|c84f56623d48be947d9ef10af8c1c09f|
mkdir -p /opt/WTK-2.2 && cd /opt/WTK-2.2
unzip -q j2me_wireless_toolkit-2_2-linux-i386.bin
# warning [[../j2me_wireless_toolkit-2_2-linux-i386.bin]]:
# 20480 extra bytes at beginning or within zipfile
# (attempting to process anyway)
./bin/emulator -Xdescriptor:apps/Demo3D/bin/Demo3D.jad
./bin/emulator -Xjam:force
http://sdlc-esd.sun.com/ESD10/JSCDL/j2me_wireless_toolkit/2.1_01-fcs/j2me_wireless_toolkit-2_1_01-linux-i386.bin?AuthParam=1127608155_88bd3411b9a714c6234080db3f53c5f5&TUrl=LxU7fwxQLugy+ErpKYcvIWlVeCBzPG60JI8nt3z9f3UsBDtcUw13tW6+&TicketId=dlJ/PQRHNeA7/Q==&GroupName=SDLC&BHost=sdlcweb7d.sun.com&FilePath=/ESD10/JSCDL/j2me_wireless_toolkit/2.1_01-fcs/j2me_wireless_toolkit-2_1_01-linux-i386.bin&File=j2me_wireless_toolkit-2_1_01-linux-i386.bin
# ed2k://|file|j2me_wireless_toolkit-2_1_01-linux-i386.bin|13836285|4e81d9f0b3cb7cc632bfb31cb87ce0bb|
DESTDIR=/usr/local/local/${OSTYPE}/opt/j2me_wireless_toolkit-2_1_01
mkdir -p ${DESTDIR} && cd ${DESTDIR}
unzip -q ~/j2me_wireless_toolkit-2_1_01-linux-i386.bin
==== HARDWARE =====
* http://en.wikipedia.org/wiki/Samsung_SGH-E900
==== Siemens ====
* http://www.siemens-mobile.com/developer
# ed2k://|file|smtk_0_13_2_59.exe|8186089|7b21c7c2bd2fb3da48f8239979fba11f|
==== Error messages : ====
[[Nokia]]6630 :
Unable to install, Invalid file.
WTK crash :
ALERT: java/lang/ClassFormatError: Bad version information.
JAVAC?=javac -target 1.2 -source 1.2
==== Palm ====
.jar+ .jad should be converted to .prc for palm (pose)
http://java.sun.com/products/midp4palm/index.html
ipaq h3870 :
UA=Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) ?
* http://java-virtual-machine.net/other.html
HP IPAC Pocket PC H2200 working with windows CE (wabaVM and SuperWaba)
* http://www.dca.fee.unicamp.br/~rossano/tutoriais/developing-wtk.txt
* http://www.esmerteec.com Convert bytecode to native
* http://pluggedin.palmone.com/regac/pluggedin/Toolkit
* IBM WebSphere Micro Environment has its converter ?
** http://www.palmone.com/us/support/jvm/download.html
===VODAPHONE===
Sharp GX10, GX10i & GX20.
* http://www.via.vodafone.com/
===PHILIPS===
* Phillips 530 j2me sdk/emulator
=== DEPLOY APP===
AddType application/java-archive jar
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/x-jam jam
Addtype text/vnd.wap.wml wml
Addtype application/vnd.wap.wmlc wmlc
Addtype text/vnd.wap.wmlscript wmls
Addtype application/vnd.wap.wmlscriptc wmlsc
Addtype image/vnd.wap.wbmp wbmp
===EXEN===
Linking to etc\lib\ExEnV2.jar
Java compiler : javac.exe
Creating EXN archive ...
Converting Class files to PVC...
PVC linking...
> Severe Error==========
> CLASS ID NOT FOUND
Never Use Classes out of exen API (System.out)
http://developer.in-fusio.com/bb/viewthread.php?tid=587
===EMULATORS===
Each manufacturer provide their own SDK (classes + api + emulator)
There is also an OpenSource Applet emulator Project : http://www.barteo.net/microemulator/
Currently it is midp1.0 complient, midp2.0 API should not be too hard to add
There are some strange bug i can not resolve using MS JVM (IE3+)
classes must be compiled using java 1.1 target code generation.
Also porting midlets to java applets is possible, all you have to do is rewrite
midp classes that your midlet is using (using awt layer).
http://rzr.online.fr/docs/java/linux.htm
=== J2ME===
String config = System.getProperty( microedition.configuration" );
if( config ==== null ){===
isCLDC = ( config.indexOf( "CLDC-" ) ==== -1 );===
} else {
isCLDC = false;
}
String profiles = System.getProperty("microedition.profiles" );
if( profiles ==== null ){===
isMIDP = ( profiles.indexOf( "MIDP-" ) ==== -1 );===
http://www.microjava.com/articles/techtalk/optimization
=== J2ME vs JAVA===
J2ME does not provide Object.clone() method
then to use this copy contructor you must have to write you own :
Class A {
String name;
}
Class A {
String name;
public A(A arg) { this.name = arg.name; }
}
===[[Eclipse]]===
Eclipse for [[Debian]] http://fincos.homeip.net/debian/
http://sourceforge.net/tracker/index.php?func=detail&aid=1177053&group_id=86829&atid=581073
http://eclipseme.org/eclipseme.feature_0.9.1_site.zip
# Unhandled event loop exception
Reason:
no jawin in java.library.path
Unhandled event loop exception
Reason:
java.lang.NoClassDefFoundError
* [[eclipse]] : http://www.eclipse.org/dsdp/mtj/download/update.php
=== errors ===
/opt/wtk/bin/emulator -Xdescriptor:j2metest.jad
com.sun.kvem.midletsuite.InvalidJadException: Reason = 36
jar cvfm ./${PACKAGE}.jar -C tmp MANIFEST.MF .
adding: META-INF/ (in=0) (out=0) (stored 0%)
Invalid manifest file specified.
/opt/wtk/bin/emulator -Xdescriptor:${PACKAGE}.jad
com.sun.kvem.midletsuite.InvalidJadException: Reason = 36
Error in opening jar file: /mnt/sda5/backup/00000000-current/nrv/mnt/hda5/home/rzr/src/j2metest/j2metest.jad
check MIDlet-Jar-URL:
/opt/wtk/bin/emulator -Xdescriptor:${PACKAGE}.jad
com.sun.kvem.midletsuite.InvalidJadException: Reason = 13
The file Manifest is missing the required attribute:MIDlet-Name
You used :
jar cvf ./${PACKAGE}.jar -C tmp .
emulator:
ALERT: java/lang/ClassFormatError: Bad version information.
Method............: b7b82148 'com/sun/midp/midlet/MIDletState.createMIDlet (static)'
javac -target 1.2 -source 1.2
===== MISC =====
* doomlike : http://vanksi.net/fingersoft/mobile/
* http://www.mobile-j.de/snipsnap/space/J2ME/Sending+SMS+from+MIDlet+without+user+intervention
* http://www.jbenchmark.com/
* http://www.devx.com/getHelpOn/10MinuteSolution/16646/0/page/1
* blog http://web.vee.net/projects/azure/
* http://web.onetel.net.uk/~danclapson/developersfxguide.html
* http://www.devarticles.com/c/a/Java/PHP-Interacting-with-J2ME/1/
* http://www.linuxdevices.com/news/NS4030458859.html # [[VM]]
* [[Devices]] : http://www.j2meshitheap.com
* [[BlackBerry]] : http://rzr.online.fr/isbn/1430226560#ean=9781430226567
===== MORE =====
@TaG: [[midlet]] [[Midlet]] [[Mobile]] [[Nokia]] [[Diet3D]] [[DoJa]] [[API]] [[Nokia]] [[jdk]] [[jre]] [[palm]] JavA AndroiD