J2ME.PDF

Size: px
Start display at page:

Download "J2ME.PDF"

Transcription

1 J2ME..1 J2ME 1 CLDC...3 MIDP..11 KJava MIDP for Palm OS..15 MIDP...16 MIDP.. 16 MIDlet MIDlet Hello World MIDlet..26 MIDP 30 MIDP..30 MIDP..32 MIDP..43 MIDP MIDP MIDP 76 (Record Management System)...76 (kxml)..88

2 J2ME J2ME J2ME Java 2 J2EE(Java 2 Platform, Enterprise Edition)J2SE(Java 2 Platform, Standard Edition)J2ME(Java 2 Micro Edition) ( ) J2EE Java (class library) Servelet/JSP javax.servlet.* Enterprise Java Beanjavax.ejb.* J2EE (server-side) J2SE Java Java Java (client-side) J2ME javax.microedition.io.* Java 2 1

3 J2ME Configuration Profile Configuration Configuration Profile Configuration Profile PDA Profile Configuration Profile MIDP(Mobile Information Device Profile) MIDP CLDC(Connected Limit Device Configuration) Configuration CLDC MIDP J2ME 2

4 CLDC J2ME Configuration Profile CLDC CLDC (Class Libraries) J2ME Configuration CLDC CDC(Connected Device Configuration)J2ME J2ME (PDA ) ( ) CLDC CDC CDC CLDC ROM RAM 512KB ROM 160KB 512KB 256KB RAM Java CDC CLDC CDC CLDC CDC CLDC Java CLDC java.lang.* java.io.* java.util.* javax.microedition.io.* CDC CLDC 3

5 J2ME CDC CLDC (Virtual Machine) CDC CVM(C Virtual Machine) CLDC KVM(K Virtual Machine)CVM CVM 32 (Center Process Unit, CPU) KVM KVM KB PDA CLDC J2SE java.lang.*java.io.*java.util.* (Package) CLDC ( javax.microedition.io.* ) CLDC MIDP MIDP CLDC CLDC Profiles MIDP 4

6 5 (class) java.lang ()java.lang (import) (Data Type) (Boolean) (Byte) (Character) (Integer) (Float) (Doubt) java.lang (Exception) IndexOutOfBoundExceptionNullPointerException java.lang.object +--java.lang.boolean +--java.lang.byte +--java.lang.character +--java.lang.class +--java.lang.integer +--java.lang.long +--java.lang.math +--java.lang.runtime +--java.lang.short +--java.lang.string +--java.lang.stringbuffer +--java.lang.system +--java.lang.thread(implements java.lang.runnable) +--java.lang.throwable +--java.lang.error +--java.lang.virtualmachineerror +--java.lang.outofmemoryerror +--java.lang.exception +--java.lang.classnotfoundexception +--java.lang.illegaccessexception +--java.lang.instantiationexception +--java.lang.interruptedexception +--java.lang.runtimeexception +--java.lang.arithmeticexception +--java.lang.arraystoreexception +--java.lang.classcastexception +--java.lang.illegalargumentexception +--java.lang.illegalthreadstateexception

7 +--java.lang.numberformatexception +--java.lang.illegalmonitorstateexception +--java.lang.illegalstateexception +--java.lang.indexoutofboundexception +--java.lang.arrayindexoutofboundsexception +--java.lang.stringindexoutofboundsexception +--java.lang.negativearraysizeexception +--java.lang.nullpointerexception +--java.lang.securityexception java.lang 6

8 java.io ()java.io DataInputStream DataOutputStream java.lang.object +--java.io.inputstream +--java.io.bytearrayinputstream +--java.io.datainputstream (implements java.io.datainput) +--java.io.outputstream +--java.io.bytearrayoutputstream +--java.io.dataoutputstream (implements java.io.dataoutput) +--java.io.printstream +--java.io.reader +--java.io.inputstreamreader +--java.lang.throwable +--java.lang.exception +--java.io.ioexception +--java.io.eofexception +--java.io.interruptedioexception +--java.io.unsupportedencodingexception +--java.io.utfdataformatexception +--java.io.writer +--java.io.outputstreamwriter java.io 7

9 java.lang java.io java.util java.util java.util (Random) (Calendar) (Stack) java.lang.object +--java.util.calendar +--java.util.date +--java.util.hashtable +--java.util.random +--java.lang.throwable +--java.lang.exception +--java.util.runtimeexception +--java.util.emptystackexception +--java.util.nosuchelementexception +--java.util.timer +--java.util.timertask (implements java.lang.runnable) +--java.util.timezone +--java.util.vector +--java.util.stack java.util 8

10 J2SE javax.microedition.io() javax x extension( ) microedition J2ME Micro Edition J2SE J2EE javax.micoredition.io.connector java.lang.object +--javax.microedition.io.connector +--java.lang.throwable +--java.lang.exception +--java.io.ioexception +--javax.microedition.io.connectionnotfoundexception javax.microedition.io J2SE J2EE J2ME CLDC GCF(Generic Connection Framework) Profiles(MIDP) Connector.open( <protocol>;<address>;<parameters> ); javax.microedition.io.connector javax.microedition.io.connection (interface) javax.microedition.io.connection CLDC (interface) InputConnection OutputConnection (Protocol) GCF CLDC MIDP 9

11 CLDC 10

12 MIDP MIDP Profile MIDP : 1. : 128K (ROM) MIDP 8K (ROM) 32K (RAM) 2. : : : 1-bit (white and black) : 1:1 3. : : 4. : MIDP 11

13 MIDP MIDlet MIDlet javax.microedition.midlet MIDlet MIDlet MIDlet MIDlet suites MIDlet () : MIDP (Paused) : MIDlet startapp() MIDlet pauseapp() MIDlet (Active) : startapp() MIDlet (Destroyed) :MIDlet destroyapp()notifydestroyed() MIDlet MIDP MIDP MIDP MIDP (package) javax.microedition.midlet javax.microedition.rms javax.microedition.lcdui 12

14 javax.microedition.midlet() javax.microedition.midlet.midlet MIDlet MIDlet java.lang.object +--javax.microedition.midlet.midlet +--java.lang.throwable +--java.lang.exception +--javax.microedition.midlet.midletstatechangeexception javax.microedition.midlet javax.microedition.rms() javax.micoredition.rms java.lang.object +--javax.microedition.rms.recordstore +--java.lang.throwable +--java.java.exception +--javax.microedition.rms.recordstoreexception +--javax.microedition.rms.invalidrecordidexception +--javax.microedition.rms.recordstorefullexception +--javax.microedition.rms.recordstorenotfoundexception +--javax.microedition.rms.recordstorenotopenexception javax.microedition.rms 13

15 javax.microedition.lcdui() javax.microedition.lcdui (Text Field) (MIDP Command) (Alert) Ticker Ticker Ticker Java.lang.Object +--javax.microedition.lcdui.alerttype +--javax.microedition.lcdui.command +--javax.microedition.lcdui.display +--javax.microedition.lcdui.displayable +--javax.microedition.lcdui.canvas +--javax.microedition.lcdui.screen +--javax.microedition.lcdui.alert +--javax.microedition.lcdui.form +--javax.microedition.lcdui.list (implements javax.microedition.lcdui.choice) +--javax.microedition.lcdui.textbox +--javax.microedition.lcdui.font +--javax.microedition.lcdui.graphics +--javax.microedition.lcdui.image +--javax.microedition.lcdui.item +--javax.microedition.lcdui.choicegroup (implements javax.microedition.lcdui.choice) +--javax.microedition.lcdui.datafield +--javax.microedition.lcdui.gauge +--javax.microedition.lcdui.imageitem +--javax.microedition.lcdui.stringitem +--javax.microedition.lcdui.textfield +--javax.microedition.lcdui.ticker javax.microedition.lcdui MIDP MIDP 14

