android 采用的是服务端和客户端的形式进行通信.
服务端
通常是一个servlet.
package com.sjming.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class MyServlet
*/
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MyServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String age = request.getParameter("age");
PrintWriter out = response.getWriter();
out.println("name="+name+" age="+age);
System.out.println("name="+name+" age="+age);
}
}
客户端
RegisterActivity
package com.example.sujinming.qumiao;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class RegisterActivity extends Activity {
private EditText name;
private EditText age;
private Button register;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
name = (EditText) findViewById(R.id.name);
age = (EditText)findViewById(R.id.age);
register = (Button)findViewById(R.id.register);
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = "http://118.202.40.18:8080/Serve/MyServlet";
new HttpThread(url, name.getText().toString(), age.getText().toString()).start();
}
});
}
}
HttpThread
package com.example.sujinming.qumiao;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpThread extends Thread{
String url;
String name;
String age;
public HttpThread(String url, String name, String age){
this.url = url;
this.name = name;
this.age = age;
}
private void doGet(){
url = url+"?name="+name+"&age="+age;
try {
URL httpUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String str;
StringBuffer sb = new StringBuffer();
while((str = reader.readLine()) != null) {
sb.append(str);
}
System.out.println("result:"+sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
private void doPost(){
try {
URL httpUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection)httpUrl.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
OutputStream out = conn.getOutputStream();
String content = "name="+name+"&age="+age;
out.write(content.getBytes());
//get the inf form serve
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String str;
while((str = reader.readLine()) != null) {
sb.append(str);
}
System.out.println("result:"+sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
//doGet();
doPost();
}
}