W tworzeniu aplikacji dla Androida często przeglądam słowo CallBack
w wielu miejscach. Chcę wiedzieć, co to znaczy powiedzieć nam technicznie - i jak udaje mi się korzystać z aplikacji callback
. Potrzebuję przewodnika, aby go zrozumieć i go użyć.oddzwonienie w systemie Android?
Odpowiedz
chcę wiedzieć, co to znaczy, powiedz nam technicznie
http://en.wikipedia.org/wiki/Callback_%28computer_science%29
„w językach programowania obiektowego bez argumentów funkcji o wartościach, takich jak Java, [callbacks] można być symulowane przez przekazanie abstrakcyjnej klasy lub interfejsu, z których odbiorca wywoła jedną lub więcej metod, podczas gdy wywołujący koniec zapewnia konkretną implementację, takie obiekty są efektywnie zbiorem wywołań zwrotnych oraz danymi, które muszą manipulować. w realizacji różnych projektów wzorce takie jak Visitor, Observer i Strategy. "
jak mogę zarządzać zwrotnego wniosków
nie mam pojęcia, co to znaczy.
Hmm. A może przykład. Piszesz algorytm quicksort w C. Użytkownik, który chce użyć twojego algorytmu, musi dostarczyć metodę porównania odpowiednią do tego, co użytkownik sortuje za pomocą twojego algorytmu. Użytkownik musi przekazać wskaźnik funkcji do metody porównywania użytkownika do kodu Quicksort. Kod quicksort wykorzystuje ten adres, wskaźnik funkcji, do CALL BACK do funkcji porównywania użytkownika. Podajesz prototyp funkcji, bez implementacji, ponieważ nie możesz wiedzieć, jak określić porządek sortowania. Użytkownik dostarcza implementację porównania, która ma sens dla sortowania użytkownika. Ta implementacja musi być zgodna z prototypem funkcji. Wskaźnik funkcji jest wykorzystywany przez algorytm quicksort do sięgania wstecz i dotykania kodu użytkownika.
Tak naprawdę chodzi o polimorfizm.
W języku java można w tym celu użyć interfejsu. Więc do sortowania zobacz interfejs IComparer i IComparable.
Interfejs z opcją Callable może być użyty do uruchomienia fragmentu kodu w trybie Runable. Jednak Callable może zwrócić wynik i może rzucić zaznaczone wyjątek.
Aby uzyskać więcej informacji. http://developer.android.com/reference/java/util/concurrent/Callable.html
Korzystając z interfejsów, które można wywoływać, można przekazać argument jako funkcję dodałem prosty fragment kodu do zrozumienia.
public class MainActivity<V> extends Activity {
Callable<String> doLogin=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
doLogin=new Callable<String>() { //created but not called now.
@Override
public String call() throws Exception {
//make some piece of code
return "something"; //or false
}
};
CheckSession checkSession=new CheckSession("sessionName");
String sessionKey="";
try { //we are sending callable to the DAO or any class we want
sessionKey=checkSession.getSessionKey(doLogin);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class CheckSession{
String sessionName="";
Callable<String> func=null;
public CheckSession(String sessionName) {
super();
this.sessionName = sessionName;
}
public String getSessionKey(Callable<String> doLogin) throws Exception{
func=doLogin;
return (String) func.call();
}
}
- 1. Android, oddzwonienie po zakończeniu grupowania map
- 2. Poczekaj na oddzwonienie w javascript
- 3. Oddzwonienie do selera apply_async
- 4. Knockout.js ViewModel zmienić oddzwonienie?
- 5. Oddzwonienie z GitHub
- 6. Oddzwonienie po __doPostBack()?
- 7. Pobieranie pliku zakończone oddzwonienie
- 8. Algorytm Floodfill w systemie Android
- 9. Selekcja dat w systemie Android
- 10. Wydarzenie wklejania w systemie Android
- 11. Edycja audio w systemie Android
- 12. Zagnieżdżone przewijanie w systemie Android
- 13. Zdarzenia wyłączające w systemie Android
- 14. Odwrócony listView w systemie Android?
- 15. Integracja Facebook w systemie Android?
- 16. Segmentacja gestów w systemie Android
- 17. pushState w systemie Android 4.0
- 18. C/C++ w systemie Android?
- 19. Zabezpieczenia zasobów w systemie Android
- 20. Fragmenty dynamiczne w systemie Android
- 21. Wykrywanie twarzy w systemie Android?
- 22. Używanie SurfaceTexture w systemie Android
- 23. Uruchamianie AnimationDrawable w systemie Android
- 24. Multiline TextView w systemie Android?
- 25. Odrzucenie ProgressDialog w systemie Android
- 26. Zautomatyzowane testowanie w systemie Android
- 27. Autouzupełnianie tekstu w systemie Android?
- 28. Atrybut windowIsFloating w systemie Android:
- 29. Uwierzytelnianie NTLM w systemie Android
- 30. Ustawienia regionalne w systemie Android
Przepraszam za moją najgorszą angielską ocenę ponownie. Za każdym razem zrobiłeś właściwy. – Praveen
Jasne objaśnienie –