设置请求优先级Volley



我正在尝试使用Android中的Volley库设置请求的优先级。我找不到如何设置请求的优先级。

StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener);
pe.requestQueue.add(request);

有什么想法吗?

遗憾的是,这个库还没有完全充实起来。要设置请求的优先级,您需要扩展请求并覆盖getPriority()。对于您的示例,我将创建一个扩展StringRequest并实现getPriority()的新类(也许还有setPriority),这样您就可以通过编程更改不同请求中的优先级)。

private Priority mPriority = Priority.LOW;
@Override
public Priority getPriority() {
    return mPriority;
}
public void setPriority(Priority priority) {
    mPriority = priority;
}

Priority是来自Request类的ENUM。

以下是设置优先级的快速方法,

    StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener) {
        @Override
        public Priority getPriority() {
            return Priority.IMMEDIATE;
        }
    };

使用Kotlin:

val stringRequest = object : StringRequest( Request.Method.GET, url, 
    { response -> Log.i("Response", response) }, 
    { error -> Log.i("Error", error) } ) 
    { override fun getPriority(): Priority { return Priority.HIGH } }

最新更新