Trong phát triển ứng dụng android, tôi thường xuyên đọc từ CallBack
ở nhiều nơi. Tôi muốn biết những gì nó có nghĩa là để cho chúng tôi biết về mặt kỹ thuật - và làm thế nào tôi có thể quản lý để sử dụng callback
trong các ứng dụng. Tôi cần một hướng dẫn để hiểu và sử dụng nó.gọi lại trong android?
Trả lời
tôi muốn biết ý nghĩa của nó, nói chúng tôi về mặt kỹ thuật
http://en.wikipedia.org/wiki/Callback_%28computer_science%29
"Trong ngôn ngữ lập trình hướng đối tượng không có đối số chức năng có giá trị, chẳng hạn như Java, [callbacks] có thể được mô phỏng bằng cách truyền một lớp trừu tượng hoặc một giao diện, trong đó người nhận sẽ gọi một hoặc nhiều phương thức, trong khi đó đầu cuối gọi cung cấp một sự thực thi cụ thể. Các đối tượng như vậy là một gói các callback hiệu quả, cộng với dữ liệu mà chúng cần để thao tác. triển khai thiết kế khác nhau các mẫu như Visitor, Observer và Strategy. "
làm thế nào tôi có thể quản lý các cuộc gọi lại của ứng dụng
Tôi không có ý tưởng gì này có nghĩa.
Hmm. Làm thế nào về một ví dụ. Bạn viết một thuật toán quicksort trong C. Người dùng muốn sử dụng thuật toán của bạn phải cung cấp một phương pháp so sánh phù hợp với những gì người dùng đang phân loại bằng thuật toán của bạn. Người dùng phải chuyển một con trỏ hàm tới phương thức so sánh của người dùng với mã quicksort của bạn. Mã quicksort sử dụng địa chỉ này, con trỏ hàm, để CALL BACK vào hàm so sánh của người dùng. Bạn cung cấp một nguyên mẫu hàm, không thực hiện, vì bạn không thể biết cách xác định thứ tự của những gì đang được sắp xếp. Người dùng cung cấp việc thực hiện so sánh có ý nghĩa cho những gì người dùng sắp xếp. Việc triển khai này phải khớp với nguyên mẫu hàm. Con trỏ hàm được sử dụng bởi alogorithm quicksort để quay lại và chạm vào mã của người dùng.
Điều này thực sự là về đa hình.
Trong java, bạn có thể sử dụng giao diện để thực hiện việc này. Vì vậy, để phân loại, hãy xem giao diện IComparer và IComparable.
Giao diện có thể gọi có thể được sử dụng để chạy một đoạn mã như Runnable. Tuy nhiên, Callable có thể trả về kết quả và có thể ném một ngoại lệ.
Để biết thêm chi tiết. http://developer.android.com/reference/java/util/concurrent/Callable.html
Bằng cách sử dụng Giao diện có thể gọi, bạn có thể chuyển đối số dưới dạng hàm Tôi đã thêm đoạn mã đơn giản để hiểu.
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. Gọi lại Android SyncAdapter
- 2. Gọi lại trong Android là gì?
- 3. Android TTS onUtteranceMọi lại gọi lại không được gọi là
- 4. Tạo trình xử lý gọi lại để xử lý nhiều cuộc gọi lại trong Android
- 5. Android: Gọi lại với thành phần WebView?
- 6. Android - Quay lại cuộc gọi Hoạt động
- 7. Dịch vụ gọi lại cho hoạt động trong android
- 8. Chỉ ghi lại giọng nói của người gọi trong android
- 9. Thực hiện gọi lại phương thức trong Android
- 10. Gọi lại trong C#
- 11. Gọi lại trong C#
- 12. Google Navigation (Android 1.6) ý định gọi lại
- 13. Android BroadcastReceiver hoặc phương thức gọi lại đơn giản?
- 14. Không thể phát hiện hoàn thành TTS (gọi lại) android.
- 15. Android: Gọi lại AsyncTask thành Phân đoạn (Không hoạt động)
- 16. Android hình ảnh gọi lại dữ liệu là null
- 17. AttributeError trong hàm gọi lại
- 18. Gọi MiniDumpWriteDump với gọi lại
- 19. Gọi BaseAdapter của Android thông báoDataSetChanged() từ phương thức gọi lại của người nghe
- 20. Android - có một cuộc gọi lại được gọi ngay sau khi onResume() không?
- 21. Cách gọi hàm trong tệp CPP từ Tệp C và ngược lại trong NDRO ANDROID?
- 22. Android: AudioRecord Class Sự cố: Gọi lại không bao giờ được gọi là
- 23. Gọi lại một cuộc gọi lại bằng javascript
- 24. PhoneGap Android Plugin: Thành công & Thất bại Gọi lại không được gọi là
- 25. iOS không gọi lại gọi lại xác thực Facebook
- 26. AutoExposureLock đặt lại sau khi gọi takePicture()
- 27. gọi lại() hoặc trả về cuộc gọi lại()
- 28. Gọi hàm Javascript từ cuộc gọi lại C++ trong V8
- 29. Giá trị biến cài đặt trong Gọi lại Moq() gọi
- 30. Jquery gọi hàm gọi lại trong chức năng tùy chỉnh
xin lỗi vì điều tồi tệ nhất của tôi Tiếng Anh một lần nữa. Dù sao bạn đã làm đúng. – Praveen
Giải thích rõ ràng –