【问题标题】:How to make a volley requestqueue async with Java Android?如何使凌空请求队列与 Java Android 异步?
【发布时间】:2018-12-11 16:16:49
【问题描述】:

您好,我正在尝试使用带有 volley 和 foreach 项目的 php api 获取数据列表,我发现我在名为 GetAll() 的方法中添加到我的食谱 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);

然后我在 MainActivity 中使用 Recipe.GetAll() 调用此方法,但我想等待加载 Recettes 列表中的所有元素,然后我可以加载我的页面

【问题讨论】:

    标签: java android android-asynctask android-volley


    【解决方案1】:

    Volley 请求已经是异步的,你不需要做任何额外的异步内容。只需在您的 Activity 或 Fragment 中调用您的方法,然后在 for 循环之后立即加载 Recettes 数组列表后执行您想做的任何事情。

    【讨论】:

      【解决方案2】:

      您可以使用 onPostExecute() 方法调用 loadPage()。

      @Override
      protected void onPostExecute(String result) {
          //Do Your Work
      }
      

      onPostExecute() 方法在 AsyncTask 完成执行时被调用。

      【讨论】:

      • 我没有任何加载页面方法
      • 然后您可以使用 onPostExecute() 方法中的意图启动新活动。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2014-10-06
      • 2014-08-31
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多