imai@eng.kagawa-u.ac.jp (Tel: 087-864-2244(FAX )) Vodafone( J-Phone) (J-SA51 090-2829-9999) JavaTM ( Vappli ) SUN ( SUN ) Java2SE(J2SDK1.3.1 Java Standard Edition) Java2MEforCLDC(WTK1.04 Wireless Tool Kit) J-Phone( Vodafone) J-SkyJava CLCD+MIDP(Connected Limited Device Configuration Mobile Information Device Profile) Vappli PC Vodefaone Vodafone Web JPEG LCD ( ) JavaTM (Vappli) J2SDK(SUN Standard Edition Java ) WTK(SUN CLDC Micro Edition Java ) J2SDK http://java.sun.com/j2se/1.3/ja/ ( J2SE1.4 http://java.sun.com/j2se/1.4/ja/ ) J2SDK1.4 ( i- ) 1.3 Vappli 1.4 ( :-) WTK http://java.sun.com/products/j2mewtoolkit/download.html ( Wireless Tool Kit 2.0 URL http://java.sun.com/products/j2mewtoolkit/ ) PC J2SDK Standard Edition Java Java ( JVM) WTK (CLDC MIDP )Micro Edition Java PC CLDC 1
Standard Edition Java JVM PC CLDC Micro Edition Java KVM( Java ) CPU ( ) J2SDK WTK J2SDK Vappli J2SDK 2
WTK WTK ) JAR(Java ARchive) CLDC MIDP Java ) JAD(Java Application Description) (i JAM ) ) ) KVM JVM ( ) KVM OS ( ) ) Web ) ) Web ) ) Web ( ) Java ( ) SUN (VM ) HotSpot(J2EE ) JVM J2SE CVM(CDC J2ME ) KVM(CLDC J2ME ) CardVM(Java ) ( ) Java CLDC J2ME Java KVM JVM Windows KVM PC Vappli Vodafone http://www.dp.j-phone.com/dp/ J2SDK 1.3 3
Java(J2SE Java ) ( i- ) J2SDK GUI GUI 1) CVM CLDC Java (JVM) CDC JVM CDC JVM ( CVM) JNI (Java Native Interface)1.1 JVMDI (Java Virtual Machine Debugging Interface) JVMPI (Java Virtual Machine Profiling Interface) CDC Java CVM CDC API CVM ROM CVM (<http://www-6.ibm.com/jp/developerworks/java/011019/j_j-j2me.html> ) Vappli Java JAR (J-SA51 090-2829-9999) ---- import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import javax.microedition.io.*; import java.io.*; // 4
public class getimagefromweb extends MIDlet { public getimagefromweb() { getimagecanvas canvas = new getimagecanvas(getappproperty("url")); Display.getDisplay(this).setCurrent(canvas); // public getimagefromweb MIDlet getimagecanvas class getimagecanvas extends Canvas implements CommandListener { //*** *** getimagecanvas(string url) {// getimagecanvas url //*** *** image = readimage(url + "/BlueMosque01.jpg"); xwidth = image.getwidth(); yheight = image.getheight(); repaint(); // (setcommandlistener ) soft1 = new Command(" ", Command.SCREEN,1); addcommand(soft1); setcommandlistener(this); //*** *** private Image readimage(string url) { //HTTP byte[] data; HttpConnection c = null; InputStream in = null; try {//try catch c =(HttpConnection)Connector.open(url); in = c.openinputstream(); data = new byte[(int)c.getlength()]; for (int i = 0 ; i < data.length ; ++i) data[i] = (byte)in.read(); in.close(); c.close(); return Image.createImage(data, 0, data.length); catch (Exception e) { try { if ( in!= null ) in.close(); if ( c!= null ) c.close(); catch (Exception e2){ return null; public void paint(graphics g){ // Canvas (LCD ) g.setcolor( BACKcolor ); g.fillrect(0, 0, sizx, sizy); 5
g.drawimage(image, x, y, g.top g.left); public void commandaction(command c, Displayable s) { // if ( c == soft1 ){ image = readimage(url + "/image.jpg"); if ( image == null ) info = "Errors happen!!"; xwidth = image.getwidth(); yheight = image.getheight(); repaint(); --- JAR (Javac) (preverify) (jar) set PROJECT=getImageFromWeb set BASEDIR=C: usr bin J-PHONE-SDK set PROJDIR=%BASEDIR% Project > javac -bootclasspath %BASEDIR% lib stubclasses.zip -d %PROJDIR% %PROJECT% classes *.java class > preverify -d %PROJDIR% %PROJECT% classes -classpath %BASEDIR% lib stubclasses.zip. ) class preverify > jar cmf MANIFEST.MF %PROJECT%.jar -C %PROJDIR% %PROJECT% classes. -C %PROJDIR% %PROJECT% res. preverify ( ) class ( ) ( ) ( JAVA PRESS Vol.25 http://www.gihyo.co.jp/magazines/javapress/contents/vol25 ) (MANIFEST.MF) JAR JAR JAR Web JAD 6
JAD JAR JAD Web ( ) JAR 2) V (Vodafone Java ) Web LCD ( ) 7
*.jar *.jad dev.javalive.jp ID JC00000052!!naisho?? /download Java Live ( ) http://dev.javalive.jp/ (Netscape or IE) ID JC00000052!!naisho?? ( FTP ) JAD ( ) (JAD ) Java s09028299999@jp-s.ne.jp ( J-Phone) => s09028299999@s.vodafone.ne.jp( Vodafone) ( & Live ) ( s09028299999@jp-s.ne.jp => s09028299999@s.vodafone.ne.jp) ----- URL http://dev.javalive.jp/jp-dev/servlet/service.debugdownload.top?go=jc00000052/anime.jad ID: JC00000052 PW:!!naisho?? Get Image(PNG) from Server ------ JAD Java (JAR ) Vappli LCD 8
i-mode Java (i ) Vodafone Vappli au MIDlet Vodafone au i Vappli i FOMA J J 1)MIDP MIDP(Mobile Information Device Profile) Vodafone(J-Phone) au http://www.saturn.dti.ne.jp/~npaka/kvm/midp/ 2) (2002-12-31 ) ( ) 1,800 ISBN:4816333371 3) J2ME Java ( ), ( ), Feng Yu ( ), Zhu Jun ( ), ( ), ( ) ASCII BOOKS 2002/05/09 ( ) 3,800 ISBN 4-7561-4078-5 9
Java J2ME/MIDP API au J-Phone Java 1! http://www.ascii.co.jp/books/detail/4-7561/4-7561-4078-5.html 4) Java2ME MIDP J-PHONE KDDI ISBN4-7741-1470-7 2002 5 7 ( ) 3,580 Java MIDP J-PHONE KDDI MIDP Java http://www.gihyo.co.jp/books/syoseki.php/4-7741-1470-7 5) http://sparrow.math.ryukoku.ac.jp/~hig/mobilejava/ http://www.mech.t.u-tokyo.ac.jp/~mori/exercises/03mecha/misc/livecamj.html http://dev.javalive.jp/ http://dev.javalive.jp/ml-archive/ http://k-tai.impress.co.jp/cda/article/news_toppage/15835.html http://www-6.ibm.com/jp/developerworks/java/011019/j_j-j2me.html 10