Я пытаюсь получить данные из API, но, кажется, не работает - PullRequest
0 голосов
/ 05 сентября 2018
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast.makeText(this, "hi This is a test", Toast.LENGTH_SHORT).show();

        String URL = "i have given a valid API, since its company's api i cant share";

        RequestQueue requestQueue = Volley.newRequestQueue(this);

        JsonObjectRequest objectRequest = new JsonObjectRequest(
                Request.Method.GET,
                URL,
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Log.e("response", response.toString());
                        Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(MainActivity.this, "this is error", Toast.LENGTH_SHORT).show();
                        Log.e("error", error.toString());
                    }
                }
        );
        requestQueue.add(objectRequest);
    }
}

Я пытаюсь получить данные из API, но, похоже, не работает. Ни один из тостов не выполняется (ответ, ошибка). Я включил все зависимости и включил интернет-разрешение. пожалуйста помогите

1 Ответ

0 голосов
/ 08 сентября 2018

Измените Request.Method.GET на Request.Method.POST и попробуйте, может быть, оно решено ...

Если это не сработает, попробуйте это ... Вместо этого используйте StringRequest JsonObjectRequest

При использовании StringRequest вам нужно это изменение

StringRequest stringRequest = new StringRequest (
            Request.Method.GET,
            URL,

            new Response.Listener<String>() {
                @Override
                public void onResponse(JSONObject response) {
                    Log.e("response", response.toString());
                    Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(MainActivity.this, "this is error", Toast.LENGTH_SHORT).show();
                    Log.e("error", error.toString());
                }
            }
    );
    requestQueue.add(stringRequest);
...