Warm tip: This article is reproduced from stackoverflow.com, please click
android json request

Request json android for Volley

发布于 2020-03-28 23:14:33

I try to make a request for information to a site and return a json, I follow a tutorial on the net and I have a problem that I can not pass ....

Something with that variable must be because there it stops from compiling but I don't realize what it is honest ....

Here is the mainactivity:

public class MainActivity extends AppCompatActivity {

    private TextView mTextViewResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextViewResult = findViewById(R.id.text_view_result);
        Button buttonParse = findViewById(R.id.button_parse);

        mQueue = Volley.newRequestQueue(this);

        buttonParse.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                jsonParse();
            }
        });

    }

    private void jsonParse(){
        String url = "https://www.excursii-baile-felix.ro/rezervari/bot/test.php";

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        JSONArray jsonArray = null;
                        try {
                            jsonArray = response.getJSONArray("stat_rez");
                            for(int i = 0; i < jsonArray.length(); i++){

                                JSONObject res = jsonArray.getJSONObject(i);

                                String excursie = res.getString("ex");
                                int pers = res.getInt("pers");

                                mTextViewResult.append(" Excursia: " + excursie + " Persoane: " + String.valueOf(pers) + "\n\n");
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }


                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });
        mQueue.add(request);
    }
}

And I have the following error:

error: cannot find symbol variable mQueue

Questioner
CoderCoder42
Viewed
20
Avadhesh Mourya 2020-01-31 17:40

You have not declared mQueue so declare it below is the right code

private TextView mTextViewResult;

private RequestQueue queue;

@Override

protected void onCreate(Bundle savedInstanceState) 

{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTextViewResult = findViewById(R.id.text_view_result);
    Button buttonParse = findViewById(R.id.button_parse);

    mQueue = Volley.newRequestQueue(this);

    buttonParse.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            jsonParse();
        }
    });

}

private void jsonParse(){
    String url = "https://www.excursii-baile-felix.ro/rezervari/bot/test.php";

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    JSONArray jsonArray = null;
                    try {
                        jsonArray = response.getJSONArray("stat_rez");
                        for(int i = 0; i < jsonArray.length(); i++){

                            JSONObject res = jsonArray.getJSONObject(i);

                            String excursie = res.getString("ex");
                            int pers = res.getInt("pers");

                            mTextViewResult.append(" Excursia: " + excursie + " Persoane: " + String.valueOf(pers) + "\n\n");
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }


                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    mQueue.add(request);
}