import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.ImageView;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.Volley;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.example.nr.carton.R;
import de.hdodenhof.circleimageview.CircleImageView; /**
* Created by hjw on 2016/7/27.
*/
public class HttpUtils {
/**
* 验证当前是否有网络*/
public static boolean checkNetWork(Context ct) {
//获取连接管理对象--
ConnectivityManager cm=(ConnectivityManager) ct.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网络信息对象
NetworkInfo ni=cm.getActiveNetworkInfo();
if(ni!=null&&ni.isAvailable())//非null验证
{
return true;
}
else {
return false;
}
}
public static void downloadJson(Context context,String url,final ResultCallBack callBack){
RequestQueue mQueue = Volley.newRequestQueue(context);
MyStringRequest stringRequest = new MyStringRequest(url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.toString()!=null){
callBack.onSuccess(response.toString());
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) { }
}); mQueue.add(stringRequest);
}
public static void downLoadPic(String url,Context context,ImageView imageView){
Glide.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.bizhi)
.error(R.drawable.bizhi)
.centerCrop()
.into(imageView);
}
public static void downLoadPic1(String url,Context context,ImageView imageView){
Glide.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.bizhi)
.error(R.drawable.bizhi)
.into(imageView);
}
public static void downLoadPicCircle(String url,Context context,CircleImageView imageView){
Glide.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
// .placeholder(R.mipmap.ic_launcher)
// .error(R.mipmap.ic_launcher)
.centerCrop()
.into(imageView);
}
public static void downLoadPicReSize(String url,Context context,ImageView imageView,int width,int height){
Glide.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.bizhi)
.error(R.drawable.bizhi)
.centerCrop()
.override(width, height)
.into(imageView);
}
/**
*异步下载时,通过接口回掉保存和传输数据
*/
public interface ResultCallBack{
void onSuccess(String s);
//void onError();
}
}

小记:对Android网络下载工具的初步封装!(包括json,字符串下载(volley),和图片下载(glide))的更多相关文章

  1. swift项目第十天:网络请求工具类的封装

    import UIKit /* 必须先导入头文件:import AFNetworking */ import AFNetworking //MARK:-0:定义枚举:以枚举定义请求网络的get和pos ...

  2. js使用工具将表单封装成json字符串传到后台,js截取字符串(学生笔记)

    <script src="js/jquery.min.js"></script> <script src="https://cdn.boot ...

  3. wx.getImageInfo和wx.downloadFile下载用户头像报错(小程序canvas以及小程序图片下载部分)

    我先上图 之前我们后台配置的 downloadFile 合法域名是 https://wx.qlogo.cn,   用了好久都没出问题,  前段时间,  用户反馈  分享海报,  用户头像出不来!!!! ...

  4. [No00006B]方便的网络下载工具wget 可下载网站目录下的所有文件(可下载整个网站)

    wget是linux下命令行的下载工具,功能很强大,它能完成某些下载软件所不能做的,比如如果你想下载一个网页目录下的所有文件,如何做呢?网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网 ...

  5. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

  6. wget下载工具

    转自于:http://www.jb51.net/LINUXjishu/86326.html 1.使用wget下载单个文件  e.g. wget http://cn.wordpress.org/word ...

  7. Android网络编程随想录(1)

    本系列文章对整个Android网络编程进行了总结,包括基本的TCP/IP协议,HTTP协议,HTTPS协议,HttpClient,UrlConnection,一些网络通信的库到棉花糖新加入的OKHTT ...

  8. AJ学IOS(55)多线程网络之图片下载框架之SDWebImage

    AJ分享,必须精品 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsO ...

  9. python 3编写贴吧图片下载软件(超简单)

    业余时间初学者作品,大佬勿喷,代码都很简单. py文件打包成exe教程:python3.7 打包成exe程序, 本程序体验下载地址:python编译的贴吧图片下载工具 先上效果图 启动后是这样的: 按 ...

随机推荐

  1. HDU 3501 Calculation 2(欧拉函数)

    Calculation 2 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  2. [转]浅谈C/C++内存泄露及其检测工具

    转自:http://www.cnblogs.com/taoxu0903/archive/2007/10/27/939261.html 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问 ...

  3. python对真假的判断方式

    一.如下是以下值就认为是假 1.None-->None值 2.False-->False值 3.0-->数值零不管它是int,float还是complex类型 4.'',(),[]- ...

  4. jquery.fn.extend与jquery.extend(转)

    jQuery为开发插件提拱了两个方法,分别是: JavaScript代码 jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend( ...

  5. Oracle Trunc

    http://www.cnblogs.com/xiaoyudz/archive/2011/03/18/1988467.html

  6. QT自定义窗口(模拟MainWindow)

    在这里自定义窗口是通过继承于QFrame,内部分为上下两部分,上半部分就是标题栏,下面是窗口的具体内容.上下两部分通过布局固定位置.最后窗口的各种鼠标拖动,缩放,等操作通过添加鼠标事件来完成一个窗口的 ...

  7. WPF & ArcGIS Engine三维开发入门攻略

    原文 http://www.cnblogs.com/Realh/archive/2010/12/14/1906112.html 前些日子在做ESRI的开发大赛,从刚开始接触ArcGIS Engine( ...

  8. Android studio修改debug.keystore

    在android studio项目中配置自定义的debug keystore 方法/步骤   在项目的build.gradle中添加如下内容: android {    signingConfigs ...

  9. 【Python】Coding the Matrix:Week 5: Dimension Homework 5

    这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...

  10. Nginx日志文件配置与切割

    Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...