16 KJava MIDP for Palm OS MIDP Java Palm OS KJavaKJava Palm OS Configuration Profile KJava Profile KJava Palm OS (Virtual Machine, VM) KVM 68KB K KVMKJava Palm OS MIDP MIDP Palm OS PDA Java Java (Write Once, Run Anywhere) MIDP for Palm OS MIDP for Palm OS Palm OS Java (Runtime Environment) MIDP Palm OS MIDP KJava MIDP for Palm OS MIDlet(MIDP )Palm OS (User Interface) Palm OS MIDP for Palm OS MIDP for Palm OS 1.0 MIDP for Palm OS 15

17 MIDP MIDP MIDP MIDP MIDlet Hello World MIDlet MIDlet MIDlet MIDP MIDP MIDP MIDP MIDP MIDP Borland JBuilder MobileSet IBM WebSphere Studio Device Developer ( J9) Metrowerks Code Warrior for Java SUN J2ME Wireless Toolkit... MIDP SUN SUN MIDP SUN J2ME Wireless Toolkit J2ME Wireless Toolkit Borland MobileSet IBM WebSphere Studio Device Developer Metrowerks Code Warrior for Java J2ME Wireless Toolkit JDK JDK ( ) J2ME Wireless Toolkit( ) J2ME Wireless Toolkit

18 J2ME Wireless Toolkit

19 18

20 19

21 2.1.3 J2ME Wireless Toolkit J2ME Wireless Toolkit KToolBar [ ] -> [ ] -> [J2ME Wireless Toolkit 1.0.3] -> [KToolBar] KToolBar [Open Project ] Project J2ME Wireless Toolkit SUN 20

22 Device Run MIDlet MIDlet Device [New Project ] 21

23 Project MIDlet class Create Project MIDlet ( ) MIDlet [OK] MIDlet 22

24 J2ME wireless Toolkit \apps\helloworld J2ME wireless Toolkit apps\ HelloWorld\src J2ME wireless Toolkit apps\ HelloWorld\res J2ME wireless Toolkit apps\ HelloWorld\lib MIDlet MIDlet MIDlet J2SE Applet Applet java.applet MIDlet javax.microedition.midlet.midlet Applet init()start() paint()stop()destroy()midlet startapp() pauseapp() destroyapp() 23

25 MIDlet // import javax.microedition.midlet import javax.microedition.midlet.*; public class HelloWorld extends MIDlet { public HelloWorld() { // javax.microedition.midlet. MIDlet // public void startapp() { // public void pauseapp() { // public void destroyapp(boolean unconditional) { // MIDlet MIDlet ActivePausedDestroyed MIDlet MIDlet startapp()pauseapp()destroyapp() MIDlet Application Managemnet Software (AMS) AMS MIDlet Paused startapp() MIDlet Active AMS MIDlet MIDlet pauseapp() MIDlet PAused 24

26 AMS MIDlet MIDlet destroyapp() MIDlet Destroyed MIDlet MIDlet MIDlet startapp() (Display) (Display) Display.getDisplay(this) display.setcurrent(displayable d) MIDlet // import javax.microedition.midlet import javax.microedition.midlet.*; // javax.microedition.midlet. MIDlet 25

