android客户端和服务器端是基于IntentService的,具体如下:
后台使用简单的servlet,支持GET或POST。这个servlet最终返回给前台一个字符串flag,值是true或false,表示登录是否成功。
然后在安卓的ADT上创建一个安卓项目,建立两个Activity,分别作为登录界面和登录成功界面。
HTTP的访问公共类,用于处理GET和POST请求。
IntentService服务,用于在后台以队列方式处理耗时操作。
在AndroidManifest.xml中注册IntentService。注意uses-permission节点,为程序开启访问网络的权限。
登陆界面处理,注意按钮监听事件中,使用Intent将要传递的值传给service。接收广播类中,同样使用Intent将要传递的值传给下一个Activity。在onCreate()中,动态注册接收广播类的实例receiver。在接收广播类中,不要使用完毕后忘记注销接收器,否则会报一个Are you missing a call to unregisterReceiver()? 的异常。
1、java服务器建立至少一种服务webservices、servlet、socket2、客户端通过socket或者httpurlconnection的方式进行连接访问
服务端:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/htmlcharset=utf-8")
req.setCharacterEncoding("utf-8")
resp.setCharacterEncoding("utf-8")
PrintWriter out = resp.getWriter()
//用HTML格式给浏览器返回数据
out.println("<html>")
out.println("<head>")
out.println("<title>Tomcat Servlet测试</title>")
out.println("</head>")
out.println("<body>")
out.println("Hello,First Servlet!")
out.println("</body>")
out.println("</html>")
out.println("Hello,第一个Tomcat!!!")
out.close()
}
客户端:
private String doGet(String url){
String responseStr = ""
try {
String name = nameEdit.getText().toString().trim()
String code = codeEdit.getText().toString().trim()
String getUrl = URL + "?NAME=" + name+"&"+"CODE=" + code
HttpGet httpRequest = new HttpGet(getUrl)
HttpParams params = new BasicHttpParams()
ConnManagerParams.setTimeout(params, 1000)
HttpConnectionParams.setConnectionTimeout(params, 3000)
HttpConnectionParams.setSoTimeout(params, 5000)
httpRequest.setParams(params)
HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest)
final int ret = httpResponse.getStatusLine().getStatusCode()
if(ret == HttpStatus.SC_OK){
responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8)
}else{
responseStr = "-1"
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return responseStr
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)