Volley 二次封装

博客主要介绍了Volley的二次封装,包括封装后返回Gson、将返回图片设置到Imageview上、取消请求以及请求返回Gson等功能,聚焦于信息技术中网络请求封装相关内容。

【8】Volley 的二次封装

  • Volley封装返回一个Gson

  • Volley封装返回一个图片设置到Imageview上

  • Volley封装取消请求

import android.animation.ObjectAnimator;

import android.content.Context;

import android.widget.ImageView;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.toolbox.ImageLoader;

import com.android.volley.toolbox.Volley;

/**

*

* 对Volley的二次封装

*/





public class VolleyHelper {

    RequestQueue queue;

    VolleyCache volleyCache = new VolleyCache();

    ImageLoader imageLoader = new ImageLoader(queue, volleyCache);

    private static VolleyHelper mInstance = null;

    private VolleyHelper(Context context){

        queue = Volley.newRequestQueue(context);

    }





    public static VolleyHelper create(Context context){

        if(mInstance==null){

            mInstance = new VolleyHelper(context);

        }

         return mInstance;

    }





    public void cancelRequest(Object tag){

        queue.cancelAll(tag);

    }





    public <T> void execRequest(String url,Class<T> clazz, Response.Listener<T> success,

                                Response.ErrorListener error){

        execRequest(url,null,clazz,success,error);

    }





    /**

     * 执行请求的方法

     * @param url

     * @param clazz

     * @param success

     * @param error

     * @param <T>

     */

    public <T> void execRequest(String url, Object tag, Class<T> clazz, Response.Listener<T> success,

                                Response.ErrorListener error){

        GsonRequest<T> tGsonRequest = new GsonRequest<>(url, clazz, success, error);

        if(tag!=null){

            tGsonRequest.setTag(tag);

        }

        queue.add(tGsonRequest);

    }





    /**

     * 加载图片的方法

     * @param url

     * @param imageView

     */

    public void loadImage(String url, ImageView imageView){

        ImageLoader.ImageListener listener = ImageLoader.getImageListener(imageView, R.mipmap.ic_launcher, R.mipmap.ic_launcher);

        imageLoader.get(url,listener);

    }

}

  • Volley请求返回一个Gson

import com.android.volley.NetworkResponse;

import com.android.volley.Request;

import com.android.volley.Response;

import com.android.volley.toolbox.HttpHeaderParser;

import com.google.gson.Gson;

import java.io.UnsupportedEncodingException;

public class GsonRequest<T> extends Request<T>{

    private Class<T> clazz;

    private Response.Listener<T> mListener;

    public GsonRequest(String url,Class<T> clazz, Response.Listener<T> mListener,Response.ErrorListener listener) {

        super(Method.GET, url, listener);

        this.clazz = clazz;

        this.mListener = mListener;

    }

    @Override

    protected Response<T> parseNetworkResponse(NetworkResponse response) {

        String parsed;

        try {

            parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers));

        } catch (UnsupportedEncodingException e) {

            parsed = new String(response.data);

        }

        //将json字符串解析为javabean

        T t = new Gson().fromJson(parsed, clazz);





        return Response.success(t, HttpHeaderParser.parseCacheHeaders(response));

    }

    @Override

    protected void deliverResponse(T response) {

        mListener.onResponse(response);

    }

}

 

内容概要:本文针对高渗透率分布式光伏与储能变流器接入配电网所带来的运行挑战,深入研究了传统跟网型(GFL)逆变器在电网故障、弱电网及孤岛工况下易失稳脱网,以及构网型(GFM)虚拟同步发电机(VSG)逆变器在并网状态下缺乏同步调节能力的技术瓶颈,提出了一种可实现GFL与GFM双向平滑切换的先进控制策略。研究首先构建了GFL与GFM共用的硬件平台与内环控制基础,继而系统性地设计了基于关键电气量实时监测的切换判据、精确的双向切换时序逻辑,并创新性地引入了过渡过程的平滑抑制策略,以有效抑制切换瞬间的有功功率冲击、电压闪变与频率突变。全文在Matlab/Simulink环境中搭建了完整的仿真模型,通过对并网转孤岛、孤岛转并网等多种工况的动态仿真,全面验证了所提策略的有效性,结果表明该方法能确保系统在模式切换过程中电压、电流与频率的平稳过渡,显著提升了微电网在复杂运行条件下的韧性、稳定性与供电可靠性。; 适合人群:从事电力电子、新能源并网、微电网控制、智能配电网等领域的高校研究生、科研院所研究人员及电力系统相关企业的工程技术人员。; 使用场景及目标:① 解决高比例可再生能源接入引发的电网稳定性与电能质量问题;② 实现微电网在并网与孤岛两种运行模式间的无缝、可靠切换,保障重要负荷的不间断供电;③ 为构网型与跟网型逆变器的协同运行、新型电力系统构建提供先进的控制理论依据与可落地的技术解决方案。; 阅读建议:建议结合文中提供的Simulink仿真模型进行深入学习,重点剖析切换逻辑模块的设计原理与参数整定方法,通过反复观察和分析不同工况下的仿真波形,深刻理解平滑切换过程中的动态响应机理与控制思想。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值