gpt4 book ai didi

java - Android 上的回调函数

转载 作者:行者123 更新时间:2023-12-02 04:54:47 24 4
gpt4 key购买 nike

在 java 8 中,有新的 Lambda 函数和方法引用。安卓上有类似的东西吗?使用 volley 我需要传递一个回调函数来处理 onResponse,处理这个问题的最佳方法是什么?

最佳答案

我这样做:将所有 Volley 调用放入从应用程序单例调用的 api 文件中,

    public Request<?> getMessage(int messageId, boolean maxBodySize, Response.Listener<MessageData> responseListener, Response.ErrorListener errorListener) {

String url = apiURL + MESSAGE + "?";
int method = Request.Method.GET;
GsonRequest<MessageData> request = new GsonRequest<MessageData>(
method,
url,
MessageData.class,
null,
responseListener,
errorListener,
gson) {
@Override
public Map<String, String> getHeaders() {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Accept", "application/json");
return headers;
}
};

request.setRetryPolicy(new DefaultRetryPolicy(
SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

return mQueue.add(request);
}

从任何你想要的地方调用它:

    getApi().getMessage(messageNumber, true,
new Response.Listener<MessageData>() {
@Override
public void onResponse(MessageData data) {

},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
resolveResponseStatus(error);
}

}
);

关于java - Android 上的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28898327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com