⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xueshengqqscreen.java

📁 手机的联网应用
💻 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 + -