📄 xueshengqqscreen.java
字号:
package cn.com.javachen;
import java.util.Hashtable;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
public class XueShengQQScreen extends Form implements Runnable, CommandListener {
private HomeReceiveMidelt hrMidelt;
int choiceID;
private String[] str;
private StringItem strItem;
private Settings set;
private StringTokenizer st;
private Command backCommand = new Command("退出", Command.BACK, 1);
private Command readCommand = new Command("阅读", Command.SCREEN, 1);
private Command huifuCommand = new Command("回复", Command.SCREEN, 1);
public XueShengQQScreen(HomeReceiveMidelt hrMidelt, Settings set) {
super("学生最近表现信息:");
this.hrMidelt = hrMidelt;
this.set = set;
choiceID = 0;
str = new String[1024];
strItem = new StringItem("", "欢迎查询学生最近情况");
this.append(strItem.getText());
addCommand(backCommand);
addCommand(readCommand);
setCommandListener(this);
}
public void commandAction(Command arg0, Displayable arg1) {
// TODO Auto-generated method stub
if (arg0 == backCommand) {
hrMidelt.mainMenuScreenShow(null);
return;
} else if (arg0 == readCommand) {
this.choiceID = 0;
clearForm(this);
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == huifuCommand) {
hrMidelt.jiaZhangFQScreenShow();
return;
}
}
public void run() {
// TODO Auto-generated method stub
post(choiceID);
}
public void post(int choiceID) {
// TODO Auto-generated method stub
// clearForm(this);
HTML_HttpConnectionHandlerImpl handler = new HTML_HttpConnectionHandlerImpl();
try {
String host = set.getUrlString().toString().trim();
String port = set.getPort().toString().trim();
String url = "http://" + host + ":" + port + "/test/re.jsp?lianxifangshi="
+ set.getPassword().toString().trim() + "&xingming="
+ URLEncoder.encode(set.getName().toString().trim(),"utf-8") + "&yuedu=" + choiceID;;
// String mess = new String(message.getBytes("gb2312"), "iso8859-1");
HttpConnection conn;
int cmnet = set.getCmnet();
System.out.print(cmnet);
if (cmnet == 0) {
conn = (HttpConnection) Connector.open(url);
Waitting wait = new Waitting(true, hrMidelt, this);
Display.getDisplay(hrMidelt).setCurrent(wait);
if (conn.getResponseCode() != HttpConnection.HTTP_OK) {
wait.exit();
}
} else {
conn = (HttpConnection) Connector.open("http://10.0.0.172"
+ "/test/re.jsp?lianxifangshi="
+ set.getPassword().toString().trim() + "&xingming="
+ URLEncoder.encode(set.getName().toString().trim(),"utf-8") + "&yuedu="
+ choiceID);
conn.setRequestProperty("X-Online-Host", host+":"+port);
}
Display.getDisplay(hrMidelt).setCurrent(this);
if (conn.getResponseCode() == HttpConnection.HTTP_OK) {
System.out.println("建立连接成功");
Hashtable requestHeaderPair = new Hashtable();
requestHeaderPair.put(HTML_HttpConnectionHandlerImpl.RQH_HOST,
host);
requestHeaderPair.put(
HTML_HttpConnectionHandlerImpl.RQH_CONTENT_TYPE,
"application/octet-stream");
requestHeaderPair.put(
HTML_HttpConnectionHandlerImpl.RQH_CONTENT_LANGUAGE,
"en-US");
requestHeaderPair.put(
HTML_HttpConnectionHandlerImpl.RQH_ACCEPT,
"application/octet-stream");
requestHeaderPair.put(
HTML_HttpConnectionHandlerImpl.RQH_CONNECTION_OPTION,
"Keep-Alive");
handler.putRequestHeader(conn, requestHeaderPair);
handler.setRequestMethod(conn, HttpConnection.GET);
handler.sendRequestData(conn, "GET / HTTP/1.1");
if (conn.getResponseCode() == HttpConnection.HTTP_OK) {
System.out.println("发送请求成功");
System.out.println("获得回应数据");
String reponseData = (String) handler.getResponseData(conn);
byte[] ccc = reponseData.getBytes("utf-8");
for (int i = 0; i < ccc.length; i++)
System.out.print(Integer.toHexString((ccc[i])) + " ");
System.out.print(reponseData);
String reponse=new String(ccc,"utf-8");
String res=new String(reponse.getBytes("utf-8"),"utf-8");
st = new StringTokenizer(res.toString().trim(),
"\r\n\f\t");
for (int i = 0; st.hasMoreTokens(); i++) {// 取其中的字符串用作list
str[i] = st.nextToken();
append(unexpandString(str[i]));
}
if (reponseData.toString().trim() == "") {
append("暂时无信息");
}
// this.removeCommand(readCommand);
this.addCommand(huifuCommand);
setCommandListener(this);
Display.getDisplay(hrMidelt).setCurrent(this);
} else {
append("发送失败");
System.out.println("发送请求失败");
System.out.println("错误信息:" + handler.getMessage());
}
} else {
append("暂时无信息");
System.out.println("建立连接失败");
Display.getDisplay(hrMidelt).setCurrent(this);
}
} catch (Exception ex) {
clearForm(this);
append("发送失败");
System.out.println("错误信息:" + handler.getMessage());
ex.printStackTrace();
}
}
private void clearForm(Form f) {
int sz = f.size();
while (sz > 0) {
f.delete(--sz);
}
}
// private String toUTF8(String string) {
// // TODO 自动生成方法存根
// String DataType="gbk";
// if(set.getDataType()==0){
// DataType="gbk";
// }else if(set.getDataType()==1){
// DataType="utf8";
// }else if(set.getDataType()==2){
// DataType="iso8859-1";
// }
// String sTemp = null;
// String str = null;
// try { // System.getProperty("microedition.encoding")得到手机默认的编码格式
// sTemp = new String(string.getBytes(System
// .getProperty("microedition.encoding")), DataType);
//// sTemp = new String(string.getBytes("utf-8"), DataType);
// System.out.print("编码为:"
// + System.getProperty("microedition.encoding"));
// // sTemp = new String(str.getBytes(),"UTF-8");
// byte[] gbk = sTemp.getBytes("utf-8");
// str = new String(gbk, "utf-8");
// for (int i = 0; i < gbk.length; i++)
// System.out.print(Integer.toHexString((gbk[i])) + " ");
// System.out.print(sTemp);
// } catch (java.io.UnsupportedEncodingException ex) {
// }
//
// return str;
//}
// private String urlEncode(String s){
// StringBuffer sb=new StringBuffer();
// for(int i=0;i<s.length();++i){
// switch(s.charAt(i)){
// case ' ':
// sb.append("%20");
// break;
// case '+':
// sb.append("%2b");
// break;
// case '\'':
// sb.append("%27");
// break;
// case '<':
// sb.append("%3c");
// break;
// case '>':
// sb.append("%3e");
// break;
// case '#':
// sb.append("%23");
// break;
// case '%':
// sb.append("%25");
// break;
// case '{':
// sb.append("%7b");
// break;
// case '}':
// sb.append("%7d");
// break;
// case '\\':
// sb.append("%5c");
// break;
// case '^':
// sb.append("%5e");
// break;
// case '~':
// sb.append("%73");
// break;
// case '[':
// sb.append("%5b");
// break;
// case ']':
// sb.append("%5d");
// break;
// default:
// sb.append(s.charAt(i));
// break;
//
// }
// }
// return sb.toString();
//
// }
private String unexpandString(String s) {
if (s == null)
return null;
StringBuffer result = new StringBuffer();
int saveI, i, ch;
for (i = 0; i < s.length(); i++) {
if ((ch = s.charAt(i)) == '\\') {
if (s.length() > i + 1 && s.charAt(i + 1) == 'u') {
saveI = 1;
i += 2;
while (s.length() > i && s.charAt(i) == 'u') {
i++;
}
if (s.length() >= i + 4) {
ch = Integer.parseInt(s.substring(i, i + 4), 16);
i += 3;
} else {
i = saveI;
}
}
}
result.append((char) ch);
}
return result.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -