Próbuję zrozumieć mechanizm obsługi wywołania zwrotnego. W jaki sposób wywoływana jest metoda handle()? Czy ktokolwiek może podać przykład użycia niestandardowego programu obsługi wywołania zwrotnego (innego niż używany w modułach logowania JASSa) w aplikacji non-Swing?Niestandardowy operator oddzwaniania
5
A
Odpowiedz
9
Należy zdefiniować interfejs do obsługi wywołania zwrotnego.
public interface ServiceListener<T> {
void callback(T result);
}
Należy zdefiniować metodę, która pobiera parametr ServiceListener jako parametr i zwraca nieważne.
Public void runInBackground(ServiceListener listener) {
...code that runs in the background...
listener.callback(...data to return to caller...);
}
i obecnie można to zrobić z głównego kodu:
runInBackground(new ServiceListener() {
@Override
public void callback(..returned data...) {
...Do stuff with returned data...
}
});
3
Jest to podstawowy przykład wnioskowania o dane z serwera sieciowego przy użyciu AsyncTask z aplikacji Android.
Najpierw zdefiniuj klasę asynchroniczną. Zwróć uwagę, że konstruktor pobiera detektor, którego używamy do opublikowania wyniku, gdy jest gotowy.
public class Webservice extends AsyncTask<String, Void, String> {
private DialogListener dialogListener;
public Webservice(final DialogListener dialogListener) {
this.dialogListener = dialogListener;
}
@Override
protected String doInBackground(final String... strings) {
// We cant trigger onComplete here as we are not on the GUI thread!
return "";
}
protected void onPostExecute(final String result) {
dialogListener.onComplete(result);
}
}
Podstawowe klasy serwer do obsługi różnych komunikacji sieciowej:
public class Server {
public void queryServer(final String url, final DialogListener service) {
// Simulate slow network...
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
new Webservice(service).execute(url);
}
}
Możemy teraz użyć tego kodu wewnątrz naszej działalności, nie martwiąc się, jak długo połączenie trwa, ponieważ nie zamierza powstrzymać GUI ponieważ jest wykonywany asynchronicznie.
Server s = new Server();
// Async server call.
s.queryServer("http://onto.dk/actions/searchEvents.jsp?minLatE6=55640596&minLngE6=12078516&maxLatE6=55642654&maxLngE6=12081948", new DialogListener() {
@Override
public void onComplete(final String result) {
toast("complete");
}
@Override
public void onError() {
toast("error");
}
});
Powiązane problemy
- 1. Niestandardowy operator concat (++) w haskell
- 2. C#: Niestandardowy niejawny operator rzutowania nie działa
- 3. oddzwaniania odmówiono z OmniAuth
- 4. Funkcje odlewania/oddzwaniania
- 5. sqlite3_exec() Funkcja oddzwaniania Wyjaśnienie
- 6. Prototypowe funkcje oddzwaniania przełykanie wyjątki
- 7. Najlepszy sposób tworzenia funkcji oddzwaniania
- 8. jQuery Plugin: Dodawanie funkcji oddzwaniania
- 9. WCF, dupleks oddzwaniania, recieveTimeout netTcpBinding
- 10. oddzwaniania do FirebaseRecyclerAdapter nie działa
- 11. Funkcja oddzwaniania dla jQuery .html()?
- 12. Funkcja oddzwaniania dla JSONP z JQuery ajax
- 13. oddzwaniania jako części statycznej tablicy członkiem
- 14. Pobieranie obrazów z funkcją oddzwaniania w Picasso?
- 15. ustawianie funkcji oddzwaniania dla obiektów obserwowalnych
- 16. Passport Google OAuth oddzwaniania Nie działa
- 17. IOS Grand Central Dispatch z metodą oddzwaniania
- 18. Jak działa funkcja oddzwaniania w Mongoose?
- 19. Async Załaduj pliki JavaScript z funkcją oddzwaniania
- 20. Zadzwoń do MiniDumpWriteDump z funkcją oddzwaniania
- 21. oddzwaniania przed widoku kalendarza zostanie zmieniony
- 22. Asynchronous JavaScript - oddzwaniania vs Odroczony/Obietnica
- 23. ASP.NET MVC 4 asynchroniczny kontroler oddzwaniania
- 24. Sprawdź, czy funkcja oddzwaniania jest strzałką ES6.
- 25. Obietnice - błąd oddzwaniania w porównaniu do przechwytywania
- 26. test imagesLoaded() postęp oddzwaniania przy użyciu jaśmin
- 27. Implementacja oddzwaniania z usługi do aktywności
- 28. Określanie $ .ajax JSONP oddzwaniania Nazwa Zepto
- 29. Niestandardowy niestandardowy widok na Androida i niestandardowy widok
- 30. Pustka(), operator przecinek (operator) i niemożliwe przeciążenia
Potrzebuję jednego lub dwóch konkretnych przykładów. Czy możesz trochę rozwinąć? – Partha
Mogę podać przykład z Androidem, jeśli byłoby to pomocne? – slott
@slott: Tak, proszę! – Zolomon