android开发,http工具类

android的HttpClient实现简单的get和post请求

[1].[代码] [Java]代码 跳至 [1]

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

/**

 *
Http工具类

 */

public

class

HttpUtil {

    //
创建HttpClient对象

    public

static

HttpClient httpClient =
new

DefaultHttpClient();

    public

static

final

String BASE_URL =
"";

    /**

     *
get请求

     *

     *
@param url

     *           
发送请求的URL

     *
@return 服务器响应字符串

     *
@throws Exception

     */

    public

static

String doGet(String url)
throws

Exception {

        //
创建HttpGet对象。

        HttpGet
get =
new

HttpGet(url);

        //
发送GET请求

        HttpResponse
httpResponse = httpClient.execute(get);

        //
如果服务器成功地返回响应

        if

(httpResponse.getStatusLine().getStatusCode() ==
200)
{

            //
获取服务器响应字符串

            HttpEntity
entity = httpResponse.getEntity();

            InputStream
content = entity.getContent();

            return

convertStreamToString(content);

        }

        return

null
;

    }

    /**

     *
post请求

     *

     *
@param url

     *           
发送请求的URL

     *
@param params

     *           
请求参数

     *
@return 服务器响应字符串

     *
@throws Exception

     */

    public

static

String doPost(String url, Map<String, String> rawParams)

            throws

Exception {

        //
创建HttpPost对象。

        HttpPost
post =
new

HttpPost(url);

        //
如果传递参数个数比较多的话可以对传递的参数进行封装

        List<NameValuePair>
params =
new

ArrayList<NameValuePair>();

        for

(String key : rawParams.keySet()) {

            //
封装请求参数

            params.add(new

BasicNameValuePair(key, rawParams.get(key)));

        }

        //
设置请求参数

        post.setEntity(new

UrlEncodedFormEntity(params,
"utf-8"));

        //
发送POST请求

        HttpResponse
httpResponse = httpClient.execute(post);

        //
如果服务器成功地返回响应

        if

(httpResponse.getStatusLine().getStatusCode() ==
200)
{

            //
获取服务器响应字符串

            HttpEntity
entity = httpResponse.getEntity();

            InputStream
content = entity.getContent();

            return

convertStreamToString(content);

        }

        return

null
;

    }

    /**

     *
获取服务器的响应,转换为字符串

     */

    private

static

String convertStreamToString(InputStream is) {

        BufferedReader
reader =
new

BufferedReader(
new

InputStreamReader(is));

        StringBuilder
sb =
new

StringBuilder();

        String
line =
null;

        try

{

            while

((line = reader.readLine()) !=
null)
{

                sb.append(line);

            }

        }
catch

(IOException e) {

            e.printStackTrace();

        }
finally

{

            try

{

                is.close();

            }
catch

(IOException e) {

                e.printStackTrace();

            }

        }

        return

sb.toString();

    }

}

时间: 2024-12-08 23:10:59

android开发,http工具类的相关文章

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开发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

【福利】-Android开发常用工具类

福利!! 大家都知道,代码写多了,最值钱除了开发经验,还有积累的一票工具类. 目录如下: cddn下载地址:http://download.csdn.net/detail/tailyou/9054485 github地址:https://github.com/Tailyou/AndroidUtils.git 版权声明:本文为博主原创文章,未经博主允许不得转载.

android开发字符串工具类(一)

1 package com.gzcivil.utils; 2 3 import java.io.BufferedReader; 4 import java.io.ByteArrayOutputStream; 5 import java.io.InputStream; 6 import java.io.InputStreamReader; 7 import java.math.BigDecimal; 8 import java.text.SimpleDateFormat; 9 import jav

Android开发实用工具类(小方法)

1,邮箱地址只展示部分,只展示@前面部分的第1个及最后一个字符,其它的用*代替: public static String spliteEmail(String email) {/**传入邮箱地址*/ String newEmail = email.split("@")[0];/**获取到邮箱@前面部分*/ String[] mails = new String[newEmail.length()]; StringBuffer sb = new StringBuffer(); if (

Android|Java 开发常用工具类

如题 该文章展示的是我开发过程中使用的部分常用工具类方法,不定期更新. 欢迎各位大牛批评指教,如有发现错误,欢迎留言指教,如有更好的实现方式,也欢迎留言交流学习,谢谢. 一.手机号 座机号.邮箱格式匹配工具类 package com.kevin.test.utils; /** * 字符串格式匹配工具类 匹配手机号.座机号.邮箱等 * * @author blj * */ public class FormatCheckUtils { /** * 判断是否符合邮箱格式 */ public stat

Android常用的工具类

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

Android 开发小工具之:Tools 属性 (转)

Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但是大家又不常用的小工具.这些小工具可以提高 Android 应用开发的效率.还可以提高代码质量.所以还是有必要使用的. 首先介绍布局文件中的 tools 属性. 如果你用 Android Studio 创建一个简单的示例项目,在生成的布局文件中会有这么一行内容: xmlns:tools="http: