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

📄 jiazhangfqscreen.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.TextBox;

public class JiaZhangFQScreen extends TextBox implements Runnable,
		CommandListener {
	private HomeReceiveMidelt hrMidelt;

	private Settings set;

	private Command backCommand = new Command("返回", Command.BACK, 1);

	private Command postCommand = new Command("发送", Command.SCREEN, 1);

	private String postxx;

	public JiaZhangFQScreen(HomeReceiveMidelt hrMidelt, Settings set) {
		super("家长反馈信息:", "", 4096, 0);
		this.hrMidelt = hrMidelt;
		this.set = set;
		postxx = "";
		addCommand(backCommand);
		addCommand(postCommand);
		setCommandListener(this);
	}

	public void commandAction(Command arg0, Displayable arg1) {
		// TODO Auto-generated method stub
		if (arg0 == backCommand) {
			hrMidelt.mainMenuScreenShow(null);
			this.setString("");
			this.addCommand(postCommand);
			return;
		} else if (arg0 == postCommand) {
			Thread thread = new Thread(this);
			thread.start();
		}
	}

	public void run() {
		// TODO Auto-generated method stub
		if ((postxx = this.getString().trim()) != null) {
			post(postxx);
		}
	}

	private void post(String text) {
		// 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/post.jsp?lianxifangshi="
					+ set.getPassword().toString().trim() + "&xingming="
					+ URLEncoder.encode(set.getName().toString().trim(),"utf-8")
					+ "&postxx=" + URLEncoder.encode(text,"utf-8");
			
//			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);

			while (conn.getResponseCode() != HttpConnection.HTTP_OK) {
			}
			wait.exit();
			Display.getDisplay(hrMidelt).setCurrent(this);
			} else {
				conn = (HttpConnection) Connector.open("http://10.0.0.172"
						+ "/test/post.jsp?lianxifangshi="
						+ set.getPassword().toString().trim() + "&xingming="
						+ URLEncoder.encode(set.getName().toString().trim(),"utf-8") +  "&postxx=" + URLEncoder.encode(text,"utf-8"));
				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");
				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);
					System.out.println(reponseData);
					this.setString(unexpandString(reponseData));
					this.removeCommand(postCommand);
					Display.getDisplay(hrMidelt).setCurrent(this);
				} else {
					this.setString("发送失败");
					System.out.println("发送请求失败");
					System.out.println("错误信息:" + handler.getMessage());
				}
			} else {
				System.out.println("建立连接失败");
			}
		} catch (Exception ex) {
			System.out.println("错误信息:" + handler.getMessage());
			ex.printStackTrace();
			hrMidelt.mainMenuScreenShow(null);
		}

	}

//	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 toUTF8(String string) {
	// // TODO 自动生成方法存根
	// String sTemp = null;
	// try{ //System.getProperty("microedition.encoding")得到手机默认的编码格式
	// sTemp = new
	// String(string.getBytes(System.getProperty("microedition.encoding")),"UTF-8");
	// //sTemp = new String(str.getBytes(),"UTF-8");
	// }catch(java.io.UnsupportedEncodingException ex){}
	// return sTemp;
	//
	// }
	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 + -