android平台HttpGet、HttpPost请求实例

所属分类: 软件编程 / Android 阅读数: 2007
收藏 0 赞 0 分享

使用HttpClient中的HttpGet()方法进行http通信的实例:

复制代码 代码如下:

/** 
 *description:Android HttpGet() 
 *authour:YanEr·Gates 
 *website:https://www.jb51.net
 */

package me.gogogoog; 

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MyHttpGetActivity extends Activity{
 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState){ 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.result);

        TextView resultText = (TextView) this.findViewById(R.id.resultText);         

        String username="username"; 
        String password="password"; 

        String httpUrl = "http://192.168.1.90:8080/AndroidLogin/loginAction.do?method=login&username="+username+"&password="+password;   
        //创建httpRequest对象
        HttpGet httpRequest = new HttpGet(httpUrl);
  try
  {
   //取得HttpClient对象
   HttpClient httpclient = new DefaultHttpClient();
   //请求HttpClient,取得HttpResponse
   HttpResponse httpResponse = httpclient.execute(httpRequest);
   //请求成功
   if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
   {
    //取得返回的字符串
    String strResult = EntityUtils.toString(httpResponse.getEntity());
    resultText.setText(strResult);
   }
   else
   {
    resultText.setText("请求错误!");
   }
  }
  catch (ClientProtocolException e)
  {
   resultText.setText(e.getMessage().toString());
  }
  catch (IOException e)
  {
   resultText.setText(e.getMessage().toString());
  }
  catch (Exception e)
  {
   resultText.setText(e.getMessage().toString());
  }   
    }
}


使用HttpClient中的HttpPost()方法进行http通信的实例:
复制代码 代码如下:
/** 
*description:Android HttpPost() 
*authour:YanEr·Gates 
*website:https://www.jb51.net
*/
package me.gogogoog; 

import java.io.IOException; 

import java.util.ArrayList; 
import java.util.List; 
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.HttpStatus; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 
import org.apache.http.util.EntityUtils; 
import android.app.Activity; 
import android.widget.TextView; 

public class ResultActivity extends Activity{ 

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState){ 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.result); 

        TextView resultText = (TextView) this.findViewById(R.id.resultText);                 
        String username="username"; 
        String password="password"; 
        String httpUrl = "http://192.168.1.90:8080/AndroidLogin/loginAction.do?method=login"; 

        //创建httpRequest对象 
        HttpPost httpRequest = new HttpPost(httpUrl); 

        List<NameValuePair> params = new ArrayList<NameValuePair>(); 
        params.add(new BasicNameValuePair("username", username)); 
        params.add(new BasicNameValuePair("password", password)); 

        try{ 
            //设置字符集 
            HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312"); 

            //请求httpRequest 
            httpRequest.setEntity(httpentity); 

            //取得默认的HttpClient 
            HttpClient httpclient = new DefaultHttpClient(); 

            //取得HttpResponse 
            HttpResponse httpResponse = httpclient.execute(httpRequest); 

            //HttpStatus.SC_OK表示连接成功 
            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){ 
                //取得返回的字符串 
                String strResult = EntityUtils.toString(httpResponse.getEntity()); 
                resultText.setText(strResult); 
            }else{ 
                resultText.setText("请求错误!"); 
            } 
        }catch (ClientProtocolException e){ 
            resultText.setText(e.getMessage().toString()); 
        } catch (IOException e){ 
            resultText.setText(e.getMessage().toString()); 
        }catch (Exception e){ 
            resultText.setText(e.getMessage().toString()); 
        }  
    } 
}

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多