Ich habe diese AsyncTask für einige Projekte verwendet, aber immer noch nicht ganz bekommen, was <String, Void, String>
bedeutet. Bedeutet das die Parametertypen der nicht implementierten Methoden? Gibt es irgendwelche Befehle (was entspricht die Methode String, Void, String)?AsyncTask <String, Void, String> generischer Typ. Android
Antwort
Es in docs beschrieben:
android.os.AsyncTask<Params, Progress, Result>
Die drei Typen durch eine asynchrone Aufgabe verwendet werden, die folgenden:
Params, the type of the parameters sent to the task upon execution. Progress, the type of the progress units published during the background computation. Result, the type of the result of the background computation.
Wenn Sie nicht einer von ihnen brauchen, passieren Void
(aber es müssen immer 3 Typen sein)
Von Android Docs AsyncTask Seite:
android.os.AsyncTask<Params, Progress, Result>
Die drei durch eine asynchrone Aufgabe verwendeten Typen sind die folgenden:
Params, die Art der an die Aufgabe gesendet Parameter bei der Ausführung.
Fortschritt, der Typ der Fortschritts-Einheiten, die während der Hintergrundberechnung veröffentlicht wurden.
Ergebnis, die Art des Ergebnisses der Hintergrundberechnung.
Jetzt ist mein Verständnis in einfachen Worten:
Params: (in Ihrem Fall String) ist der Parameter, die AsyncTask
nimmt. Sie müssen dies weitergeben, wenn Sie execute
Methode aufrufen
Progress: (in Ihrem Fall Void) ist die Art des Fortschritts. Leere bedeutet, dass Sie es nicht verwenden. Wenn Sie sagen, Integer, könnten Sie Werte wie 10, 20, 30 ... verwendet haben und diese verwenden, um einen Fortschrittsbalken auf dem Bildschirm anzuzeigen.
Ergebnis: (in Ihrem Fall String) ist, was die AsyncTask
als Ergebnis zurückgibt. Sie geben eine Zeichenfolge zurück. Sie können jedes beliebige Objekt zurückgeben.
Also einfach gesagt, es ist etwas wie eine Methode, wo Params Parameter sind, Ergebnis ist Rückgabetyp und Fortschritt zeigt Ihnen den Status des Verarbeitungsfortschritts.
Zum weiteren Verständnis siehe this tutorial, zitiert auch aus der gleichen Seite kann hilfreich sein:
AsyncTask<TypeOfVarArgParams, ProgressValue, ResultValue>
TypeOfVarArgParams in die doInBackground() übergibt Methode als Eingang wird ProgressValue für Fortschrittsinformationen verwendet und ResultValue muss von der doInBackground() - Methode zurückgegeben werden und wird an onPostExecute() als Parameter übergeben.
Ist Parameter in AsyncTask auf den Parameter bezieht sich in doInBackground, 2. Parameter übergeben werden soll in onProgressUpdate und dritten Parameter übergeben werden soll, in OnPostExecute weitergegeben werden. Wir können jeden Datentyp verwenden, der für die jeweilige Funktionalität geeignet ist. Ein Beispiel für einen Aufruf mit dem Parameter type (String, Integer, String) finden Sie weiter unten.
private class MyTask extends AsyncTask<String, Integer, String>
{
protected String doInBackground(String... u)
{
// do something in background
return null;
}
protected void onPreExecute()
{
// do something before start
}
public void onProgressUpdate(Integer... args)
{
}
protected void onPostExecute(String result)
{
// do something after execution
}
}
- 1. Wie funktioniert AsyncTask <String, Void, Void>?
- 2. Erweitern von AsyncTask <Void, Void, Void>
- 3. Wie überprüft man, ob ein generischer Swift-Typ Void ist?
- 4. Asynctask unbekannter Typ ausführen
- 5. C# Generischer Typ ist eingerahmt?
- 6. Frühlings-data-mongodb generischer Typ
- 7. Typoskript optional generischer Typ
- 8. .execute kann nicht zu einem Typ aufgelöst werden - AsyncTask (Android)
- 9. Guice injecting Generischer Typ
- 10. Standardparameter als generischer Typ
- 11. Codedom generischer Typ Constraint
- 12. C# Bestimmung generischer Typ
- 13. Java generischer Typ mit Wildcard
- 14. SFINAE: 'static_cast <void>()' oder ', void()'?
- 15. Cast-Objekt Methode generischer Typ
- 16. Generischer Typ 'ComponentRef <C>' benötigt 1 Argumenttyp (en)
- 17. numerische konkreter numerischer generischer Typ
- 18. Hinzufügen einer AsyncTask - Android
- 19. Android AsyncTask Listview Problem
- 20. Android Widget mit AsyncTask
- 21. Android Autocomplete AsyncTask Verzögerung
- 22. Android-Thread-Kommunikation AsyncTask
- 23. AsyncTask in Android?
- 24. Generischer Typ verloren für Element des Rohtyps
- 25. Android AsyncTask in einem anderen AsyncTask
- 26. Void als literaler Typ?
- 27. Annotation zur Verfügung generischer Typ
- 28. Pass-Typ zu generischer Klasse
- 29. Use Self als generischer Typ
- 30. passieren generischer Typ Enum als Parameter (Java)
http://stackoverflow.com/questions/13238150/java-generics-what-is-this-syntax-for –