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  [email protected]

 * @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  [email protected]

 * @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();

    }

}

 

你可能感兴趣的:(dialog)