AdnroidUtils-常用工具类(showDiaLog/HTTP)

1. HttpUtils  该工具类应用于Android客户端+Web服务器

/**
 *
 */
package com.nubb.auction.client.util;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.util.EntityUtils;
/**
 * Description:利用Url请求Json格式的数据
 * 
 * @author  maoyun0903@163.com
 * @version  1.0
 */
public class HttpUtil
{
    // 创建HttpClient对象
    public static HttpClient httpClient = new DefaultHttpClient();
    public static final String BASE_URL =
        "http://192.168.1.11:8080/auction/android/";
    /**
     *
     * @param url 发送请求的URL
     * @return 服务器响应字符串
     * @throws Exception
     */
    public static String getRequest(final String url)
        throws Exception
    {
        FutureTask<String> task = new FutureTask<String>(
        new Callable<String>()
        {
            @Override
            public String call() throws Exception
            {
                // 创建HttpGet对象。
                HttpGet get = new HttpGet(url);
                // 发送GET请求
                HttpResponse httpResponse = httpClient.execute(get);
                // 如果服务器成功地返回响应
                if (httpResponse.getStatusLine()
                    .getStatusCode() == 200)
                {
                    // 获取服务器响应字符串
                    String result = EntityUtils
                        .toString(httpResponse.getEntity());
                    return result;
                }
                return null;
            }
        });
        new Thread(task).start();
        return task.get();
    }

    /**
     * @param url 发送请求的URL
     * @param params 请求参数
     * @return 服务器响应字符串
     * @throws Exception
     */
    public static String postRequest(final String url
        , final Map<String ,String> rawParams)throws Exception
    {
        FutureTask<String> task = new FutureTask<String>(
        new Callable<String>()
        {
            @Override
            public String call() 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, "gbk"));
                // 发送POST请求
                HttpResponse httpResponse = httpClient.execute(post);
                // 如果服务器成功地返回响应
                if (httpResponse.getStatusLine()
                    .getStatusCode() == 200)
                {
                    // 获取服务器响应字符串
                    String result = EntityUtils
                        .toString(httpResponse.getEntity());
                    return result;
                }
                return null;
            }
        });
        new Thread(task).start();
        return task.get();
    }
}

2. DiaLogUtils    显示指定组件的对话框

/**
 *
 */
package com.nubb.auction.client.util;

import com.nubb.auction.client.AuctionClientActivity;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.view.View;

/**
 * Description:显示指定组件的对话框,并跳转至指定的Activity
 * @author  maoyun0903@163.com
 * @version  1.0
 */
public class DialogUtil
{
    // 定义一个显示消息的对话框
    public static void showDialog(final Context ctx
        , String msg , boolean goHome)
    {
        // 创建一个AlertDialog.Builder对象
        AlertDialog.Builder builder = new AlertDialog.Builder(ctx)
            .setMessage(msg).setCancelable(false);
        if(goHome)
        {
            builder.setPositiveButton("确定", new OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialog, int which)
                {
                    Intent i = new Intent(ctx , AuctionClientActivity.class);
                    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    ctx.startActivity(i);
                }
            });
        }
        else
        {
            builder.setPositiveButton("确定", null);
        }
        builder.create().show();
    }
    // 定义一个显示指定组件的对话框
    public static void showDialog(Context ctx , View view)
    {
        new AlertDialog.Builder(ctx)
            .setView(view).setCancelable(false)
            .setPositiveButton("确定", null)
            .create()
            .show();
    }
}
原文地址:https://www.cnblogs.com/xmaomao/p/3169730.html