📄 obexclient.java
字号:
package com.j2medev.chapter9;
import java.io.*;
import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.obex.*;
public class OBEXClient implements Runnable,CommandListener{
private OBEXMIDlet midlet = null;
private ClientSession conn = null;
private Form form = new Form("client");
private Account account = null;
private Command sendCommand = new Command("send",Command.OK,1);
public OBEXClient(OBEXMIDlet _midlet) {
midlet = _midlet;
//创建一个Account
account = new Account("mingjava","helloj2me");
form.append("username="+account.getUsername()+"\n");
form.append("password="+account.getPassword()+"\n");
form.append("want to send this object?click send command");
form.addCommand(sendCommand);
form.setCommandListener(this);
midlet.setCurrent(form);
}
public void run() {
try{
conn = (ClientSession)Connector.open("tcpobex://localhost:5000");
//连接到服务器
form.append("connect to obex server...\n");
HeaderSet resp = conn.connect(null);
if(resp.getResponseCode() != ResponseCodes.OBEX_HTTP_OK){
//如果连接失败则返回
form.append("can not connect to server");
return;
}
//向服务器发送对象,首先创建PUT请求
HeaderSet header = conn.createHeaderSet();
header.setHeader(HeaderSet.LENGTH,new Long(account.getLength()));
Operation op = conn.put(header);
//发送Account
DataOutputStream dos = op.openDataOutputStream();
dos.writeUTF(account.getUsername());
dos.writeUTF(account.getPassword());
//退出
dos.close();
op.close();
form.deleteAll();
form.append("the object has been sent to server");
form.addCommand(new Command("back",Command.BACK,1));
}catch(IOException ex){
ex.printStackTrace();
return;
}
}
public void commandAction(Command command, Displayable displayable) {
if(command == sendCommand){
form.deleteAll();
//启动线程,发送对象
new Thread(this).start();
}else if(command.getCommandType() == Command.BACK){
midlet.show();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -