AsyncTask und doInBackground Frage

Schlucki6666

Mitglied
Hallo Gemeinde;
Ich hoffe, dass ich euch hier nun mit meiner letzten Frage "quälen" darf. Ich stehe gerade vor einem für mich unlösbaren Rätzel. Im Netz habe ich dazu einiges gefunden, aber (sorry) ich kappier es einfach nicht! Es geht dabei um AsyncTask und doInBackground.
Mein Vorhaben wäre aus einem EditText den Inhalt (zB. "11") als String mittels getMethode "auszulesen" und diesen String an eine URL anzufügen. Was als Resultat dann ungefähr so aussehen sollte:
Java:
URL url = new URL("http://schlucki.......ch/"+ STRING + ".txt");

Da, soweit ich das verstehe, AsyncTask und darin doInBackground, wie der Name es schon sagt im Background läuft/arbeitet, kann ich auf das EditText oder TextView nicht wie normal mit "findViewById" zugreifen.

Kann mir das eventuell kurz einer erklären oder sagen wie das funktioniert oder wie ich es anstellen kann, dass ich den Inhalt des EditTextes in meine URL in der doInBackground Methode einfügen kann?

Sorry, wenn es mal wieder eine absolute Banalität ist, aber .......... ich bin echt gerade ....... ihr wisst schon !!!

Mein Programmcode (Schnippsel) wo ich hänge wäre:

Java:
class myTask extends AsyncTask<Void, Void, Void>{


	@Override
	protected Void doInBackground(Void... params) {		
try {
      URL url = new URL("http://schlucki........ch/"+ datei);

Danke, für eure Hilfe
Schlucki
 

anti-held

Bekanntes Mitglied
Diese ganzen Voids kannst du durch andere Objekte wie z.B. String ersetzen.
So kannst du beim starten deines AsyncTasks den String (deine "11") übergeben.

Vill solltest du dir Generics genauer ansehen:
Generics
 

dzim

Top Contributor
AsyncTask<X, Y, Z>

X = Klasse der Eingabeparameter
Code:
@Override
protected Z doInBackground(X... params) {
//...
return <object-typ-Z>; // wenn Z=Void, dann null
}

Y = Klasse der Zwischenergebnisse
(kann mit publishProgress(<objeckt-typ-Y>); von innerhalb von #doInBackground aufgerufen werden)
Code:
@Override
protected void onProgressUpdate(Y... params) {...}

Z = Klasse des Ergebnisses
Code:
// siehe oben: Z doInBackground(X... params)
// oder auch
@Override
protected Z onPostExecute(Z result) {...}

Steht aber letzten Endes alles in der Doku und ist einfach herauszufinden, indem man mal was anderes als Void nutzt.
Entscheidend ist, das AsyncTask intern den Messaging-Mechanismus verwendet um Nachrichten über die Thread-Grenzen hinweg zu verteilen. Eigentlich ist das Teil - finde ich - nach aussen ziemlich einfach gestrickt:

- UI-THREAD: im Konstruktor oder #onPreExecute holt man sich, wenn man es braucht, die UI-Elemente oder bereitet generell alles vor
- NICHT UI-THREAD: im #doInBackground passiert die "Magic" - aber eben nicht auf dem UI-Thread!
- mittels #publishProgress kann man noch in #doInBackground z.B. updates der UI auslösen, wobei der eigentliche Update dann in #onProgressUpdate passiert (UI-THREAD!!!)
- UI-THREAD: in #onPostExecute kann man dann die abschliessenden UI-Updates machen (wenn man z.B. im ersten Schritt einen Fortschirttsdialog geöffnet hat, kann man ihn hier automatisiert schliessen, oder das Ergebniss anzeigen) und auch die Resourcen aufräumen (ich lösch' hier immer gerne alle Referencen auf die UI...)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Download Web-Content, AsyncTask Android & Cross-Platform Mobile Apps 5
topi Android AsyncTask ist deprecated Android & Cross-Platform Mobile Apps 5
M mehrere URLs in einem AsyncTask abarbeiten Android & Cross-Platform Mobile Apps 2
T AsyncTask / Download sehr langsam Android & Cross-Platform Mobile Apps 2
B Android [Änfänger] Void aus AsyncTask aufrufen Android & Cross-Platform Mobile Apps 3
B Android UI änderung aus AsyncTask Android & Cross-Platform Mobile Apps 1
G Beziehung von THIS beim Imageadapter und AsyncTask Android & Cross-Platform Mobile Apps 7
M Frage zu OnClickListener. Verständnisproblem Android & Cross-Platform Mobile Apps 5
xXSkyWalkerXx1 Android Bluetooth LE - Frage zur Funktionalität Android & Cross-Platform Mobile Apps 26
M Frage zu setContentDescription Android & Cross-Platform Mobile Apps 2
G Google Play Store Design Frage Android & Cross-Platform Mobile Apps 2
Augenblau Android Frage zu den unterschiedlichen Menüarten Android & Cross-Platform Mobile Apps 0
L Android Generelle Frage zur Spieleprogrammierung unter Android Android & Cross-Platform Mobile Apps 2
H Frage bei erstellen eines Projectes Android & Cross-Platform Mobile Apps 3
G Wissen frage - wo am besten Speichern. Android & Cross-Platform Mobile Apps 1
B Android Verständnis frage zu Threads//AsyncTasks Android & Cross-Platform Mobile Apps 10
J Android ganz kurze frage Android & Cross-Platform Mobile Apps 2
K Android Frage zu Themes/Styles Android & Cross-Platform Mobile Apps 5
kaoZ Android Allgemeine Frage zum Händeln mehrerer EditTextfelder Android & Cross-Platform Mobile Apps 25
R Frage zu Widgets Android & Cross-Platform Mobile Apps 2
B Kurze Frage zu Play Store? Android & Cross-Platform Mobile Apps 2
U Android Kleine ImageButton Frage Android & Cross-Platform Mobile Apps 2
U Android Frage zu eigenen Adaptern Android & Cross-Platform Mobile Apps 2
U Android ListView Frage Android & Cross-Platform Mobile Apps 6
M Frage zu Java Programm für Windows Mobile 6.5 Android & Cross-Platform Mobile Apps 2
P Allgemeine frage bzg. Android Android & Cross-Platform Mobile Apps 10
H FileConnection: Frage nach Dateisystem-Zugriff unterdrücken Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen


Oben