在android应用程序开发中,我经常在很多地方经历CallBack
这个词。我想知道在技术上告诉我们的意义 - 以及我如何在应用程序中使用callback
。我需要一个指导来了解它并使用它。在android中回调?
14
A
回答
13
我想知道这意味着什么,告诉 我们在技术上
http://en.wikipedia.org/wiki/Callback_%28computer_science%29
“在没有函数值的参数,如Java面向对象的编程语言,[回调]可以可以通过传递一个抽象类或接口来模拟,其中接收者将调用一个或多个方法,而调用端提供一个具体的实现。这些对象实际上是一堆回调以及他们需要操作的数据。在实施各种设计模式,如访问者,观察者和策略。“
我怎么能管理 应用程序的回调
我不知道这意味着什么。
5
嗯。举个例子。您使用C语言编写快速排序算法。想要使用算法的用户必须提供适合用户使用算法进行排序的比较方法。用户必须将用户比较方法的函数指针传递给您的快速排序代码。快速排序代码使用该地址(函数指针)来回调用户的比较函数。你提供了一个函数原型,没有实现,因为你不可能知道如何确定正在排序的东西的顺序。用户提供比较的实现,这对用户正在排序的内容有意义。该实现必须与函数原型匹配。函数指针被快速排序算法用来回溯并触摸用户的代码。
这实际上是关于多态性。
在java中,你可以使用一个接口来做到这一点。因此,对于排序,请参阅IComparer和IComparable接口。
5
Callable接口可以用来像Runnable一样运行一段代码。但是,Callable可以返回结果并可以检查异常。
欲了解更多详情。 http://developer.android.com/reference/java/util/concurrent/Callable.html
通过使用Callable接口,您可以传递参数作为函数我添加了一个简单的代码片段以供了解。
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中
- 2. 在C#中的回调android
- 3. 回调在回调中的失败响应Android Studio
- 4. Android中的RunOnUIThread与回调
- 5. Android中的回调例程
- 6. 权限在Android 6.0中更改回调
- 7. 无法在Android中实现回调
- 8. 在Android中实现方法回调
- 9. onRequestPermissionsResult不会在Android活动中回调
- 10. 在Android/Java中等待多个回调?
- 11. 无法在Android回调中处理TextView
- 12. 在Websocket onMessage中的android回调接口
- 13. 从Facebook处理回调在Android中使用LikeView在Android
- 14. 的Android LoaderManager回调
- 15. AsyncTask和回调Android
- 16. Java Android ListActivity - 在对话框回调后添加行回调
- 17. Android中的Twitter中的回调问题
- 18. Android - recyclerAdapter.getItem在onClick回调函数中返回null
- 19. 在nodejs中回调内部回调?
- 20. 在javascript中回调回调函数
- 21. 在回调中进行回调
- 22. 在.hover回调中的jQuery回调
- 23. Android - 没有调用GridView onItemClick回调当GridView在ViewPager中时
- 24. Android - 如何在RxJava订阅中调试回调
- 25. 如何从pthread(C)在Android NDK中调用回调(JAVA)
- 26. 无法在android studio中调用解析回调
- 27. 在库中调用回调
- 28. 在Moq中调用回调
- 29. Nodejs回调在回调中的Mysql回调
- 30. 在chrome.tts.speak中回调?
对不起,我最糟糕的英语再次mark.Anyway你做了正确的。 – Praveen 2010-04-02 13:44:21
明确的解释 – 2016-12-09 05:44:55