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