代码如下:
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<Callback.Cancelable> 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<String>() { @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"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rel_loading" android:layout_width="wrap_content" android:layout_height="wrap_content"> <!--loading图片--> <ImageView android:id="@+id/img_loading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/ico_loadvideo" /> <!--loading提示信息--> <TextView android:id="@+id/tv_loading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/loading" android:textColor="@color/white" /> </RelativeLayout>
..
相关推荐
HttpUtils 发送 HTTP 请求工具类详解 HTTP 请求工具类是 Java 语言中一个常用的工具类,用于发送 HTTP 请求并处理响应结果。本文将对 HttpUtils 发送 HTTP 请求工具类进行详细的讲解,包括其实现原理、关键代码分析...
HttpUtils网络请求工具类,可以获取网络上的数据转化给JSON数据然后处理成自己的想要的数据 http://blog.csdn.net/qq_30552993/article/details/51774509
自己写的基于Java自带URL请求 处理get,post 不明白的,里面直接运行可以跑,
"httpUtils请求工具类"是一个常见的Java库,用于简化HTTP请求操作,特别是GET和POST方法。这个工具类使得开发者无需深入了解底层HTTP协议,就能轻松地发送数据到服务器并获取响应。下面我们将深入探讨这个工具类以及...
在实际应用中,`httpUtils`工具类的使用可以大大简化网络请求的代码编写,减少错误,并提高代码的可读性和可维护性。例如,它可能会使用OkHttp或者Retrofit这样的网络库作为底层实现,提供更高级别的接口给上层业务...
通过以上步骤,我们可以构建出一个基础的HttpUtils工具类。然而,为了提升可维护性和复用性,还可以考虑引入依赖注入框架(如Dagger)、使用Retrofit等高级库进行接口封装,以及添加更完善的错误处理和网络状态检测...
首先,我们来看`HttpUtils`类,这是核心的网络请求工具类。在`HttpUtils`中,通常会包含两个主要方法:`sendGetRequest`和`sendPostRequest`,分别用于执行GET和POST请求。 1. **GET请求**: - GET请求常用于获取...
"HttpUtils Java get post 工具类" 提供了便捷的方法来发送GET和POST请求,简化了网络请求的操作。以下是对这两个主要HTTP方法的详细解释以及如何在Java中实现它们。 **1. GET方法** GET是HTTP中最常见的请求方法,...
这个"angular http请求工具类"很可能是开发人员为了简化HTTP请求操作而创建的一个自定义服务。通常,这样的工具类会封装Angular内置的HttpClient模块,提供更方便、更易用的API接口。下面我们将详细探讨Angular中的...
综上所述,HttpClientUtil工具类在IT应用中扮演着关键角色,简化了HTTP和HTTPS请求的实现,特别是发送文件这样的复杂操作。通过封装HttpClient的核心功能,开发者可以更加专注于业务逻辑,而不必关心底层网络通信的...
此为调用http请求的java工具类,基于springframework的RestTemplate,有注释
1. **网络请求工具类(HttpUtils.java)** 在Android应用中,我们常常需要与服务器进行数据交互,这就涉及到了HTTP网络请求。`HttpUtils`通常会封装Apache的HttpClient库或OkHttp库,提供发送GET、POST请求,处理...
网络请求okhttputils工具类jar包
http请求第三方接口工具类,sendGet请求get请求,sendPost请求post接口。map参数类型
向指定 URL 发送GET方法的请求 可指定编码类型 向指定 URL 发送POST方法的请求 可带token
代码如下:import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URLEncoder;import java.security.KeyStore;import java.util.Iterator;import java.util.List;import java.util.Map;...
3. **网络请求工具类**: - `HttpUtils`:封装了网络请求,如GET、POST,支持异步和同步请求,可以处理网络请求的结果,如JSON解析。 - `OkHttpUtils`:基于OkHttp库的网络请求工具,提供了更简单的API调用方式。 ...
总结起来,`XUtils`的`HttpUtils`是Android开发中处理网络请求的一个强大工具,它的简洁接口和丰富的功能使得网络交互变得更加容易。通过学习和实践`HttpUtilsDemo`,开发者可以快速上手并应用到实际项目中。理解并...
3. **HttpUtils**:`HttpUtils`通常是一个封装了HttpClient或OkHttp的工具类,目的是为了简化网络请求的操作。在`HttpUtils.zip`中,这个工具类可能已经预设了常用的配置,如连接超时、读取超时等,并提供了简单易用...
"httpUtils"则是一个专门处理HTTP网络请求的工具类,它通常包含了发起GET、POST请求,处理响应数据等功能。在现代Web应用开发中,与服务器进行数据交互是必不可少的,而httpUtils这样的工具类就扮演了关键角色。 ...