java - 如何使凌空请求队列与 Java Android 异步?
问题描述
您好,我正在尝试使用带有 volley 和 foreach 项目的 php api 获取数据列表,我发现我在名为 GetAll() 的方法中添加到我的 Recipes ArrayList,这是该方法的代码:
requestQueue = Volley.newRequestQueue(context);
StringRequest stringRequest = new StringRequest(Request.Method.GET,
"http://192.168.137.1/supcookingapi/api.php?action=selectallrecipes",
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
Recettes.clear();
String[] tableau = s.split("&nb");
for (String r : tableau) {
String[] data = r.split(";");
Recettes.add(new Recette (Integer.parseInt(data[0]), data[1], data[2], java.sql.Time.valueOf(data[3]), data[4],Integer.parseInt( data[5]),Integer.parseInt(data[6]),Integer.parseInt(data[7]),Integer.parseInt(data[8]),data[9]));
}
/*Toast.makeText(context, "Total users : " + usersList.size(), Toast.LENGTH_SHORT).show();*/
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(context, volleyError.getMessage(), Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(stringRequest);
然后我用Recipe.GetAll()在MainActivity中调用这个方法,但我想等待加载Recettes列表中的所有元素,然后我可以例如加载我的页面
解决方案
Volley 请求已经是异步的,你不需要做任何额外的异步内容。只需在 Activity 或 Fragment 中调用您的方法,然后在 for 循环之后立即加载 Recettes 数组列表后执行您想做的任何事情。
推荐阅读
- python - valueerror: 时间数据与 pandas 的数据框不匹配
- java - 创建一个测试器类
- python - 使用具有不同分位数的 medianBlur
- python - 如何让输入部分在此代码中被询问一次?
- python - 使用 python 将音频文件作为麦克风输入传递
- python - 通过嵌入层对浮点数进行编码时出错
- c++ - 如何使用 C++ 中的 tesseract 制作可搜索的 pdf
- javascript - 如何在 NPM 上发布的 rollup.js 捆绑的浏览器上使用 es6 模块
- c - 在 C 中创建多个链表
- java - 如何检查 JTextField 是否等于 Java 中的某个值?