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(安卓)加速度传感器(G-Sensor)
  2. AspectJ 在 Android(安卓)中的使用
  3. Android之SimpleAdapter简单实例和SimpleAdapter参数说明(zt)
  4. 从NDK在非Root手机上的调试原理探讨Android的安全机制
  5. BroadcastReciver 广播接收者---DAY06 2014 06 03
  6. android 开发包简介
  7. Android(安卓)-- ListView(1)
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. Python技巧匿名函数、回调函数和高阶函数

随机推荐

  1. Android(安卓)OpenCV中的几种基本数据结
  2. android JNI层线程回调Java函数
  3. android条形码二维码
  4. Android四大组件之Activity
  5. Android作为SocketServer以及手机IP问题
  6. Android Binder 框架层详解
  7. 修改Android屏幕默认旋转方向
  8. android中javah生成jni头文件报错问题
  9. Android输入法切换引导功能
  10. Android中把集合显示到listview上