代码如下:

import android.app.Activity;import android.app.Dialog;import android.content.Context;import android.text.format.DateUtils;import android.view.LayoutInflater;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.Toast;import com.handmark.pulltorefresh.library.PullToRefreshBase;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.x;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * @describe: 网络请求工具类 */public class HttpUtils {    private static Dialog sLoadDialog;//请求Dialog    private static List sCancelables = new ArrayList<>();//请求队列    /**     * 网络请求 get     *     * @param url      请求Url     * @param activity activity     * @param isDialog 是否开启进度条     * @param callBack 请求回调接口     */    public static void get(String url, Activity activity, final boolean isDialog, final CallBack callBack) {        //开启或关闭进度条        if (isDialog) {            sLoadDialog = getLoadingDialog(activity);        }        if (isDialog) {            sLoadDialog.show();        }        //开始请求        RequestParams params = new RequestParams(url);        Callback.Cancelable cancelable = x.http().get(params, new Callback.CommonCallback() {            @Override            public void onSuccess(String result) {                if (callBack != null) {                    callBack.onSuccess(result);                }            }            @Override            public void onError(Throwable ex, boolean isOnCallback) {                Toast.makeText(App.getInstance(), "网络出错", Toast.LENGTH_SHORT).show();            }            @Override            public void onCancelled(CancelledException cex) {            }            @Override            public void onFinished() {                if (isDialog && sLoadDialog != null) {                    sLoadDialog.dismiss();                }            }        });        sCancelables.add(cancelable);    }    /**     * 显示最后刷新时间     *     * @param refreshView pullToRefresh     */    public static void showTime(PullToRefreshBase refreshView) {        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String label = format.format(new Date());        // 显示最后更新的时间        refreshView.getLoadingLayoutProxy()                .setLastUpdatedLabel(label);    }    /**     * 取消请求     */    public static void cancelAll() {        if (sCancelables != null && sCancelables.size() > 0) {            for (int i = 0, len = sCancelables.size(); i < len; i++) {                sCancelables.get(i).cancel();            }            sCancelables.clear();        }    }    /**     * 得到自定义的progressDialog     *     * @param context Context     * @return 返回     */    public static Dialog getLoadingDialog(Context context) {        LayoutInflater inflater = LayoutInflater.from(context);        // 加载view        View view = inflater.inflate(R.layout.loading_dialog, null);        RelativeLayout layout = (RelativeLayout) view.findViewById(R.id.rel_loading);        // main.xml中的ImageView        ImageView spaceshipImage = (ImageView) view.findViewById(R.id.img_loading);        // 加载动画        Animation animation = AnimationUtils.loadAnimation(                context, R.anim.loading_animation);        // 使用ImageView显示动画        spaceshipImage.startAnimation(animation);        // 创建自定义样式dialog        Dialog loadingDialog = new Dialog(context, R.style.LoadingDialog);        // 不可以用“返回键”取消        loadingDialog.setCancelable(false);        // 设置布局        loadingDialog.setContentView(layout, new RelativeLayout.LayoutParams(                RelativeLayout.LayoutParams.MATCH_PARENT,                RelativeLayout.LayoutParams.MATCH_PARENT));        return loadingDialog;    }    /**     * 请求回调接口     */    public interface CallBack {        void onSuccess(String result);    }}

 加载布局:

loading_dialog.xml

<?xml version="1.0" encoding="utf-8"?>                

 ..

 

 

 

更多相关文章

  1. 漂亮的Android加载动画
  2. HttpHuiApplication--下载图片url,HttpURLConnection,简单版
  3. 弹出NumberPicker窗口,修改字体大小
  4. Android版本更新及提示安装
  5. Android(安卓)WebView基本用法及常见问题
  6. android实现从网上获取数据
  7. android Volley Post 请求失败
  8. android个推消息推送,asp.net调用接口
  9. Android开机动画视频

随机推荐

  1. Android 优化工具
  2. android Tabhost中,控制activity的生命周
  3. Android(安卓)增量更新实例(Smart App Upd
  4. Android(安卓)Edittext 清空按钮功能的实
  5. Camera快门声音去除
  6. Failed to fectch
  7. Android培训班(89)内核解压过程2
  8. Android(安卓)图表绘制 achartengine 示
  9. Android开发环境搭建(jdk+eclip+android s
  10. Android中文API(133) —— LocationListene