📄 xueshengcjscreen.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;
public class XueShengCJScreen extends Form implements CommandListener, Runnable {
private HomeReceiveMidelt hrMidelt;
private Command backCommand = new Command("返回", Command.BACK, 1);
private Command chaXunCommand1 = new Command("第一学期", Command.SCREEN, 1);
private Command chaXunCommand2 = new Command("第二学期", Command.SCREEN, 1);
private Command chaXunCommand3 = new Command("第三学期", Command.SCREEN, 1);
private Command chaXunCommand4 = new Command("第四学期", Command.SCREEN, 1);
private Command chaXunCommand5 = new Command("第五学期", Command.SCREEN, 1);
private Command chaXunCommand6 = new Command("第六学期", Command.SCREEN, 1);
private Command chaXunCommand7 = new Command("第七学期", Command.SCREEN, 1);
private Command chaXunCommand8 = new Command("第八学期", Command.SCREEN, 1);
private int choiceId;
private int cx;
private String[] str;
private Settings set;
private StringTokenizer st;
public XueShengCJScreen(HomeReceiveMidelt hrMidelt, Settings set) {
super("学生成绩:");
this.hrMidelt = hrMidelt;
this.set = set;
choiceId = 1;
cx = 0;
str = new String[1024];
this.append("欢迎使用成绩查询系统!");
addCommand(backCommand);
addCommand(chaXunCommand1);
addCommand(chaXunCommand2);
addCommand(chaXunCommand3);
addCommand(chaXunCommand4);
addCommand(chaXunCommand5);
addCommand(chaXunCommand6);
addCommand(chaXunCommand7);
addCommand(chaXunCommand8);
setCommandListener(this);
}
public void commandAction(Command arg0, Displayable arg1) {
// TODO Auto-generated method stub
cx += 1;
if (cx == 1) {
clearForm(this);
}
if (arg0 == backCommand) {
hrMidelt.mainMenuScreenShow(null);
return;
} else if (arg0 == chaXunCommand1) {
choiceId = 1;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand2) {
choiceId = 2;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand3) {
choiceId = 3;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand4) {
choiceId = 4;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand5) {
choiceId = 5;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand6) {
choiceId = 6;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand7) {
choiceId = 7;
Thread thread = new Thread(this);
thread.start();
} else if (arg0 == chaXunCommand8) {
choiceId = 8;
Thread thread = new Thread(this);
thread.start();
}
}
private void chaXun(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/chaxun.jsp?lianxifangshi="
+ set.getPassword().toString().trim() + "&xingming="
+ URLEncoder.encode(set.getName().toString().trim(),"utf-8")+ "&xueqi=" + choiceId;
// String message = "lianxifangshi="
// + set.getPassword().toString().trim() + "&xingming="
// + set.getName().toString().trim()+ "&xueqi=" + 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);
// conn = (HttpConnection) Connector.open(url + '?' + message);
// DataOutputStream dos = conn.openDataOutputStream();
// dos.write(mess.getBytes("utf-8"));
// dos.flush();
conn.setRequestProperty("Accept-Charset" , "utf-8") ;
Waitting wait = new Waitting(true, hrMidelt, this);
Display.getDisplay(hrMidelt).setCurrent(wait);
while (conn.getResponseCode() != HttpConnection.HTTP_OK) {
}
wait.exit();
Display.getDisplay(hrMidelt).setCurrent(this);
} else {
conn = (HttpConnection) Connector.open("http://10.0.0.172"
+ "/test/chaxun.jsp?lianxifangshi="
+ set.getPassword().toString().trim() + "&xingming="
+ URLEncoder.encode(set.getName().toString().trim(),"utf-8") + "&xueqi="
+ choiceId);
conn.setRequestProperty("X-Online-Host", host+":"+port);
}
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");
// conn.setRequestProperty("User-Agent","Profile/MIDP-1.0
// Configuration/CLDC-1.0" );
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");
st = new StringTokenizer(reponse.toString().trim(),
"\r\n\f\t");
this.append("第" + choiceId + "学期:" + "\n");
for (int i = 0; st.hasMoreTokens(); i++) {// 取其中的字符串用作list
str[i] = st.nextToken();
this.append(unexpandString(str[i]) + "\n");
}
// this.append(unexpandString(reponse));
// System.out.println(reponseData);
// this.append("第"+choiceId+"学期");
// this.append(reponseData);
Display.getDisplay(hrMidelt).setCurrent(this);
} else {
System.out.println("发送请求失败");
System.out.println("错误信息:" + handler.getMessage());
}
} else {
append("发送失错了");
System.out.println("建立连接失败");
}
} catch (Exception ex) {
clearForm(this);
append("发送失败");
System.out.println("错误信息:" + handler.getMessage());
ex.printStackTrace();
}
}
// 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 void clearForm(Form f) {
int sz = f.size();
while (sz > 0) {
f.delete(--sz);
}
}
public void run() {
// TODO Auto-generated method stub
chaXun(choiceId);
}
// 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 + -