zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    ASP.NET AJAX异步调用Web Service和页面中的类方法< 收藏>
    WebCast下载工具iReaper
    ASP.NET AJAX Control Toolkit
    CodeSmith对数据库中表的操作(转)
    仿163网盘无刷新多文件上传系统<转>
    疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 操作权限《转》
    TFS2010物理迁移
    Extensible Storage Engine
    改善ASP.NET MVC应用程序第一次启动性能问题
    Windows Server 2012添加WORKGROUPS Windows Server 2008 R2服务器
  • 原文地址:https://www.cnblogs.com/xmaomao/p/3169730.html
Copyright © 2011-2022 走看看