android客户端和服务器端怎么交互

android客户端和服务器端怎么交互,第1张

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、socket

2、客户端通过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

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/183841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存