13

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

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

关于我将如何做到这一点的任何想法?

4

3 回答 3

15

不幸的是,图书馆还没有完全充实。要为请求设置优先级,您需要扩展请求并覆盖 getPriority()。对于您的示例,我将创建一个扩展 StringRequest 并实现 getPriority() 的新类(也可能是 setPriority(),因此您可以以编程方式更改不同请求中的优先级)。

private Priority mPriority = Priority.LOW;

@Override
public Priority getPriority() {
    return mPriority;
}

public void setPriority(Priority priority) {
    mPriority = priority;
}

PriorityRequest类中的 ENUM。

于 2013-07-14T16:21:44.457 回答
11

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

    StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener) {
        @Override
        public Priority getPriority() {
            return Priority.IMMEDIATE;
        }
    };
于 2015-09-25T18:44:06.240 回答
0

使用 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 } }
于 2021-12-21T11:39:44.803 回答