Bonjour,

J'écris ici car j'ai un problème avec mon code java sous android studio. Mon but : récupérer les informations météo d'une API (iqair.com) et afficher ces informations pour plusieurs villes dans une listview.
Ci-dessous mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
public class MainActivity extends AppCompatActivity
{
    private ListView listView;
    private final List<String> data = new Vector();
    private ArrayAdapter<String> dataArrayAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        this.listView = findViewById(R.id.listView);
        this.dataArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
        listView.setAdapter(dataArrayAdapter);
    }
 
    @Override
    protected void onResume()
    {
        super.onResume();
        search("Paris", "Ile-de-France", "France");
    }
 
    public void search(String city, String state, String country) {
 
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        String URL = "https://api.airvisual.com/v2/city?city=" + city + "&state=" + state + "&country=" + country + "&key=83ecc71f-0909-4128-bef4-8be290278d12";
 
        final StringRequest request = new StringRequest(
                Request.Method.GET,
                URL,
                this::handleResponse,
                this::handleError);
 
        requestQueue.add(request);
    }
 
    public void handleResponse(final String response)
    {
        final String[] testArray = new Gson().fromJson(response, String[].class);
        final String serie = new Gson().toJson(testArray);
        this.data.clear();
        this.data.addAll(Arrays.asList(testArray));
        dataArrayAdapter.notifyDataSetChanged();
    }
 
    public void handleError(VolleyError volleyError)
    {
        Toast.makeText(getApplicationContext(),volleyError.getMessage(),Toast.LENGTH_SHORT).show();
    }
 
}
Dès que je lance l'application, elle s'ouvre et s'éteint directement.
Je pense que l'erreur vient sûrement de ma fonction handleResponse mais je n'arrive pas à trouver où.

Merci d'avance pour vos réponses