To create a list of elements obtained from a GET call and display them, you need to follow the steps outlined in the example below.
First, create an XML file to define the view with the list. To display a list, we will use the “ListView” element.
Photo by Bri Schneiter from Pexels
To create a list of elements obtained from a GET call and display them, you need to follow the steps outlined in the example below. First, create an XML file to define the view with the list. To display a list, we will use the "ListView" element.
Next, initialize the ListView and the Adapter, and initialize
Initialize GetDataTask that extends AsyncTask to perform a GET request in the background doInBackground that creates a connection with the URL, reads the data from that connection, and stores it in a list, which we call data as an example.
When the background task is complete, we call onPostExecute and receive the JSON data.
Finally, we add to the ListView Adapter- And to update the view, we use adapter.notifyDataSetChanged().
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
// Method to perform the GET request
new GetDataTask().execute();
listView.setAdapter(adapter);
}
private class GetDataTask extends AsyncTask<Void, Void, List> {
@Override
protected List doInBackground(Void... voids) {
// URL of the corresponding endpoint on your server
String apiUrl = "url_api";
List data = new ArrayList<>();
try {
URL url = new URL(apiUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(urlConnection.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
data.add(line); // Add the obtained data
}
bufferedReader.close();
urlConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
@Override
protechtml
Copy code
JSONArray jsonArray = new JSONArray(jsonData);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String centerName = jsonObject.getString("name");
centerNames.add(centerName);
}
}
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSON_PARSE_ERROR", "Error parsing JSON: " + e.getMessage());
// Log.e("JSON_PARSE_ERROR", "JSON Data: " + jsonData);
}
adapter.addAll(centerNames);
adapter.notifyDataSetChanged();
}
}
}
Finally, I show the result of the list on the mobile view.

Hope it helps! Have a great day.

