gpt4 book ai didi

java - 如何使异步响应成为同步响应(Java : Android Studio)

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:40 25 4
gpt4 key购买 nike

我对使用 android studio 还很陌生。我的问题是,如何将异步响应更改为同步响应。我目前正在使用 Volley 库以 JSON 格式从数据库返回数据。

我遇到的问题是将数据表示为图形格式。您会看到,由于我的代码结构,编译器等待响应(本质上是从我的数据库发送到 android studio 的数据),但在等待时,编译器继续处理代码的其他部分,其中涉及创建图形并将数据库中的数据表示到图形中。

但是图表是空的,因为它没有提供任何数据,因为我们正在等待响应。

这是代码:

 private void sendRequest() {
System.out.println("Triggering send Request");
StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(BillReport.this, error.getMessage(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
System.out.println("Send Request done");
}

发送请求方法在主方法中执行图表之前调用。

底线是,我需要弄清楚如何才能立即得到响应,而不是等待响应。

感谢您花时间阅读这篇文章!

最佳答案

您必须等待响应才能在图表中显示值。您可以将数据缓存在volley中,并在服务器数据预计不会改变时使用它。您可以有一个在检索数据时旋转的进度条。这是标准做法。

关于java - 如何使异步响应成为同步响应(Java : Android Studio),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41123009/

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