自己写的Android端HttpUtil工具类

package com.sxt.jcjd.util;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpResponse;
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.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import android.os.DropBoxManager.Entry;
import android.os.Handler;
import android.os.Message;

public class HttpUtil {

    private HashMap<String, String> map;
    private String strUrl;
    private String strMethod;
    private HttpGet httpGet;
    private HttpClient client;
    private HttpPost post;
    private Handler handler;
    public HttpUtil(HashMap<String, String> map,String strUrl, Handler handler)
    {
        this.map = map;
        this.strUrl = strUrl;
        this.handler = handler;
    }

    public void ExecuteGetRequest()
    {

        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    String result = "";
                    Iterator iterator = map.entrySet().iterator();
                    while(iterator.hasNext())
                    {
                        Map.Entry entry = (Map.Entry)iterator.next();
                        String key = entry.getKey().toString();
                        String value = entry.getValue().toString();
                        strUrl += key+"="+value+"&";
                    }
                    strUrl = strUrl.substring(0, strUrl.length() - 1);
                    httpGet = new HttpGet(strUrl);
                    client = new DefaultHttpClient();
                    HttpResponse response = client.execute(httpGet);
                    if(response.getStatusLine().getStatusCode()==200){
                        result = EntityUtils.toString(response.getEntity());
                        }
                    Message msg = new Message();
                    msg.obj = result;
                    handler.sendMessage(msg);
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        });
        thread.start();
    }

    public void ExecutePostRequest()
    {
        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                String result = "";
                List<NameValuePair> list = new ArrayList<NameValuePair>();
                try {
                    post = new HttpPost(strUrl);
                    client = new DefaultHttpClient();
                    Iterator iterator = map.entrySet().iterator();
                    while(iterator.hasNext())
                    {
                        Map.Entry entry = (Map.Entry)iterator.next();
                        String key = entry.getKey().toString();
                        String value = entry.getValue().toString();
                        NameValuePair nv = new BasicNameValuePair(key, value);
                        list.add(nv);
                    }
                    post.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));
                    HttpResponse response = client.execute(post);
                    if(response.getStatusLine().getStatusCode() == 200)
                    {
                        result = EntityUtils.toString(response.getEntity());
                    }
                    Message msg = new Message();
                    msg.obj = result;
                    handler.sendMessage(msg);
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                catch(Exception ex)
                {
                    ex.printStackTrace();
                }
            }
        });
        thread.start();

    }
}
时间: 2024-11-05 14:49:03

自己写的Android端HttpUtil工具类的相关文章

Android常用的工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.SerializeUtils.S

一个使用命令行编译Android项目的工具类

一个使用命令行编译Android项目的工具类 简介 编译apk项目需要使用的几个工具,基本都在sdk中,它们分别是(Windows系统): 1.aapt.exe 资源打包工具 2.android.jar Android编译工具 3.dx.bat dex文件生成工具 4.sdklib.jar 生成apk 5.jarsigner 签名工具 准备 在打包前,需要的环境如下: 1.JDK1.6+ 2.Android SDK 3.上述5个工具的路径 打包过程 1.生成R.java文件 比如: aapt p

Android开发常用工具类

来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils. PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils. ParcelUtils.Rand

20个Android开发常用工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.S

最全Android开发常用工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.S

Android 文件读写工具类

自己写的工具类,写的不好,慢慢修改. 记得加上权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> package com.sy.utils; import android.con

自己用反射写的一个request.getParameter工具类

适用范围:当我们在jsp页面需要接收很多值的时候,如果用request.getParameter(属性名)一个一个写的话那就太麻烦了,于是我想是 否能用反射写个工具类来简化这样的代码,经过1个小时的代码修改调试,终于雏形出来了,很高兴调试成功,呵呵,代码贴出来. package com.letv.uts2.utcServer.util; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import java.lang.reflect

Android之SharedPreferences工具类

本工具类永久维护,永久更新,如果各位读者发现有bug或者不合理之处,请留言,博主将第一时间改正. 本工具类提供的功能有: 1.存储五种类型的数据: 2.读取五种类型的数据: 内容如下: import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; /** * * @author bear * * SharedPre

android开发Tost工具类管理(一)

Tost工具类管理: 1 package com.gzcivil.utils; 2 3 import android.content.Context; 4 import android.widget.Toast; 5 6 /** 7 * 8 * @author LiJinlun date 2016-01-10 9 */ 10 public class MyToast { 11 private static Toast mToast = null; 12 13 /* 14 * 一个Activity