Android Volley problem z połączeniem się z URL

0

Witam,
próbuję połączyć się na razie z jakimś URLem, za pomocą biblioteki Volley. Niestety w logach otrzymuje onErrorResponse. Co może być przyczyną?

AndroidManifest.xml - dodane:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

build.gradle - dodane:

implementation 'com.android.volley:volley:1.1.1'
public class MainActivity extends AppCompatActivity {

    private static final String URL = "http://api.nbp.pl/api/exchangerates/rates/A/USD/last/5?format=json";

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

        StringRequest request = new StringRequest(URL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.d("CODE", response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this, "Something went wrong", Toast.LENGTH_SHORT).show();
            }
        });

        RequestQueue queue = Volley.newRequestQueue(this);
        queue.add(request);

    }
}
2

Prawdopodobnie testujesz z API 28, w którym połączenia HTTP są domyślnie zablokowane. Używaj HTTPS albo skonfiguruj odpowiednio ustawienia bezpieczeństwa. https://developer.android.com/about/versions/pie/android-9.0-changes-28#framework-security-changes

0

Faktycznie, przy łączeniu się z URLem po https powyższy kod zaczął działać.
Bardzo dziękuje za pomoc, pozdrawiam :)

0

Taka mala rada na przyszlość: gdybyś ~logował error z public void onErrorResponse(VolleyError error) a nie tylko wypisywał generyczną informację pewnie zdecydowanie szybciej znalazł byś błąd. Dla @Michał Sikora natomiast order za jasnowidztwo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1