Problem bei return eines AsyncTasks

  • Antworten:6
  • Bentwortet
Henrik Martens
  • Forum-Beiträge: 607

27.01.2016, 19:18:48 via Website

Hallo Leute,

ich habe ein AsyncTask erstellt, um das Auslesen einer MySQL-Datenbank zu realisieren. Das funktioniert auch soweit.

Allerdings soll der AsyncTask nun ein ResultSet zurück geben, und da habe ich das Problem.

Die Methode doInBackground gibt einen String zurück. Für MySQL Datenbanken bekomme ich allerdings ein ResultSet zurück.

 private  class excecuteStatementWithResult extends AsyncTask<String, Void, String> {

protected String doInBackground(String... stmnt) {

    String s = "";

    try{
        statement = connection.createStatement();
        ResultSet rs = statement.executeQuery(stmnt[0]);
    }catch (SQLException sqle) {
        sqle.printStackTrace();
    }

    return s;
}

}

Diesem AsynkTask will ich das MySQL-Statement per String übergeben, und als return ein ResultSet erhalten...

Wie kann ich das realisieren?

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

27.01.2016, 19:26:22 via App

Bei extends asynctask gibt es ja die drei Parameter. Einer davon ist glaub ich der Rückgabetyp wenn ich mich nicht irre.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.01.2016, 19:36:21 via App

Ändere doch einfach den ReturnType von String zu ResultSet...

PS : Direkter Zugriff auf Mysql aus Android ist keine Gute idee denn es ist unsicher. Lasse es lieber über eine PHP Api laufen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Henrik Martens
  • Forum-Beiträge: 607

27.01.2016, 19:36:34 via Website

Ja, danke, das passt :)

Wie führe ich den AsyncTask nun aus, sodass in den Rückgabewert abfangen kann?

EDIT:

mit

   ResultSet rs = new excecuteStatementWithResult().execute("").get();

funktioniert es nicht.

— geändert am 27.01.2016, 19:41:17

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.01.2016, 23:14:58 via App

Musst ja auch die DoInBackground ändern

protected ResultSet doInBackground(..)

— geändert am 27.01.2016, 23:15:20

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

28.01.2016, 09:07:56 via Website

Hast du es wie Pascal gesagt hat geändert, oder was meinst du mit "funktioniert [...] nicht"?

Antworten
Henrik Martens
  • Forum-Beiträge: 607

28.01.2016, 09:18:44 via Website

Ja, danke, das hat natürlich geholfen. Flüchtigkeits-Fehler ;)
Ich setze den Thread nun auf erledigt.

Antworten