27 public class HelloWorld extends MIDlet { private Display display; public HelloWorld() { //. // (Display) display = Display.getDisplay(this);. public void startapp() { //. // TextBox t = new TextBox(.); // display.setcurrent(t);. public void pauseapp() { // public void destroyapp(boolean unconditional) { // MIDlet Hello World MIDlet MIDlet HelloWorld.java HelloWorld src J2ME Wireless Toolkit KToolBar HelloWorld 26

28 HelloWorld [Build] HelloWorld MIDlet [Run] J2ME Wireless Toolkit MIDlet 27

29 28

30 29

31 MIDP MIDP MIDP MIDP MIDP MIDP PDA CPU J2SE J2EE AWT SWING J2ME MIDP MIDP javax.microedition.lcdui MIDP 30

32 Screen MIDP Canvas Graphics MIDP MIDP (Event Handling) MIDP KVM ( ) MIDP 31

33 3.2.3 MIDP MIDP Canvas Screen MIDP Displayable Display MIDP Displayable Displayable Displayable Screen (AlertListand TextBox) Screen Screen Screen Screen (Form)Form 32

34 Item Canvas Screen Canvas Canvas Canvas Displayable Displayable void addcommand(command cmd) boolean isshown() Command Displayable Displayable void removecommand(command cmd) Command Displayable void setcommandlistener(commandlistener l) Displayable CommandListener Display Display MIDlet Displayable Display Displayable Display ( ) Displayable Display Display getdisplay() MIDlet Display Display void callserially(runnable r) 33

35 Displayable getcurrent() static Display getdisplay(midlet m) Runnable run() repaint() Displayable MIDlet Display boolean iscolor() int numcolors() iscolor() true iscolor() false void setcurrent(alert alert, Displayable nextdisplayable) Displayable Alert Alart Displayable void setcurrent(displayable nextdisplayable) Displayable Displayable Displayable Display Displayable Ticker Displayable 3 Displayable 34

36 Import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // import public class DisplayTest extends MIDlet { private Display display; // Display private Form f1; // Displayable private Form f2; public DisplayTest() { f1 = new Form("Form 1"); // Displayable f2 = new Form("Form 2"); Ticker t= new Ticker("Display Test"); // f1.setticker(t); // Displayable f2.setticker(t); public void startapp() throws MIDletStateChangeException { display=display.getdisplay(this); // MIDlet Display display.setcurrent(f1); // Display Displayable // new Thread(new DisplayTestThread()).start(); public void pauseapp() { 35

37 public void destroyapp(boolean unconditional) { display=null; f1=null; f2=null; //, 3 Displayable class DisplayTestThread implements Runnable { public void run() { while(true) { try { Thread.sleep(3000); if(display.getcurrent()==f1) { else { display.setcurrent(f2); display.setcurrent(f1); catch(exception e){ Image Image Display Image Canvas AlertForm Image (immutable) (mutable) (immutable)image Image Image Image MIDP 36

38 PNG(Portable Network Graphics) GIF PNG Image.createImage(String filename) Byte Image.createImage(byte[] imagedata, int imageoffset, int imagelength) Image Image.createImage(Image source) (mutable)image Image Image Image (off-screen memory) Graphics Image Image.createImage(int width, int height) Image Image static Image createimage(byte[] imagedata, int imageoffset, int imagelength) Byte Image Static Image createimage(image source) Image Image static Image createimage(int width, int height) Image Static Image createimage(string name) Graphics getgraphics() int getheight() int getwidth() Image Image Graphics Image Image 37

39 boolean ismutable() Image Image Image PNG Image ImageItem Form import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ImageTest extends MIDlet { private Display display; private Form f1; private Image img; public ImageTest() { f1 = new Form("Form 1"); 38

40 img=null; try { img= Image.createImage("/coolfish.png"); // Image catch(exception e) { System.out.println(e.getMessage()); // Image ImageItem, Form // f1.append( new ImageItem("ImageView", img,imageitem.layout_center, "Image can not display")); public void startapp() throws MIDletStateChangeException { display=display.getdisplay(this); display.setcurrent(f1); public void pauseapp() { public void destroyapp(boolean unconditional) { display=null; f1=null; (event listener) (interface)midp, XXXListener(XXX Command ItemState ) addxxxlistenet XXXListener XXX XXX XXXListener XXXListener 39

41 MIDP Command ItemStateChanged CommandListener ItemStateListener( ItemStateListener ItemStateChangedListener) Displayable Command Form ItemStateChanged Command CommandListener ItemState ItemStateChangedListener 3.4.4Form Item Command Command (MenuItem, ) Command Label Type BACKCANCELHELPEXITITEMOK SCREEN STOP Priority Command Command Command(String label, int commandtype, int priority) Command 40

42 int getcommandtype() String getlabel() Int getpriority() Type Label Priority Displayable addcommand(command cmd) Command removecommand(command cmd) Command CommandListener CommandListener Command void commandaction(command c, Displayable d) Displayable setcommandlistener(commandlistener cl) CommandListener Command CommandListener Form Replace CommandCommand 41

43 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // CommandListener public class EventHandlingTest extends MIDlet implements CommandListener{ private Display display; // Command private Command replacecommand; private Form f1, f2; public EventHandlingTest() { replacecommand= new Command("Replace",Command.OK,1); display=display.getdisplay(this); s1 = new Form("Form1"); f1.addcommand(replacecommand); // Command f1.setcommandlistener(this); // Command f2 = new Form("Form2"); // Command f2.addcommand(replacecommand); f2.setcommandlistener(this); // Command public void startapp() throws MIDletStateChangeException { 42

44 display.setcurrent(s1); public void pauseapp() { public void destroyapp(boolean unconditional) { f1=null; f2=null; display=null; //, Replace Command Form public void commandaction(command c,displayable d) { if(d==f1 && c==replacecommand) { display.setcurrent(f2); System.out.println("Replace from Form 1"); else if(d==f2 && c==replacecommand) { display.setcurrent(f1); System.out.println("replace from screen 2"); MIDP List List Screen Choice List Choice Choice Choice.EXCLUSIVE List (Radio Button) Choice.MULTIPLE List (Check Box) 43

45 Choice. IMPLICIT List Choice.EXCLUSIVE Choice. IMPLICIT List Command CommandListener commandaction() Choice.EXCLUSIVE Choice.MULTIPLE List Command List List List(String title, int listtype) List List(String title, int listtype, String[] stringelements, Image[] imageelements[]) String List Image int append(string stringpart, Image imagepart) List void delete(int elementnm) elementnm int getselectedindex() Index void insert(int elementnum, String stringpart, Image imagepart) List elementnum boolean isselected(int elementnum) List elementnum List Implicit List(List Demo) Exclusive List Multiple List Exclusive List Exclusive List Multiple List Multiple List Exclusive List Multiple List Back Command List Demo 44

46 Exclusive List Back Multiple List Back import javax.microedition.midlet.*; import javax.microedition.lcdui.*; 45

47 public class ListTest extends MIDlet implements CommandListener{ private Display display; private Command cmd_back = new Command("Back", Command.BACK,1); // List private List menu; private List exclusive_list; private List multiple_list; public ListTest() { // IMPLICIT LIST menu = new List("List Demo", List.IMPLICIT); menu.append("exclusive List", null); menu.append("multiple List", null); // addcommand menu.setcommandlistener(this); // EXCLUSIVE LIST exclusive_list = new List("Exclusive List", List.EXCLUSIVE); exclusive_list.append("item1", null); exclusive_list.append("item2", null); // addcommand exclusive_list.addcommand(cmd_back); exclusive_list.setcommandlistener(this); // MULTIPLE LIST multiple_list = new List("Multiple List", List.EXCLUSIVE); multiple_list.append("item1", null); multiple_list.append("item2", null); // addcommand multiple_list.addcommand(cmd_back); multiple_list.setcommandlistener(this); display=display.getdisplay(this); public void startapp() throws MIDletStateChangeException { display.setcurrent(menu); 46

48 public void pauseapp() { public void destroyapp(boolean unconditional) { menu=null; exclusive_list=null; multiple_list=null; display=null; public void commandaction(command c,displayable d) { // IMPLICIT LIST Command if(d == menu && c == List.SELECT_COMMAND) { switch(menu.getselectedindex()){ case 0: case 1: default: display.setcurrent(exclusive_list); break; display.setcurrent(multiple_list); break; // EXCLUSIVE LISTMULTIPLE LIST Command else if(c==cmd_back) { display.setcurrent(menu); TextBox TextBox TextField 47

49 TextField.ANY TextField. ADDR TextField.NUMERIC TextField.PHONENUMBER TextField.URL URL TextField.PASSWORD TextBox TextBox TextBox(String title, String text, int maxsize, int constraints) TextBoxtext maxsize constraints void delete(int offset, int length) TextBox int getcaretposition() int getchars(char[] data) TextBox char int getconstraints() int getmaxsize0 String getstring() TextBox TextBox TextBox void insert(string src, int position) TextBox 48

50 int size() TextBox TextBox Password TextBox Alert import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class TextBoxTest extends MIDlet implements CommandListener{ private Display display; private Command cmd_ok = new Command("OK", Command.OK,1); private Command cmd_back = new Command("Back", Command.BACK,1); private List menu; private TextBox passwordbox1; 49

51 private TextBox passwordbox2; private String str1, str2; public TextBoxTest() { menu = new List("TextBox Demo", List.IMPLICIT); menu.append("1st Password", null); menu.append("2nd Password", null); menu.setcommandlistener(this); passwordbox1 = new TextBox("1st Password", "", 10, TextField.PASSWORD); passwordbox1.addcommand(cmd_ok); passwordbox1.addcommand(cmd_back); passwordbox1.setcommandlistener(this); passwordbox2 = new TextBox("2st Password", "", 10, TextField.PASSWORD); passwordbox2.addcommand(cmd_ok); passwordbox2.addcommand(cmd_back); passwordbox2.setcommandlistener(this); display=display.getdisplay(this); public void startapp() throws MIDletStateChangeException { display.setcurrent(menu); public void pauseapp() { public void destroyapp(boolean unconditional) { menu=null; passwordbox1=null; passwordbox2=null; display=null; 50

52 public void commandaction(command c,displayable d) { if(d == menu && c == List.SELECT_COMMAND) { switch(menu.getselectedindex()){ case 0: display.setcurrent(passwordbox1); break; case 1: display.setcurrent(passwordbox2); break; default: else if (d == passwordbox1 && c == cmd_ok) { str1 = passwordbox1.getstring(); display.setcurrent(menu); else if (d == passwordbox2 && c == cmd_ok) { str2 = passwordbox2.getstring(); display.setcurrent(menu); else if(c == cmd_back) { display.setcurrent(menu); Alert Alert Displayable Display setcurretn() Alert Alert Alert MIDlet Alert settimeout() Alert.FOREVER settimeout(alert.forever) Alert 51

53 AlertType Alert Alert AlertType.ALARM AlertType.CONFIRMATION AlertType.ERROR AlertType.INFO AlertType.WARNING Alert TextBox Alert Right Alert Wrong Alert 52

54 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class AlertTest extends MIDlet implements CommandListener{ private Display display; private Command cmd_ok = new Command("OK", Command.OK,1); private Command cmd_back = new Command("Back", Command.BACK,1); private List menu; private TextBox passwordbox1; private TextBox passwordbox2; private String str1, str2; public AlertTest() { menu = new List("TextBox Demo", List.IMPLICIT); menu.append("1st Password", null); menu.append("2nd Password", null); menu.setcommandlistener(this); passwordbox1 = new TextBox("1st Password", "", 10, TextField.PASSWORD); passwordbox1.addcommand(cmd_ok); passwordbox1.addcommand(cmd_back); passwordbox1.setcommandlistener(this); passwordbox2 = new TextBox("2st Password", "", 10, TextField.PASSWORD); passwordbox2.addcommand(cmd_ok); passwordbox2.addcommand(cmd_back); passwordbox2.setcommandlistener(this); display=display.getdisplay(this); public void startapp() throws MIDletStateChangeException { display.setcurrent(menu); 53

55 public void pauseapp() { public void destroyapp(boolean unconditional) { menu=null; passwordbox1=null; passwordbox2=null; display=null; public void commandaction(command c,displayable d) { if(d == menu && c == List.SELECT_COMMAND) { switch(menu.getselectedindex()){ case 0: display.setcurrent(passwordbox1); break; case 1: display.setcurrent(passwordbox2); break; default: else if (d == passwordbox1 && c == cmd_ok) { str1 = passwordbox1.getstring(); display.setcurrent(menu); else if (d == passwordbox2 && c == cmd_ok) { str2 = passwordbox2.getstring(); if(str1.equals(str2)) { else{ // Alert Alert rightalert = new Alert("Result", "Right", null, AlertType.INFO); // Alert menu display.setcurrent(rightalert, menu); 54

56 // Alert Alert wrongalert = new Alert("Result", "Wrong", null, AlertType.ERROR); // Alert Alert.FOREVER wrongalert.settimeout(alert.forever); // Alert display.setcurrent(wrongalert); else if(c == cmd_back) { display.setcurrent(menu); Form Item Form Form Item StringItemImageItem ChoiceGroupTextFieldGaugeDateField Form List TextBox Form MIDP Item Form Form Form Command Form ItemStateChanged ItemStateListener Form Item ItemStateChanged ItemStateListener itemstatechanged(item item) Item 55

57 StringItem ImageItem Label ChoiceGroupList TextFieldTextBox Gauge Progress Bar Gauge Gauge Gauge Gauge setvalue() import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // Form public class GaugeTest extends MIDlet implements ItemStateListener { private Display display; private Form form1; 56

58 // Gauge private Gauge gauge1, gauge2; public GaugeTest() { form1 = new Form("Gauge Test"); // Gauge gauge1 = new Gauge("Gauge 1", false, 10, 4); gauge2 = new Gauge("Gauge 2", true, 10, 4); form1.append(gauge1); form1.append(gauge2); form1.setitemstatelistener(this); display=display.getdisplay(this); public void startapp() throws MIDletStateChangeException { display.setcurrent(form1); public void pauseapp() { public void destroyapp(boolean unconditional) { form1=null; gauge1=null; gauge2=null; display=null; // Form public void itemstatechanged(item item) { if(((gauge)item).getlabel().equals("gauge 2")) gauge1.setvalue(((gauge)item).getvalue()); 57

59 DateField 58

60 4.1.1 MIDP MIDP MIDP CLDC (Generic Connection FrameworkGCF) ( )MIDP HTTP IP TCP/IP WAPi-mode ( ) client-server datagram MIDP MIDlets MIDP HTTP1.1 GCF Connector 59

61 (static) open() open() : static Connection open(string name) throws IOException static Connection open(string name, int mode) throws IOException static Connection open(string name, int mode, boolean timeouts) throw IOException : HTTP Socket socket:// Datagram datagram://:9000 File file:/test.txt Port comm:0;baudrate=9600 MIDP MIDP HTTP HTTP mode Connector READ? WRITE READ_WRITE timeouts (exception) true false 60

62 Connector javax.microedition.io : Connection : ContentConnection : (stream) DatagramConnection : (datagram) InputConnection : (input) OutputConnection : (output) StreamConnection : (two-way) StreamConnectionNotifier : stream GCF CLDC GCF Profile MIDP API MIDlets MIDP API HttpConnection GCF HTTP MIDlets Sun J2ME Wireless Tool Kit HTTP Motorola SDK for J2ME CodeWarriorforJava MIDP I/O Connector I/O I/O java.io : 61

63 ByteArrayInputStream : byte ByteArrayOutputStream : byte DataInputStream : Java DataOutputStream : Java InputStream : OutputStream : InputStreamReader : (character) OutputStreamWriter : (character) PrintStream : Reader : (abstract) Writer : (abstract) J2SE I/O InputStream OutputStream InputStream InputStream MIDP InputStream read() InputStream I/O (blocking) HTTP InputStream InputStream : read() 62

64 read(byte a[]) read(byte a[], int off, int len) InputStream byte -1 char bytes bytes byte -1 bytes bytes bytes skip(long n) byte bytes long bytes -1 available() bytes (blocking) bytes read() mark(int readlimit) reset() marksupported() mark() reset() mark() 0 marksupported() mark reset close() close() InputStream 63

65 OutputStream OutputStream InputStream OutputStream MIDP OutputStream write() InputStream OutputStream OutputStream : write(int a) write(byte a[]) write(byte a[], int off, int len) InputStream read() OutputStream bytes byte bytes bytes bytes bytes bytes flush() OutputStream close() close() OutputStream MIDP Sockets Socket socket J2ME socket client/server socket SMTP POP3 64

66 J2ME socket socket CLDC InputConnection InputStream OutputConnection OutputStream : 1. Connector.open() socket Connector.open( socket : // :800 ) 2. InputStream OutputStream 3. socket import javax.microedition.io.*; import java.io.*; String connectstring = "socket:// :800"; OutputConnection sc = null; DataOutputStream dos = null; try{ sc = (OutputConnection) Connector.open(socketUrlString); dos = sc.opendataoutputstream(); catch (IOException e){ System.err.println("IOException caught:" + e) finally{ try { if (dos!= null ) dos.close(); catch (IOException ignored) { try { if ( sc!= null ) sc.close(); catch (IOException ignored) { 65

67 4.2.2 Datagrams Datagram datagram (packet-based) (stream-based) datagram circuit-switched Datagram UDP ( port ) datagram UDP FTP : 1. UDP UDP 2. UDP 3. socket UDP packet-switched 66

68 MIDlet datagram : 1. datagram 2. datagram 3. datagram 4. datagram 5. datagram 6. datagram import javax.microedition.io.*; import java.io.*; import java.lang.*; String destaddr = "datagram:// :9000"; String messagestring = "REQUEST INFO"; DatagramConnection datagramconnection = null; try { datagramconnection=(datagramconnection) Connector.open("datagram://:9000"); int length = messagestring.length(); byte[] messagebytes = new byte[length]; System.arraycopy(messageString.getBytes(), 0, messagebytes, 0, length); Datagram senddatagram = datagramconnection.newdatagram(messagebytes, length, destaddr); datagramconnection.send(senddatagram); receivedatagram = datagramconnection.newdatagram(datagramconnection.getmaximumlength( )); datagramconnection.receive(receivedatagram); 67

69 catch (IOException e) { System.err.println("IOException Caught:" + e); finally { try { if (dc!= null) dc.close(); catch (Exception ignored) { HTTP HTTP request-response HTTP HttpConnection HttpConnection HTTP HttpConnection : 1. MIDP socket datagram MIDP HTTP 2. socket datagram 3. MIDP HttpConnection 4. HTTP XMLHTTP 68

70 port 80 port : request headermidp setrequestmethod()setrequestproperty() getrequestmethod()getrequestproperty() open() InputStream OutputStream : HttpConnection c = (HttpConnection)Connector.open(); InputStream is = c.openinputstream(); c.close(); hello.txt Hi! Hello! import javax.microedition.midlet.*; 69

71 import javax.microedition.io.*; import javax.microedition.lcdui.*; import java.io.*; public class Httpexample extends MIDlet implements CommandListener { private static String defaulturl = " private Display mydisplay = null; private Form mainscreen; private TextField requestfield; private Form resultscreen; private StringItem resultfield; Command sendcommand = new Command("SEND", Command.OK, 1); Command backcommand = new Command("BACK", Command.OK, 1); public Httpexample(){ mydisplay = Display.getDisplay(this); mainscreen = new Form("Type in a URL:"); requestfield = new TextField(null, defaulturl, 100, TextField.URL); mainscreen.append(requestfield); mainscreen.addcommand(sendcommand); mainscreen.setcommandlistener(this); public void startapp() { mydisplay.setcurrent(mainscreen); public void pauseapp() { public void destroyapp(boolean unconditional) { 70

72 public void commandaction(command c, Displayable s) { if (c == sendcommand) { String urlstring = requestfield.getstring(); String resultstring = ""; try { resultstring = sendgetrequest(urlstring); catch (IOException e) { resultstring = "ERROR"; resultscreen = new Form("GET Result:"); resultfield = new StringItem(null, resultstring); resultscreen.append(resultfield); resultscreen.addcommand(backcommand); resultscreen.setcommandlistener(this); mydisplay.setcurrent(resultscreen); else if (c == backcommand) { requestfield.setstring(defaulturl); mydisplay.setcurrent(mainscreen); public String sendgetrequest(string urlstring) throws IOException { HttpConnection hc = null; DataInputStream dis = null; String message = ""; try { hc = (HttpConnection) Connector.open(urlstring); dis = new DataInputStream(hc.openInputStream()); int ch; while ((ch = dis.read())!= -1) { message = message + (char) ch; finally { if (hc!= null) hc.close(); if (dis!= null) dis.close(); return message; 71

73 [ ] Httpexample hello2.txt! wireless toolkit hello2.txt 72

74 Hi!oddman! Hi!lgz! Hi!dun! Hi!steven! Hi!tony! Hi!wonton! import javax.microedition.midlet.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import java.io.*; public class Httpexercise extends MIDlet implements CommandListener { private static String defaulturl = " private Display mydisplay = null; private Form mainscreen; private TextField requestfield; private Form resultscreen; private StringItem resultfield; private Form showscreen; int i=0; TextBox t; StringBuffer temp = new StringBuffer(); Command sendcommand = new Command("SEND", Command.OK, 1); Command backcommand = new Command("BACK", Command.OK, 1); public Httpexercise(){ mydisplay = Display.getDisplay(this); mainscreen = new Form("Type in a URL:"); requestfield = new TextField(null, defaulturl, 100, TextField.URL); mainscreen.append(requestfield); mainscreen.addcommand(sendcommand); 73

75 mainscreen.setcommandlistener(this); public void startapp() { mydisplay.setcurrent(mainscreen); public void pauseapp() { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable s) { if (c == sendcommand) { String urlstring = requestfield.getstring(); String resultstring = ""; try { System.out.println("*"); resultstring = sendgetrequest(urlstring); System.out.println(resultstring); catch (IOException e) { resultstring = "ERROR"; resultscreen = new Form("GET Result:"); for(i=0;i<resultstring.length();i++) { if(resultstring.charat(i)!='!') { System.out.println(resultstring.substring(i,i+1)); temp.append(resultstring.substring(i,i+1)); showscreen = new Form("GET Result:"); showscreen.append(temp.tostring()); showscreen.addcommand(backcommand); showscreen.setcommandlistener(this); mydisplay.setcurrent(showscreen); 74

76 else if (c == backcommand) { requestfield.setstring(defaulturl); mydisplay.setcurrent(mainscreen); public String sendgetrequest(string urlstring) throws IOException { HttpConnection hc = null; DataInputStream dis = null; String message = ""; try { hc = (HttpConnection) Connector.open(urlstring); dis = new DataInputStream(hc.openInputStream()); int ch; while ((ch = dis.read())!= -1) { message = message + (char) ch; finally { if (hc!= null) hc.close(); if (dis!= null) dis.close(); return message; 75

77 MIDP (Record Management System) RMS MIDlet MIDP Record Management System (RMS) RMS records record stores( ) record store MIDlet records record bytes record stores record record stores record recordid stores record record record stores recordid recordids recordid 2,147,483,647 MIDlets MIDlet suite MIDlet suite MIDlets record storesrms (locking) MIDlet suite MIDlets threads record store JAVA (synchronization) RMS record stores 76

78 5.1.2 RMS Record stores : Record store Record store records Record store Record store 32 Unicode MIDP RMS record stores record stores MIDlet suite MIDlets MIDlet suite MIDlet suite record store MIDlet suite MIDlets record store MIDlet suite MIDlet ( ) RecordStore static listrecordstores MIDlet suite record stores record storerecord store RecordStore openrecordstore record store record store boolean record store openrecordstore Record store record store ( ) : getname getnumrecords record store string record store records int 77

79 getsize record store (byte) int getsizeavailable (byte) int getnextrecordid record recordid int getversion record store 1 record (+1) int getlastmodified long record store record store record store RecordStore closerecordstore deleterecordstore record store record store record store record store record store record listeners record store MIDlet record store record RecordStoreNotOpenException Record store record store record store : 5. record record store : int id = 0; try { id = recordstore.addrecord(data,0,data.length); catch(recordstoreexception e) { System.out.println( Exception occurrence : +e); addrecord() record byte 0( ) String getbytes() byte : byte[] data = our_string.getbytes(); 78

80 record byte (index) record byte 6. record : byte[] recorddata = null; try { recorddata = recordstore.getrecord(id); catch(recordstoreexception e) { System.out.println( Exception occurrence : +e); getrecord() record ID record record store MIDlet record Ids ID (enumerate) records ID 7. record record store : int id = 0; try { id = recordstore.setrecord(recordid,data,0,data.length); catch(recordstoreexception e) { System.out.println( Exception occurrence : +e); setrecord() record addrecord() record ID record 8. record record store : try { recordstore.deleterecord(id); 79

81 catch(recordstoreexception e) { System.out.println( Exception occurrence : +e); deleterecord() record record ID record record store RMS Record store records RMS JAVA interface (filter) (search) (sort) record store : 1.RecordFilter : record matches() true false record records public class IntegerFilter implements RecordFilter { public boolean matches(byte[] candidate) throw IllegalArgumentException { return candidate[0]== I // candidate[0]== I true RecordFilter record byte I records Integer true false 2.RecordComparator : records compare() records (static value) : EQUIVALENT : records FOLLOWS : record record 80

82 PRECEDES : record record Class IntergerCompare implements RecordComparator { public int compare(byte[] r1, byte[] r2) { int i1 = r1.intvalue(); int i2 = r2.intvalue(); if(i1>i2) return RecordComparator.FOLLOWS; if(i1<i2) return RecordComparator. PRECEDES; return RecordComparator. EQUIVALENT; 3.RecordListener : record record store : recordadded : record store recordchanged : record recorddeleted : record RecordListener mylistener = new RecordListener(); RecordStore.addRecordListener(myListener); public class mylistener implements RecordListener { public void recordadded(recordstore rs, int recordid) { System.out.println( Record added! ); public void recordchanged(recordstore rs, int recordid) { System.out.println( Record changed! ); public void recorddeleted(recordstore rs, int recordid) { System.out.println( Record deleted! ); record listener record store 81

83 records 4.RecordEnumerator : record store records record store records RecordStore enumeraterecords() RecordEnumerator recordsenumeraterecords(null,null,false) (filter) RecordFilter records RecordComparator record store true false record store false RMS (overhead) RecordEnumeration records = null; try { records = recordstore.enumeraterecords(null,null,false); while(records.hasnextelement()) { int id = records.nextrecordid(); System.out.println(id); catch(exception e) { System.err.println( Exception occurrence : +e); record store records ID record RMS 82

84 Rmsexample import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.util.*; import java.io.*; import javax.microedition.io.*; import javax.microedition.rms.*; public class Rmsexample extends MIDlet implements CommandListener { private Command exitcommand, addcommand; private Command backcommand, savecommand; private Display display; private List mainscreen; private Form taskscreen; 83

85 private DateField datefield; private TextField taskfield; private Personal db = null; private Vector taskids = new Vector(); public Rmsexample() { display = Display.getDisplay(this); exitcommand = new Command("Exit", Command.EXIT, 2); addcommand = new Command("Add", Command.SCREEN, 3); backcommand = new Command("Back", Command.BACK, 3); savecommand = new Command("Save", Command.OK, 3); mainscreen = new List("Personal List", List.IMPLICIT); mainscreen.addcommand(exitcommand); mainscreen.addcommand(addcommand); mainscreen.setcommandlistener(this); taskscreen = new Form("New Task"); datefield = new DateField("", DateField.DATE); taskscreen.append(datefield); taskfield = new TextField("", "", 20, TextField.ANY); taskscreen.append(taskfield); taskscreen.addcommand(backcommand); taskscreen.addcommand(savecommand); taskscreen.setcommandlistener(this); try { db = new Personal("tasks"); catch(exception e) { System.err.println("EXCEPTION: Problem opening the database."); RecordEnumeration records = null; try { records = db.enumeratetaskrecords(); 84

86 while(records.hasnextelement()) taskids.addelement(new Integer(records.nextRecordId())); catch(exception e) { System.err.println("EXCEPTION: Problem reading the task records."); records.reset(); try { while(records.hasnextelement()) { mainscreen.append(new String(records.nextRecord()), null); catch(exception e) { System.err.println("EXCEPTION: Problem reading the task records."); public void startapp() throws MIDletStateChangeException { display.setcurrent(mainscreen); public void pauseapp() { public void destroyapp(boolean unconditional) { try { db.close(); catch(exception e) { System.err.println("EXCEPTION: Problem closing the database."); public void commandaction(command c, Displayable s) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); 85

87 else if (c == addcommand) { datefield.setdate(calendar.getinstance().gettime()); taskfield.setstring(""); display.setcurrent(taskscreen); else if (c == List.SELECT_COMMAND) { int index = mainscreen.getselectedindex(); int id = ((Integer)taskIDs.elementAt(index)).intValue(); db.deletetaskrecord(id); taskids.removeelementat(index); mainscreen.delete(index); else if (c == backcommand) { display.setcurrent(mainscreen); else if (c == savecommand) { taskids.addelement(new Integer(db.addTaskRecord(taskField.getString()))); mainscreen.append("#"+taskfield.getstring(), null); display.setcurrent(mainscreen); Personal.java import javax.microedition.rms.*; import java.util.enumeration; import java.util.vector; import java.io.*; public class Personal { RecordStore recordstore = null; public Personal(String name) { try { recordstore = open(name); 86

88 catch(recordstoreexception e) { e.printstacktrace(); public RecordStore open(string filename) throws RecordStoreException { return RecordStore.openRecordStore(fileName, true); public void close() throws RecordStoreNotOpenException, RecordStoreException { if (recordstore.getnumrecords() == 0) { String filename = recordstore.getname(); recordstore.closerecordstore(); recordstore.deleterecordstore(filename); else { recordstore.closerecordstore(); public synchronized int addtaskrecord(string record) { byte[] bytes = record.getbytes(); try { return recordstore.addrecord(bytes, 0, bytes.length); catch (RecordStoreException e) { e.printstacktrace(); return -1; public synchronized void deletetaskrecord(int id) { try { recordstore.deleterecord(id); 87

89 catch (RecordStoreException e) { e.printstacktrace(); public synchronized RecordEnumeration enumeratetaskrecords() throws RecordStoreNotOpenException { return recordstore.enumeraterecords(null, null, false); (kxml) kxml XML XML XML (parser) XSL XML J2ME MIDP XML APIs XML XML MIDlet kxml kxml pull (processing state) push kxml k Applets JAVA Palm MIDP kxml : XML Namespace kdom WAP(WBXML/WML) XML 88

90 pull XML kdom kxml (entity) doctype (document type declaration) doctype kxml APIs kxml JAR Software Downloads ( )kxml XML kxml-min.zip io parser API kdom WAP API PC kxml-min.zip org META-INF src 89

91 5.2.3 XML (element) (attribute) org.kxml.parser (package) XmlParser XML ParseEvent gettype() XML : Xml.START_TAG : XML Xml.END_TAG : XML Xml.TEXT : XML Xml.COMMENT : XML Xml.DOCTYPE : XML (Document type declaration) Xml.WHITESPACE : XML Xml.END_DOCUMENT : XML Xml (field) XML ParseEvent XML : getname() : gettext() : getvalue() : getattribute() : parser : ParseEvent event = parser.read (); 90

92 switch (event.gettype ()) { case Xml.START_TAG: System.out.println("start_tag: '"+event.getname()+"'"); break; case Xml.END_TAG: System.out.println ("/end_tag: '"+event.getname()+"'"); leave = true; break; case Xml.END_DOCUMENT: System.out.println ("Document end reached!"); leave = true; break; case Xml.TEXT: System.out.println ("text: "+event.gettext()); break; case Xml.WHITESPACE: System.out.println ("ignoring whitespace"); break; default: System.out.println ("ignoring some other (legacy) event: "+event); kxml kxml XML XML Wireless Toolkit J2ME 91

93 kxml.xml <?xml version="1.0" encoding="big5"?> < > < >HELLO</ > < >HI</ > </ > import java.io.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import org.kxml.parser.*; import org.kxml.*; public class kxmlexample extends MIDlet implements CommandListener { private Display display; TextBox input; TextBox t; TextField temp; String url = " StringBuffer result=new StringBuffer(); private Command exitcommand, okcommand, backcommand; 92

94 public kxmlexample() { display = Display.getDisplay(this); exitcommand = new Command("Exit", Command.EXIT, 2); okcommand = new Command("Ok", Command.OK, 3); backcommand = new Command("Back", Command.BACK, 3); public void startapp() { Form inputs = new Form("Form"); inputs.append("connect or not?"); inputs.addcommand(okcommand); inputs.addcommand(backcommand); display.setcurrent(inputs); inputs.setcommandlistener(this); public void pauseapp() { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable d) { if (c.getcommandtype() == Command.EXIT) { destroyapp(false); notifydestroyed(); if(c.getcommandtype() == Command.OK) { StreamConnection con = null; InputStream s = null; 93

95 try { con = (StreamConnection)Connector.open(url); s = con.openinputstream(); XmlParser parser = new XmlParser(new InputStreamReader(s)); traverse (parser, ""); t=new TextBox("Parsing...",result.toString(),1024,0); catch(ioexception error) { t.addcommand(exitcommand); display.setcurrent(t); t.setcommandlistener(this); public void traverse (XmlParser parser, String indent) throws IOException { boolean leave = false; String temp=null; do{ ParseEvent event = parser.read (); switch (event.gettype ()) { case Xml.START_TAG: System.out.println(indent + "start tag: '" + event.getname() + "'; attributes: "+event.getattributes ()); traverse (parser, indent + "."); break; case Xml.END_TAG: System.out.println (indent + "/end tag: '"+event.getname ()+"'"); leave = true; break; case Xml.END_DOCUMENT: System.out.println (indent + "Document end reached!"); leave = true; break; 94

96 case Xml.TEXT: System.out.println (indent + "text: "+event.gettext ()); result.append("*"+event.gettext()+"\n"); break; case Xml.WHITESPACE: System.out.println (indent + "ignoring whitespace"); break; default: System.out.println (indent + "ignoring some other (legacy) event: "+event); while (!leave); [ ] RMSkXML RMS kxml [ ] kxml RMS 95

97 Exercise.xml <?xml version="1.0" encoding="big5"?> < > < >12/30 20% clothes on sales!</ > < >12/31 Happy New Year</ > </ > import java.io.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import javax.microedition.rms.*; import org.kxml.parser.*; import org.kxml.*; import java.util.*; public class Exercise extends MIDlet implements CommandListener { private Display display; private List taskscreen; TextBox input; TextBox t; TextField temp; private Personal db = null; private Vector taskids = new Vector(); String url = " StringBuffer result=new StringBuffer(); private Command exitcommand, okcommand, backcommand; public Exercise() { display = Display.getDisplay(this); exitcommand = new Command("Exit", Command.EXIT, 2); okcommand = new Command("Ok", Command.OK, 3); 96

98 backcommand = new Command("Back", Command.BACK, 3); taskscreen = new List("Personal List", List.IMPLICIT); taskscreen.addcommand(exitcommand); taskscreen.setcommandlistener(this); try { db = new Personal("tasks"); catch(exception e) { System.err.println("EXCEPTION: Problem opening the database."); RecordEnumeration records = null; try { records = db.enumeratetaskrecords(); while(records.hasnextelement()) taskids.addelement(new Integer(records.nextRecordId())); catch(exception e) { System.err.println("EXCEPTION: Problem reading the task records."); records.reset(); try { while(records.hasnextelement()) taskscreen.append(new String(records.nextRecord()), null); catch(exception e) { System.err.println("EXCEPTION: Problem reading the task records."); public void startapp() { Form inputs = new Form("Form"); inputs.append("connect or not?"); 97

99 inputs.addcommand(okcommand); inputs.addcommand(backcommand); display.setcurrent(inputs); inputs.setcommandlistener(this); public void pauseapp() { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable d) { if (c.getcommandtype() == Command.EXIT) { destroyapp(false); notifydestroyed(); if(c.getcommandtype() == Command.OK) { StreamConnection con = null; InputStream s = null; try { con = (StreamConnection)Connector.open(url); s = con.openinputstream(); XmlParser parser = new XmlParser(new InputStreamReader(s)); traverse (parser, ""); t=new TextBox("Parsing...",result.toString(),1024,0); catch(ioexception error) { display.setcurrent(taskscreen); 98

100 public void traverse (XmlParser parser, String indent) throws IOException { boolean leave = false; String temp=null; do { ParseEvent event = parser.read (); switch (event.gettype ()) { case Xml.START_TAG: System.out.println(indent + "start tag: '" +event.getname () +"'; attributes: "+event.getattributes ()); traverse (parser, indent + "."); break; case Xml.END_TAG: System.out.println (indent + "/end tag: '"+event.getname ()+"'"); leave = true; break; case Xml.END_DOCUMENT: System.out.println (indent + "Document end reached!"); leave = true; break; case Xml.TEXT: System.out.println (indent + "text: "+event.gettext()); result.append("*"+event.gettext()+"\n"); taskids.addelement(new Integer(db.addTaskRecord(event.getText()))); taskscreen.append("#"+event.gettext(), null); break; case Xml.WHITESPACE: System.out.println (indent + "ignoring whitespace"); break; default: System.out.println (indent + "ignoring some other (legacy) event: "+event); while (!leave); 99

101 100

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

<4D6963726F736F667420576F7264202D2031A3AD4A617661BCBCCAF5CAC6CDB7D5FDBEA22E646F63>

<4D6963726F736F667420576F7264202D2031A3AD4A617661BCBCCAF5CAC6CDB7D5FDBEA22E646F63> Java 技 术 的 势 头 正 劲 清 华 大 学 计 算 机 科 学 与 技 术 系 李 涓 子 徐 鹏 王 克 宏 Java 技 术 已 经 遍 布 世 界 各 个 角 落, 从 智 能 卡 Java 手 机 和 电 话, 到 汽 车 生 产 以 至 于 控 制 火 星 漫 游 者 号 的 临 界 任 务 系 统 都 能 看 到 它 的 作 用,Java 已 经 成 为 一 种 普 遍 深 入

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

目次 

目次  軟 體 工 程 期 末 報 告 網 路 麻 將 91703014 資 科 三 黃 偉 嘉 91703024 資 科 三 丘 祐 瑋 91703030 資 科 三 江 致 廣 1 目 次 壹 前 言 (Preface) P.4 貳 計 畫 簡 述 及 預 期 效 益 (Project Description and Expected Results) P.4 參 系 統 開 發 需 求 (System

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

Copyright 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. 版 權 所 有 Sun Microsystems, Inc. 對 本 文 件 所 述 產 品 所 採 用

Copyright 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. 版 權 所 有 Sun Microsystems, Inc. 對 本 文 件 所 述 產 品 所 採 用 使 用 者 指 南 Sun Java TM Wireless Toolkit for CLDC 2.5.2 版 Sun Microsystems, Inc. www.sun.com $$$v252 2007 年 9 月 Copyright 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054,

More information

Microsoft Word - ch-12.DOC

Microsoft Word - ch-12.DOC 12 MIDP 資料庫程式設計 沒經過處理的資料當然叫做垃圾, 但是也不見得經過處理的資料就是資訊 前言紀錄管理系統概觀紀錄倉儲的使用資料儲存監視紀錄倉儲的變化走訪紀錄倉儲多緒執行的相關議題實際範例 : 通訊錄總結 12 前 言 手機程式設計入門 不管是開發什麼類型的程式, 資料庫永遠是一個最重要的議題 雖然在 2 Standard/Enterprise Edition 之中已經有 JDBC 這個技術,

More information

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

MIDP 学习笔记

MIDP 学习笔记 一 高层 MIDP 事件高层 MIDP 事件分为两类 : Command 和 Item 事件 最简单地说,Command 事件是由设备上的键击触发的, 而 Item 事件则是显示中的可视化组件改变的结果 在本节中将介绍如何处理这两种事件类型 Command 对象 在移动设备中发生一个事件时, 就会有一个 Command 对象携带有关这个事件的信息 这些信息包含所执行的命令的类型 命令的标签以及其优先级

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章高级用户界面 无论是游戏程序还是大部分应用程序, 都和图形界面设计密不可分 在 J2ME 中高级图形用户界面由 MIDP(Mobile Information Device Profile, 移动信息设备简表 ) 实现, 所以也称为 MIDP 用户界面 MIDP 用户界面从功能上可以划分为高级用户界面和低级用户界面两部分 高级用户界面主要使用系统提供的组件进行游戏界面设计, 而低级用户界面则用于需要对显示屏精确控制的游戏过程设计中

More information

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

PIC_SERVER (11) SMTP  ( ) ( ) PIC_SERVER (10) SMTP  PIC_SERVER (event driven)  PIC_SERVER SMTP  1.  E- (2005-02-01) (2005-04-28) PIC_SERVER (10) SMTP E-mail PIC_SERVER (event driven) E-mail PIC_SERVER SMTP E-mail 1. E-mail E-mail 1 (1) (2) (3) (4) 1 1. 2 E-mail A E-mail B E-mail SMTP(Simple Mail Transfer

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

Microsoft Word - 黃惠俞_Epets

Microsoft Word - 黃惠俞_Epets 設 計 具 互 動 式 之 手 機 電 子 寵 物 系 列 遊 戲 並 實 作 Happy E-pets 手 機 寵 物 遊 戲 黃 惠 俞 吳 玄 裕 張 躍 曦 郭 俊 甫 阮 昱 翔 國 立 虎 尾 科 技 大 學 資 訊 工 程 系 hyhuang@nfu.edu.tw, {w75346, c00069123,super18181, air3210077} @hotmail.com 摘 要

More information

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener SGML HTML XML 1 SGML XML Extensible Markup Language XML SGML Standard Generalized Markup Language, ISO 8879, SGML HTML ( Hypertext Markup Language HTML) (Markup Language) (Tag) < > Markup (ISO) 1986 SGML

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

(京)新登字063号

(京)新登字063号 教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言

More information

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc) SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer

More information

untitled

untitled 2006 6 Geoframe Geoframe 4.0.3 Geoframe 1.2 1 Project Manager Project Management Create a new project Create a new project ( ) OK storage setting OK (Create charisma project extension) NO OK 2 Edit project

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

untitled

untitled Velocity 14 100061 315@pptph.com.cn http://www.pptph.com.cn 010-67129212 010-67129211 787 1092 1/16 22 535 1 0 000 2001 11 1 2001 11 1 ISBN 7-115-09828-X/TP 2577 32.00 01067129223 1 2 1 2 3 4 5 1 Velocity

More information

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074>

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074> 高级用户界面与多线程 LCDUI 高级 LCDUI LCDUI 与多线程 多线程在手机编程中尤为重要 手机游戏开发中, 通常由游戏主线程负责游戏的基本控制, 除此之外还会由一个或者多个线程用于播放背景音乐或声效 网络接受数据时, 传输速度通常都比较慢, 因此可以使用一个独立的线程负责接收数据, 另外一个线程负责 UI 界面和与用户的交互 LCDUI 与多线程 J2ME 是通过线程体来实现多线程的 线程体就是用于实现线程活动的主体,

More information

J2ME开发环境达建

J2ME开发环境达建 J2ME...2 Eclipse...2 J2ME...18 MIDP...18 J2ME Hello World...20 J2ME...22 J2ME...24 j2me...25 j2me...36 UI...36 Cancelable...38 J2ME...40...51 J2ME...51 J2ME Game...76...79 J2ME...79 J2ME...90 J2ME Eclipse

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

PPBSalesDB.doc

PPBSalesDB.doc Pocket PowerBuilder SalesDB Pocket PowerBuilder PDA Pocket PowerBuilder Mobile Solution Pocket PowerBuilder Pocket PowerBuilder C:\Program Files\Sybase\Pocket PowerBuilder 1.0 %PPB% ASA 8.0.2 ASA 9 ASA

More information

Microsoft PowerPoint - 数据通信-ch1.ppt

Microsoft PowerPoint - 数据通信-ch1.ppt 主 要 内 容 与 基 本 要 求 主 要 内 容 数 据 通 信 与 计 算 机 网 络 计 算 机 网 络 的 发 展 过 程 分 类 以 及 主 要 性 能 指 标 ; 分 组 交 换 的 基 本 原 理 及 其 与 电 路 交 换 报 文 交 换 的 联 系 与 区 别 ; 计 算 机 网 络 的 协 议 与 体 系 结 构 第 1 章 概 述 基 本 要 求 掌 握 分 组 交 换 电 路

More information

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub VoIP... 2... 2 Abstract... 2... 3... 3 RTP...3 Socket...4...6...7 IP...9 Config Two Voice-hub... 10 1 12 VoIP VoIP voice-hub voice-hub Abstract At the beginning of this paper, we introducted the essential

More information

WAPOPAC系統設計與行動圖書館通訊技術之探討.PDF

WAPOPAC系統設計與行動圖書館通訊技術之探討.PDF 44 61-77 92 2 WAPOPAC WAP WAP-based OPAC WAPOPAC WAP WAP WAP, Design of WAPOPAC System and Survey on Mobile Library Communication Technology Sinn-Cheng Lin Associate Professor Department of Information

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

Total Internet Connectivity in a Single Chip

Total Internet Connectivity in a Single Chip 基 于 SX 微 处 理 器 的 嵌 入 式 Internet 技 术 乐 德 广 及 其 应 用 系 统 的 设 计 1 1, 郭 东 辉, 刘 瑞 堂 1, Gerard Parr 2 1. 厦 门 大 学 技 术 物 理 研 究 所 厦 门 361005 2. 英 国 Ulster 大 学 信 息 学 院 N.Ireland, BT52 1SA 摘 要 : SX 微 处 理 器 是 美 国 Scenix

More information

2009年9月全国计算机等级考试二级Java真题及答案

2009年9月全国计算机等级考试二级Java真题及答案 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟,

More information

CH01.indd

CH01.indd 3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac

More information

ebook 185-6

ebook 185-6 6 Red Hat Linux DB2 Universal Database 6.1 D B 2 Red Hat D B 2 Control Center D B 2 D B 2 D B 2 6.1 DB2 Universal Database [DB2]6.1 D B 2 O LT P O L A P D B 2 I B M P C We e k D B 2 D B 2 L i n u x Windows

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

More information

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP TCP/IP : TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP 1. ASCII EBCDIC Extended Binary-Coded Decimal Interchange Code 2. / (1) (2) Single System Image SSI) (3) I/O (4) 3.OSI OSI Open System Interconnection

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

More information

Microsoft Word - 100118002.htm

Microsoft Word - 100118002.htm 100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5 6 6-1 6-2 Socket 6-2-1 Socket 6-2-2 TcpClient 6-3 6-3-1 Socket.Connect 6-3-2 TcpClient.Connect 6-4 6-4-1 Socket.Send / Receive 6-4-2 NetworkStream 6-5 6-5-1 Socket.Close 6-5-2 TcpClient.Close 6-6 DateTime

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

ARM JTAG实时仿真器安装使用指南

ARM JTAG实时仿真器安装使用指南 ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

Microsoft Word - 苹果脚本跟我学.doc

Microsoft Word - 苹果脚本跟我学.doc AppleScript for Absolute Starters 2 2 3 0 5 1 6 2 10 3 I 13 4 15 5 17 6 list 20 7 record 27 8 II 32 9 34 10 36 11 44 12 46 13 51 14 handler 57 15 62 63 3 AppleScript AppleScript AppleScript AppleScript

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

RunPCPB8 new feature.PDF

RunPCPB8 new feature.PDF Client/Server Web N-Tier PowerBuilder 8.0 PowerBuilder 8.0 IDE Client/Server Web PowerBuilder / Web-based IT IDE PowerBuilder PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder Sybase PowerBuilder

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f 27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology

More information

Ch03_嵌入式作業系統建置_01

Ch03_嵌入式作業系統建置_01 Chapter 3 CPU Motorola DragonBall ( Palm PDA) MIPS ( CPU) Hitachi SH (Sega DreamCast CPU) ARM StrongARM CPU CPU RISC (reduced instruction set computer ) CISC (complex instruction set computer ) DSP(digital

More information

上海市教育考试院关于印发新修订的

上海市教育考试院关于印发新修订的 沪 教 考 院 社 考 2012 7 号 上 海 市 教 育 考 试 院 关 于 印 发 上 海 市 高 等 学 校 计 算 机 等 级 考 试 大 纲 (2012 年 修 订 ) 的 通 知 各 有 关 高 校 : 为 进 一 步 加 强 本 市 高 校 计 算 机 基 础 教 学 工 作, 推 进 学 校 更 加 科 学 合 理 地 设 置 计 算 机 基 础 课 程 及 安 排 教 学 内 容,

More information

经华名家讲堂

经华名家讲堂 5.1 5.1.1 5.1.2 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.3 5.3.1 5.3.2 5.3.3 / 5.3.4 / 5.3.5 / 5.4 Internet 5.4.1 Internet 5.4.2 Intranet 1. 2. 1 31 5 5.1 5.1.1 Internet 1 Host 20 60 IBM 2000 2 20 60 20 60

More information

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢

More information

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC 8 TCP/IP TCP/IP TCP OSI 8.1 OSI 4 end to end A B FTP OSI Connection Management handshake Flow Control Error Detection IP Response to User s Request TCP/IP TCP 181 UDP 8.2 TCP/IP OSI OSI 3 OSI 3 8.1 TCP/IP

More information

WinMDI 28

WinMDI 28 WinMDI WinMDI 2 Region Gate Marker Quadrant Excel FACScan IBM-PC MO WinMDI WinMDI IBM-PC Dr. Joseph Trotter the Scripps Research Institute WinMDI HP PC WinMDI WinMDI PC MS WORD, PowerPoint, Excel, LOTUS

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

VIDEOJET connect 7000 VJC-7000-90 zh- CHS Operation Manual VIDEOJET connect 7000 zh-chs 3 目 录 1 浏 览 器 连 接 7 1.1 系 统 要 求 7 1.2 建 立 连 接 7 1.2.1 摄 像 机 中 的 密 码 保 护 7 1.3 受 保 护 的 网 络 7 2 系 统 概 述 8 2.1 实 况

More information

<4D6963726F736F667420576F7264202D20312D3120B9ABBFAAD7AAC8C3CBB5C3F7CAE9A3A8C9EAB1A8B8E5A3A92E646F63>

<4D6963726F736F667420576F7264202D20312D3120B9ABBFAAD7AAC8C3CBB5C3F7CAE9A3A8C9EAB1A8B8E5A3A92E646F63> 广 西 新 豪 智 云 技 术 股 份 有 限 公 司 ( 申 报 稿 ) 推 荐 主 办 券 商 二 〇 一 六 年 一 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和

More information

KL DSC DEMO 使用说明

KL DSC DEMO 使用说明 :0755-82556825 83239613 : (0755)83239613 : http://www.kingbirdnet.com EMAIL Good989@163.com 1 1 KB3000 DTU... 3 1.1... 3 1.2... 3 1.3... 3 1.4... 3 2... 4 2.1 GSM/GPRS... 4 2.2... 4 2.3... 5 2.4... 6 2.5...

More information