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

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();
    }
}
时间: 2024-08-28 11:47:53

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

android网络请求工具类

package com.example.util; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLC

android 网络判断工具类(APN+WIFI)

public class NetWorkHelper { private static String LOG_TAG = "NetWorkHelper"; public static Uri uri = Uri.parse("content://telephony/carriers"); /** * 判断是否有网络连接 */ public static boolean isNetworkAvailable(Context context) { Connectivit

Android中Xml工具类的封装

Android中经常使用到操作XML,其中有一对XmlSerializer和XmlPullParser封装的很好,可是操作起来很复杂,虽然不难,但是感觉做了一点小事却写了一大堆的代码.有点烦,因此封装一下. 其思路为:根据传入的数据,获取字节码后进行反射解析,然后在存储.思路很简单,此demo只写了一个基本的List<T>类型的,其它类型道理与此大同小异,就当这个是抛砖引玉了. 对于一些Model可能有些字段是不需要序列化的,这里可以使用注解来操作 /** * XML操作工具类 * @auth

wget下载工具

转自于:http://www.jb51.net/LINUXjishu/86326.html 1.使用wget下载单个文件  1 e.g. 2 3 wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 4 5 #下载文件,并保存在当前目录下 6 #下载过程显示进度条,当前下载速度,剩余下载时间等 2.使用wget -O 下载并以不同的文件名保存  1 e.g. 2 3 wget http://www.centos.bz/download?id=1

Android网络编程(1)

本系列文章对整个Android网络编程进行了总结,包括基本的TCP/IP协议,HTTP协议,HTTPS协议,HttpClient,UrlConnection,一些网络通信的库到棉花糖新加入的OKHTTP. 本文主要对TCP协议的连接管理和拥塞控制两部分知识进行总结. 连接管理 TCP协议是传输层的重要协议,负责端到端的通信.为了实现面向连接的可靠传输,TCP协议使用“三次握手”和“四次挥手”的方式来创建连接,结束连接. 三次握手: 第一次握手:建立连接时,客户端C发起建立连接请求(SYN=1)到

android图片下载问题

============问题描述============ 哪位大神帮我看看下面的代码,为什么传入Url最后得到的drawable是空呢? // 网络图片先下载到本地cache目录保存,以imagUrl的图片文件名保存.如果有同名文件在cache目录就从本地加载 public static Drawable loadImageFromUrl(Context context, String imageUrl) { Drawable drawable = null; if (imageUrl == n

猫猫学iOS(五十五)多线程网络之图片下载框架之SDWebImage

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"apps.plist" ofType:nil

iOS利用SDWebImage图片下载缓存

一.我们先来了解一下SDWebImage的使用: 1.导入框架,引入头文件: #import "UIImageView+WebCache.h" 也可以直接使用CocoaPods来引入和管理 (OC 如下) platform :ios, '7.0' pod 'SDWebImage', '~>3.8' (swift)并且要确保添加了use_frameworks,iOS版本为8.0+ platform :ios, '8.0' use_frameworks! 2.图片下载并缓存方法: /

SDWebImage异步的图片下载+缓存

SDWebImage托管在github上.https://github.com/rs/SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征.使用示范的代码: UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category) 前提#import导入UIImageView+WebCache.h文件,然后在tableview的cellFor