欢迎来到天天文库
浏览记录
ID:34462681
大小:338.67 KB
页数:7页
时间:2019-03-06
《安卓使用post提交数据并获得方服务端的响应》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、本文档提供了安卓如何使用post向服务端提交数据,并获得服务端的响应的方法,有服务端的详细代码,有客户端的详细代码,并且仔细说明的过程和代码的作用。希望对大家有很好的帮助在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持。 在HTTP通信中使用最多的就是GET和POST了,GET请求可以获取静态页面,也可以把参数放在URL字符串的后面,传递给服务器。POST与GET的不同之处在于POST的参数不是放在URL字符串里
2、面,而是放在HTTP请求数据中。 本文将使用标准Java接口HttpURLConnection,以一个实例演示如何使用POST方式向服务器提交数据,并将服务器的响应结果显示在Android客户端。1.服务器端的准备 为了完成该实例,我们需要在服务器端做以下准备工作: (1)我们需要在MyEclipse中创建一个Web工程,用来模拟服务器端的Web服务,这里,我将该工程命名为了“myhttp”。 (2)修改该工程的“index.jsp”文件,添加两个输入框和一个提交按钮,作为该Web工程的显示页面。运行Tomc
3、at,在浏览器中访问该Web工程,可以看到如图1所示的界面。图1Web工程的显示页面 (3)在该Web工程中,创建一个继承自HttpServlet的LoginAction类,并实现其中的doPost()方法,用来响应图1所示页面的用户操作。具体实现如下:1 publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)2throwsServletException,IOException{34response.setContentTy
4、pe("text/html;charset=utf-8");5request.setCharacterEncoding("utf-8");6response.setCharacterEncoding("utf-8");7PrintWriterout=response.getWriter();89Stringusername=request.getParameter("username");10Stringpassword=request.getParameter("password");1112//判断用户名密码是否
5、正确13if(username.equals("admin")&&password.equals("123")){14out.print("Loginsucceeded!");15}else{16out.print("Loginfailed!");17}1819out.flush();20out.close();21} 由上述代码可以看出,当我们在图1所示的页面输入用户名“admin”,密码“123”时,点击提交按钮,会得到“Loginsucceeded!”的提示信息,如图2所示。若用户名、密码错误,则会得到“Lo
6、ginfailed!”的提示信息。图2登录成功界面 至此,服务器端的准备工作就全部完成了。2.客户端实现 在Android客户端,我们需要完成的工作是:以POST方式发送用户名密码到上述服务器,并获得服务器的验证信息。 我们分以下几个步骤来完成。2.1UI界面 在Android工程中,我们需要完成一个简单的UI界面,用来完成用户名密码的输入、发送POST请求、显示服务器的验证结果,完成后的界面如图3所示。图3客户端UI界面 在MainActivity中,我们需要获取两个EditText控件的输入,“提交”按
7、键的监听,以及服务器验证结果的TextView内容显示。具体实现代码如下:1/*2*Function:点击事件响应3*Author:博客园-依旧淡然4*/5publicvoidonClick(Viewview){6switch(view.getId()){7caseR.id.button_submit:8Stringusername=mEditText_userName.getText().toString();9Stringpassword=mEditText_password.getText().toString
8、();10Mapparams=newHashMap();11params.put("username",username);12params.put("password",password);13mTextView_result.setText(HttpUtils.submitPost
此文档下载收益归作者所有