J2ME.PDF
|
|
- 汽弗 经
- 5 years ago
- Views:
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
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 informationEJB-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 information2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难
第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级
More information1.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 informationJavaIO.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 informationJava 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 informationJava 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 informationChapter 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 informationLearning 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 informationMicrosoft Word - 01.DOC
第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的
More informationepub83-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>
Java 技 术 的 势 头 正 劲 清 华 大 学 计 算 机 科 学 与 技 术 系 李 涓 子 徐 鹏 王 克 宏 Java 技 术 已 经 遍 布 世 界 各 个 角 落, 从 智 能 卡 Java 手 机 和 电 话, 到 汽 车 生 产 以 至 于 控 制 火 星 漫 游 者 号 的 临 界 任 务 系 统 都 能 看 到 它 的 作 用,Java 已 经 成 为 一 种 普 遍 深 入
More informationKillTest 质量更高 服务更好 学习资料 半年免费更新服务
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 informationchp6.ppt
Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行
More informationWebSphere 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
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 informationCopyright 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 informationMicrosoft Word - ch-12.DOC
12 MIDP 資料庫程式設計 沒經過處理的資料當然叫做垃圾, 但是也不見得經過處理的資料就是資訊 前言紀錄管理系統概觀紀錄倉儲的使用資料儲存監視紀錄倉儲的變化走訪紀錄倉儲多緒執行的相關議題實際範例 : 通訊錄總結 12 前 言 手機程式設計入門 不管是開發什麼類型的程式, 資料庫永遠是一個最重要的議題 雖然在 2 Standard/Enterprise Edition 之中已經有 JDBC 這個技術,
More information09 (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 informationuntitled
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 informationEJB-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 informationMIDP 学习笔记
一 高层 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 informationD 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 informationMicrosoft Word - 第3章.doc
第 3 章高级用户界面 无论是游戏程序还是大部分应用程序, 都和图形界面设计密不可分 在 J2ME 中高级图形用户界面由 MIDP(Mobile Information Device Profile, 移动信息设备简表 ) 实现, 所以也称为 MIDP 用户界面 MIDP 用户界面从功能上可以划分为高级用户界面和低级用户界面两部分 高级用户界面主要使用系统提供的组件进行游戏界面设计, 而低级用户界面则用于需要对显示屏精确控制的游戏过程设计中
More informationPIC_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 informationuntitled
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 informationMicrosoft Word - 黃惠俞_Epets
設 計 具 互 動 式 之 手 機 電 子 寵 物 系 列 遊 戲 並 實 作 Happy E-pets 手 機 寵 物 遊 戲 黃 惠 俞 吳 玄 裕 張 躍 曦 郭 俊 甫 阮 昱 翔 國 立 虎 尾 科 技 大 學 資 訊 工 程 系 hyhuang@nfu.edu.tw, {w75346, c00069123,super18181, air3210077} @hotmail.com 摘 要
More information2 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 informationKillTest 质量更高 服务更好 学习资料 半年免费更新服务
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号
教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言
More informationBus 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 information1. 访 问 最 新 发 行 公 告 信 息 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一体化理念的课程教学大纲设计
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)
SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer
More informationuntitled
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 informationC/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 informationuntitled
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>
高级用户界面与多线程 LCDUI 高级 LCDUI LCDUI 与多线程 多线程在手机编程中尤为重要 手机游戏开发中, 通常由游戏主线程负责游戏的基本控制, 除此之外还会由一个或者多个线程用于播放背景音乐或声效 网络接受数据时, 传输速度通常都比较慢, 因此可以使用一个独立的线程负责接收数据, 另外一个线程负责 UI 界面和与用户的交互 LCDUI 与多线程 J2ME 是通过线程体来实现多线程的 线程体就是用于实现线程活动的主体,
More informationJ2ME开发环境达建
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 informationuntitled
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 informationCC213
: (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 information3.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 informationRUN_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 informationRunPC2_.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 informationJava 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 informationOracle 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 informationMicrosoft 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 informationMicrosoft 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 information1 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
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 informationuntitled
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 () 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 information1: 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 informationPPBSalesDB.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 informationMicrosoft PowerPoint - 数据通信-ch1.ppt
主 要 内 容 与 基 本 要 求 主 要 内 容 数 据 通 信 与 计 算 机 网 络 计 算 机 网 络 的 发 展 过 程 分 类 以 及 主 要 性 能 指 标 ; 分 组 交 换 的 基 本 原 理 及 其 与 电 路 交 换 报 文 交 换 的 联 系 与 区 别 ; 计 算 机 网 络 的 协 议 与 体 系 结 构 第 1 章 概 述 基 本 要 求 掌 握 分 组 交 换 电 路
More informationVoIP 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 informationWAPOPAC系統設計與行動圖書館通訊技術之探討.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 informationKillTest 质量更高 服务更好 学习资料 半年免费更新服务
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 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集
More informationTotal 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 information2009年9月全国计算机等级考试二级Java真题及答案
2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟,
More informationCH01.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 informationebook 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 informationUser 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 informationSymantec™ 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
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 informationAL-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 information02
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 informationTCP/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 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第
More information59 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 informationMicrosoft Word - 100118002.htm
100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)
More informationuntitled
1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart
More informationSocket 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 informationChapter 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 informationARM 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 informationmvc
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 information1. 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 informationebook
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 informationKillTest 质量更高 服务更好 学习资料 半年免费更新服务
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 information1 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 informationMicrosoft 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 informationFileMaker 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 informationRunPCPB8 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 informationebook140-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 information27 :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 informationCh03_嵌入式作業系統建置_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 informationAN 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 informationUDP 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 informationWinMDI 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 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 informationVIDEOJET 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>
广 西 新 豪 智 云 技 术 股 份 有 限 公 司 ( 申 报 稿 ) 推 荐 主 办 券 商 二 〇 一 六 年 一 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和
More informationKL 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