Wie kriege ich den Response der API in mein TextViewField in Android Studio?

Hallo,

momentan sitze ich daran, eine Android App mit Android Studio zu entwickeln. Die App soll GET und POST benutzen können, um mit einer API arbeiten zu können.

Soweit funktioniert das auch alles. Meine Frage bezieht sich hier auf Folgendes:

Ich habe in der MainActivity den TextView TW_Rueckgabe. Hier soll der Response der POST-Funktion gespeichert werden, da ich den gerne in der App anzeigen lassen will.

Nun habe ich aber bereits ein paar Sachen ausprobiert, allerdings vergebens.

Nun zu meiner eigentlichen Frage:

Wie kriege ich hin, das der Response der POST-Klasse in dem TextView TW_Rueckgabe gespeichert wird?

Danke im Voraus.

MfG

MainActivity.java

final TextView[] TW_Rueckgabe = {
  findViewById(R.id.textViewRueckgabe)
};
Button sendBtn = findViewById(R.id.sendBtn);
sendBtn.setOnClickListener(v -> {
  String POST_url = "http://dphost.ddns.net:1573/cool/post.php";
  String requestData = "data=" + TW_Benutzername.getText().toString();
  POSTRequestTask test = (POSTRequestTask) new POSTRequestTask().execute(POST_url, requestData);
  TW_Rueckgabe[0].setText(test.fetching_data);
});

POSTRequestTask.Java

class POSTRequestTask extends AsyncTask<String, Void, String> {
  @Override
  protected String doInBackground(String... params) {
    String url = params[0];
    String requestData = params[1];
    String response = "";

    try {
      URL obj = new URL(url);
      HttpURLConnection con = (HttpURLConnection) obj.openConnection();

      // add request header
      con.setRequestMethod("POST");
      con.setDoOutput(true);

      // add request data
      DataOutputStream wr = new DataOutputStream(con.getOutputStream());
      wr.writeBytes(requestData);
      wr.flush();
      wr.close();

      int responseCode = con.getResponseCode();
      System.out.println("\nSending 'POST' request to URL : " + url);
      System.out.println("Response Code : " + responseCode);

      BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
      String inputLine;
      StringBuffer responseBuffer = new StringBuffer();

      while ((inputLine = in.readLine()) != null) {
        responseBuffer.append(inputLine);
      }

      in.close();
      response = responseBuffer.toString();
    }
    catch (IOException e) {
      e.printStackTrace();
    }

    return response;
  }

  @Override
  protected void onPostExecute(String result) {
    // print result
    System.out.println("\n\n\n" + result + "\n\n\n");
    fetching_data = result;
  }

  public String returnString() {
    return fetching_data;
  }
}
Java, Android, Android App, Programmiersprache, Android Studio
jetpack compose - wie starte ich eine neue Activity?

Hallo zusammen

Ich habe folgendes Composable in meinem Code:

@Composable
fun Toolbar() {

    // Create a boolean variable
    // to store the display menu state
    var mDisplayMenu by remember { mutableStateOf(false) }

    // fetching local context
    val mContext = LocalContext.current

    // Creating a Top bar
    TopAppBar(
        title = { Text(stringResource(R.string.app_name)) },backgroundColor = Color(0xFFFFFFFF),
                actions = {

                    // would create a Toast message
                    IconButton(onClick = {
                        val intent = Intent(this, LockScreenActivity::class.java)
                        startActivity(intent)
                        Toast.makeText(mContext, "Lock app...", Toast.LENGTH_SHORT).show() }) {
                        Icon(Icons.Outlined.Lock, "")

Nun möchte ich gerne, dass wenn man auf das lock icon klickt, die dazugehörige Activity "LockScreenActivity" gestartet wird. Folgende Fehlermeldung erhalte ich jedoch bei "val intent = Intent"

None of the following functions can be called with the arguments supplied.
<init>(Context!, Class<*>!) defined in android.content.Intent
<init>(String!, Uri!) defined in android.content.Intent

Ich weiss nicht genau, warum diese Fehlermeldung auftritt bzw. warum es nun noch ein Argument benötigt. Könnte mir bitte Jemand helfen?

Eine Zeile weiter unten bestätigt sich nochmals mein Fehler mit der Meldung No value passed for parameter 'intent'

No value passed for parameter 'intent'

Vielen Dank für jede Hilfe.

programmieren, Android, Code, compose, Android Studio, Kotlin

Meistgelesene Fragen zum Thema Android Studio