My aim is to make a HTTP request, and then change the textview that I have to be that data we got back.
The button changes the text to "Once again, we are receiving IO ERROR" always, and I don't know how to make it display the data that sendGet() is meant to return.
Code below.
package com.example.textchanger;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
    private static final String USER_AGENT = "Mozilla/5.0";
    private static final String GET_URL = "http://stark-stream-56750.herokuapp.com/all";
    @Override
    protected void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        changeTextOnce();
    }
    private static String sendGET() throws IOException {
        // Make URL object.
        URL url_obj = new URL(GET_URL);
        // Connect to object.
        HttpURLConnection url_con = (HttpURLConnection) url_obj.openConnection();
        // Set Request Data
        url_con.setRequestMethod("GET");
        url_con.setRequestProperty("User-Agent", USER_AGENT);
        // What response code did we get back?
        int responseCode = url_con.getResponseCode();
        // If good...
        if (responseCode == HttpURLConnection.HTTP_OK) {
            // Make a way to read the data, and then read it
            BufferedReader inReader = new BufferedReader(new InputStreamReader(url_con.getInputStream()));
            // Can't be modified.
            String inputLine;
            // A string buffer is like a String, but can be modified.
            StringBuffer response = new StringBuffer();
            // For each line in the data we have, until we have no more lines
            while ((inputLine = inReader.readLine()) != null) {
                // Add the data to the string
                response.append(inputLine);
            }
            // Close the reader
            inReader.close();
            // Print result
            System.out.println(response.toString());
            return response.toString();
        } else {
            // Error
            System.out.println("GET request not worked");
            return "Error!";
        }
    }
    private void changeTextOnce() {
        final TextView changingText = (TextView) findViewById(R.id.change_this);
        Button changingButton = (Button) findViewById(R.id.change_text_button);
        changingButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    changingText.setText(sendGET());
                } catch (IOException e) {
                    changingText.setText("Once again, we are recieving IO ERROR");
                }
            }
        });
    }
}
 
    