Android手机客户端与Servlet交换数据(by quqi99)


作者:张华 发表于:2007-11-14 ( http://blog.csdn.net/quqi99 )

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。

手机端:

package zhanghua.test.dataexchange;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class DataExchange extends Activity {
private EditText titleText;
private EditText bodyText;

@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.note_edit);

titleText = (EditText) findViewById(R.id.title);
bodyText = (EditText) findViewById(R.id.body);

Button confirmButton = (Button) findViewById(R.id.confirm);

confirmButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {
// Bundle bundle = new Bundle();
// bundle.putString(Notepadv3.KEY_TITLE,
// titleText.getText().toString());
// bundle.putString(Notepadv3.KEY_BODY,
// bodyText.getText().toString());
// if (rowId != null) {
// bundle.putLong(Notepadv3.KEY_ROW_ID, rowId);
// }
// setResult(RESULT_OK, null, bundle);
// finish();

String u = "http://172.17.1.122:8083/ServerApp/ServletApp ";
URL url = null;
HttpURLConnection httpurlconnection = null;
try {
url = new URL(u);
httpurlconnection = (HttpURLConnection) url
.openConnection();
httpurlconnection.setDoOutput(true);
httpurlconnection.setRequestMethod("POST");
// httpurlconnection.setRequestProperty("Content-Language","en-CA");
// httpurlconnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// httpurlconnection.setRequestProperty("Connection","Keep-Alive");
// //始终使用同一个HTTP连接来多次传递数据
// 手机传给电脑的数据
DataOutputStream dos = new DataOutputStream(
httpurlconnection.getOutputStream());
dos.writeUTF(titleText.getText().toString());
dos.writeUTF(bodyText.getText().toString());
dos.flush();
dos.close();
// httpurlconnection.getOutputStream().flush();
// httpurlconnection.getOutputStream().close();
int code = httpurlconnection.getResponseCode();
System.out.println("code " + code);

// 接收servlet响应数据
DataInputStream dis = new DataInputStream(httpurlconnection
.getInputStream());
String return1Str = dis.readUTF();
String return2Str = dis.readUTF();
System.out.println("手机接收到servlet端传来的第一个参数为:" + return1Str);
titleText.setText(return1Str); // 显示
// 主要起调试的作用,调试的结果将显示在WTK的控制台中
System.out.println("手机接收到servlet端传来的第二个参数为:" + return2Str);
bodyText.setText(return2Str); // 显示
} catch (Exception e) {
e.printStackTrace();
} finally {
if (httpurlconnection != null)
httpurlconnection.disconnect();
}

}

});
}
}

2、电脑端

package quqi;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @date 2007/12/10
* @author 张华
* @descrip 模拟服务器端
*/
public class ServletApp extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html; charset=GBK");

// 设置响应属性
// 接收客户端的请求
InputStream is = request.getInputStream();
DataInputStream dis = new DataInputStream(is);
String tf1Str = dis.readUTF();
String tf2Str = dis.readUTF();
System.out.println("servlet端接收到手机传来的第一个参数为:" + tf1Str);
// 主要起调试的作用,调试的结果显示在tomcat的启动DOS窗口中
System.out.println("servlet端接收到手机传来的第二个参数为:" + tf2Str);
// 对接收的参数进行处理
String return1Str = tf1Str.concat(":早上好!");
// 在接收到的参数后连接字符串
String return2Str = tf2Str.concat(":晚上好!");
// 发送处理后的参数给手机
DataOutputStream dos = new DataOutputStream(response.getOutputStream());
dos.writeUTF(return1Str);
dos.writeUTF(return2Str);
System.out.println("servlet传递给手机的第一个参数为:" + return1Str);
System.out.println("servlet传递给手机的第二个参数为:" + return2Str);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

public void destroy() {
}
// 清除资源
}

更多相关文章

  1. [Android-Demo] Android 数据库(SQL)简单使用Demo
  2. android : 如何通过provider向外共享数据
  3. Android特有的数据结构分析
  4. Android 怎样获得手机信息(二)
  5. android 查看其他进程内存数据
  6. android实现json数据的解析和把数据转换成json格式的字符串
  7. Android中数据存储的几种方法

随机推荐

  1. Android(安卓)多级菜单实现
  2. 删除android系统自带锁屏,导航栏、状态栏
  3. Android如何获取SIM卡信息
  4. android布局
  5. android字体
  6. Android(安卓)的状态栏通知(Notification
  7. Android原生消息处理与FMX平台服务消息处
  8. android用户界面之TabHost教程实例汇总
  9. Android学习笔记_76_Android(安卓)Progre
  10. Android中SDK安装出错Failed to fectch U