Ich versuche, das gleiche logische reproduzieren, dass Androids AsyncTask in Java reinen Code folgt.Wie reproduzieren AsyncTask von Android in Java reinen Code
Um dies zu tun, habe ich die abstrakte Klasse AsyncTask erstellt, die meine IAsynTask implementiert, die grundsätzlich onPreExecute, doInBackground und onPostExecute aufruft, auch habe ich die Methode erstellt, wo die Magie passiert.
Um das beispielsweise in meinem Login-Prozess zu verwenden, habe ich die LoginTask-Klasse erstellt, die AsyncTask erweitert, aber anders als ich mir die Implementierung von onPreExecute vorgestellt habe, sieht doInBackground und onPostExecute nicht zwingend aus. Was mache ich falsch?
Inteface:
public interface IAsyncTask {
public void onPreExecute();
public void doInBackground();
public void onPostExecute();
}
Klasse:
public abstract class AsyncTask implements IAsyncTask{
public void onPreExecute() {
}
public void doInBackground(){
}
public void onPostExecute() {
}
public void execute() {
onPreExecute();
new Thread(new Runnable() {
@Override
public void run() {
doInBackground();
Platform.runLater(new Runnable() {
@Override
public void run() {
onPostExecute();
}
});
}
}).start();
}
}
[EDITED]
Mit meinen Fragen zu javafx Ich habe bemerkt, dass viele neuere Entwickler vor Problem der Verwaltung Threads. Ich möchte gerne mitteilen, was ich getan habe, um mein Leben im Umgang mit Threads auf javafx zu vereinfachen. Ich habe eine AsyncTask-Klasse auf der Basis von AsyncTask von Android erstellt, die das gleiche wie Android auf eine bescheidene, aber effektive Weise tut. Weitere Informationen dazu finden Sie unter Github project
Warum nicht Quellen von Android sehen? – azizbekian
Android ist Open Source, Sie können einfach gehen und den Code kopieren ... – Karakuri
Hier ist es: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/ 4.2.2_r1/android/os/AsyncTask.java/ –