Android向Web服务器发送Post请求并返回数据

本文介绍如何在Android应用中通过权限配置访问网络服务器并实现POST请求,包括发送参数、获取响应结果及处理成功或失败情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.android 向web服务器发送post请求并获取结果,因为 需要访问到网络必须要有权限,先在AndroidManifest.xml中加入如下配置:

[java]  view plain copy
  1. <uses-permission android:name="android.permission.INTERNET"/>  

2.发送post请求并获取结果的activity 代码如下(结果返回1(成功)或-1(失败0)):

[java]  view plain copy
  1. btnOK.setOnClickListener(new OnClickListener(){  
  2.       
  3. @Override  
  4. public void onClick(View view) {  
  5.     String url="http://192.168.123.7:8900/Login.aspx";  
  6.     HttpPost httpRequest=null;  
  7.     List<NameValuePair> params=null;  
  8.     HttpResponse httpResponse=null;  
  9.     //建立HttpPost链接  
  10.     httpRequest=new HttpPost(url);  
  11.     //Post操作参数必须使用NameValuePair[]阵列储存  
  12.     params=new ArrayList<NameValuePair>();  
  13.     params.add(new BasicNameValuePair("domain",domain.getText().toString()));  
  14.     params.add(new BasicNameValuePair("uid",uid.getText().toString()));  
  15.     params.add(new BasicNameValuePair("pwd",pwd.getText().toString()));  
  16.       
  17.     try  
  18.     {     
  19.         //发送Http Request  
  20.         httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));  
  21.         //取得Http Response  
  22.         httpResponse=new DefaultHttpClient().execute(httpRequest);  
  23.         //若状态码为200  
  24.         if(httpResponse.getStatusLine().getStatusCode()==200)  
  25.         {  
  26.             //获得返回的数据  
  27.             String strResult=EntityUtils.toString(httpResponse.getEntity());  
  28.              if(strResult.equalsIgnoreCase("1"))  
  29.              {  
  30.                 // openDialog("登入成功!");  
  31.                 new AlertDialog.Builder(Login.this)  
  32.                 .setTitle("提示").setMessage("登入成功!")  
  33.                 .setPositiveButton("确定",new DialogInterface.OnClickListener() {  
  34.                     @Override  
  35.                     public void onClick(DialogInterface arg0, int arg1) {  
  36.                         // 跳转到另一个Acitivity并传值  
  37.                         Intent intent=new Intent();  
  38.                         intent.putExtra("curUserId",domain.getText().toString()+"/"+ uid.getText().toString());  
  39.                         intent.setClass(Login.this, Holiday.class);  
  40.                         Login.this.startActivity(intent);  
  41.                     }  
  42.                 }).show();   
  43.              }  
  44.              else if(strResult.equalsIgnoreCase("0"))  
  45.              {  
  46.                  openDialog("您输入的信息有误!");  
  47.              }  
  48.         }  
  49.         else  
  50.         {  
  51.             openDialog("Error!");  
  52.             }  
  53.     }  
  54.     catch(Exception e)  
  55.     {  
  56.         e.printStackTrace();  
  57.     }  
  58. }});  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值