Dialog mit Eingabefeld innerhalb einer AsyncTask

  • Antworten:6
  • Bentwortet
Wicki12
  • Forum-Beiträge: 38

31.10.2012, 14:41:33 via Website

Hallo,

2 Fragen:
1) wenn ich in einem main-Thread einen Dialog für mehrere Eingabewerte verwende (deren Eingabe insgesamt relativ lange dauern kann), ist dann ggf. mit einer ANR-Meldung zu rechnen ?
2) falls ja, was kann ich dagegen tun, ist es bspw. dann möglich diesen Eingabedialog in einem Thread (bzw. in doInBackground von AsyncTask) zu verwenden ?

Die Eingabewerte möchte ich eine SQLite-Tabelle übertragen.

Gruß Wicki

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

31.10.2012, 14:48:12 via Website

Ein aus dem UI-Thread heraus gestarteter Dialog löst niemals einen ANR aus. Der muss nicht in einen eigenständigen Thread. Ein Dialog blockiert nichts.

In Threads lagert man lang laufende Aktionen aus die eben nichts mit dem UI zu tun haben. Dazu zählen Netzwerkzugriffe, Festplattenzugriffe (wenn es länger dauern kann), Datenbankzugriffe (bei etwas umfangreicherer DML/DDL).

— geändert am 31.10.2012, 14:49:40

Antworten
Wicki12
  • Forum-Beiträge: 38

31.10.2012, 15:16:46 via Website

Dank für die Antwort, das beruhigt mich einigermassen.
Frage 2 interessiert mich trotzdem:
kann man in "doInBackground" von AsyncTask einen Dialog verwenden ?
Ich hatte mal im Netz einen Hinweis gefunden, dass das nicht zulässig sei.

Gruß Wicki

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

31.10.2012, 15:26:29 via Website

Nein!

Du kannst im PreExecute und PostExecute machen was Du willst - aber im doInBackground nicht. Das ist der separate Thread - da darf nichts aber auch überhaupt nichts mit dem UI passieren.

— geändert am 31.10.2012, 16:05:21

Antworten
Wicki12
  • Forum-Beiträge: 38

31.10.2012, 15:49:38 via Website

Vielen Dank,

da darf nichts aber auch überhaupt nichts mit dem UI passieren
das ist mir klar, bei dem Dialog muss doch aber eigentlich nichts mit dem UI passieren, so dass ein Dialog prinzipiell möglich sein müsste oder ?

Gruß Wicki

Antworten
Wicki12
  • Forum-Beiträge: 38

31.10.2012, 16:11:39 via Website

Nochmals danke. Meine Neugier ist befriedigt.

Gruß Wicki

Antworten