đ Callback Function – āϏāĻšāĻ āĻাāώাā§ Kotlin āĻ āĻŦ্āϝাāĻ্āϝা (āĻŦাংāϞাā§) đ
đ Callback Function – āϏāĻšāĻ āĻাāώাā§ Kotlin āĻ āĻŦ্āϝাāĻ্āϝা (āĻŦাংāϞাā§) đ
đ¤ āĻāϞ্āĻĒāύা āĻāϰো, āϤুāĻŽি āĻŦāύ্āϧুāĻে SMS āĻĒাāĻ াāϞে...
- āϤুāĻŽি "āĻŦāύ্āϧুāĻে āĻŽ্āϝাāϏেāĻ āĻĒাāĻ াāĻ" āĻŦাāĻāύে āĻাāĻĒ āĻĻিāϞে đ˛
- āĻিāύ্āϤু āĻŽ্āϝাāϏেāĻ āϏāĻ্āĻে āϏāĻ্āĻে āĻĄেāϞিāĻাāϰ āĻšā§ āύা! ⏳
- āĻিāĻুāĻ্āώāĻŖ āĻĒāϰ "Message Sent!" āĻŦা "Message Failed!" āĻĻেāĻাā§ ✅❌
đ āĻāĻাāύে āĻŽ্āϝাāϏেāĻ āĻĄেāϞিāĻাāϰ āĻšāĻā§াāϰ āĻĒāϰāĻ āϰেāĻাāϞ্āĻ āĻĒাāĻā§া āϝাā§!
đ āĻāĻাāĻ "Callback Function" āĻāϰ āĻŽāϤো āĻাāĻ āĻāϰে!
đ Callback Function = āĻāĻŽāύ āĻāĻāĻি āĻĢাংāĻļāύ, āϝা āĻোāύো āĻাāĻ āĻļেāώ āĻšāϞে āύিāĻে āĻĨেāĻে āĻāϞ āĻšā§! đ¯
đ¯ Callback Function āĻী?
đ Callback āĻšāϞো āĻāĻŽāύ āĻāĻāĻি āĻĢাংāĻļāύ, āϝা āĻ āύ্āϝ āĻāĻāĻি āĻĢাংāĻļāύেāϰ āĻাāĻ āĻļেāώ āĻšāϞে āĻāϞ āĻšā§! ✅
đ āĻ āϰ্āĻĨাā§, āϝāĻāύ āĻোāύো āĻাāĻ (Function) āĻļেāώ āĻšāĻŦে, āϤāĻāύ Callback Function āϏেāĻ āĻাāĻেāϰ āϰেāĻাāϞ্āĻ āύিā§ে āĻāϞ āĻšāĻŦে!
đ Kotlin āĻ Callback āϏাāϧাāϰāĻŖāϤ Lambda āĻŦা Interface āĻĻিā§ে āϤৈāϰি āĻāϰা āĻšā§!
đ Callback Function āĻীāĻাāĻŦে āĻাāĻ āĻāϰে? (Step-by-Step) đ
āϧāϰো, āϤুāĻŽি "Download File" āĻŦাāĻāύে āĻ্āϞিāĻ āĻāϰেāĻো!
đ File āĻĄাāĻāύāϞোāĻĄ āĻļেāώ āĻšāϞে "Download Success!" āĻŦা "Download Failed!" āĻĻেāĻাāĻŦে!
đ āĻāĻা Callback Function āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰেāĻ āĻāϰা āĻšā§!
✅ Callback Function āĻāϰ āϏāĻšāĻ āĻāĻĻাāĻšāϰāĻŖ (Lambda āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে)
đ āĻāĻāĻি āĻĢাংāĻļāύ āĻŦাāύাāĻ, āϝা āĻোāύো āĻাāĻ āĻļেāώে Callback āĻāϞ āĻāϰāĻŦে!
// ✅ Callback Function āύেā§া āĻšāĻ্āĻে (Lambda)
fun downloadFile(url: String, callback: (Boolean) -> Unit) {
println("⏳ Downloading file from: $url...")
// āĻিāĻুāĻ্āώāĻŖ āĻ
āĻĒেāĻ্āώা āĻāϰি (āϏিāĻŽুāϞেāĻ āĻāϰা āĻšāĻ্āĻে)
Thread.sleep(2000)
// āϧāϰো, āĻĢাāĻāϞ āϏāĻĢāϞāĻাāĻŦে āĻĄাāĻāύāϞোāĻĄ āĻšāϞো ✅
val success = true
// đĸ Callback āĻāϞ āĻšāĻ্āĻে
callback(success)
}
// ✅ Callback Function āĻāϞ āĻāϰা āĻšāĻ্āĻে
fun main() {
downloadFile("https://example.com/file.pdf") { success ->
if (success) {
println("✅ Download Success!")
} else {
println("❌ Download Failed!")
}
}
}
đ āĻāĻাāύে downloadFile() āĻĢাংāĻļāύ āĻĢাāĻāϞ āĻĄাāĻāύāϞোāĻĄ āĻļেāώ āĻšāĻā§াāϰ āĻĒāϰāĻ Callback āĻāϞ āĻāϰāĻে!
đ Lambda { success -> } āĻ
ংāĻļāĻাāĻ āĻšāϞো Callback Function! ✅
✅ Callback Function (Interface āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে)
đ āĻāĻāύো āĻāĻāύো Interface āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰেāĻ Callback āĻāϰা āĻšā§!
// ✅ Callback Interface āϤৈāϰি
interface DownloadCallback {
fun onDownloadComplete(success: Boolean)
}
// ✅ Download Manager āĻ্āϞাāϏ (Callback āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦে)
class DownloadManager {
fun startDownload(url: String, callback: DownloadCallback) {
println("⏳ Downloading file from: $url...")
// āĻিāĻুāĻ্āώāĻŖ āĻ
āĻĒেāĻ্āώা āĻāϰি (āϏিāĻŽুāϞেāĻ āĻāϰা āĻšāĻ্āĻে)
Thread.sleep(2000)
// āϧāϰো, āĻĢাāĻāϞ āϏāĻĢāϞāĻাāĻŦে āĻĄাāĻāύāϞোāĻĄ āĻšāϞো ✅
val success = true
// đĸ Callback āĻāϞ āĻšāĻ্āĻে
callback.onDownloadComplete(success)
}
}
// ✅ Callback Function āĻŦ্āϝāĻŦāĻšাāϰ
fun main() {
val downloadManager = DownloadManager()
// ✅ Callback Interface āĻāύāĻĒ্āϞিāĻŽেāύ্āĻ āĻāϰা āĻšāĻ্āĻে
downloadManager.startDownload("https://example.com/file.pdf", object : DownloadCallback {
override fun onDownloadComplete(success: Boolean) {
if (success) {
println("✅ Download Success!")
} else {
println("❌ Download Failed!")
}
}
})
}
đ āĻāĻাāύে DownloadCallback Interface āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে Callback āĻāϰা āĻšā§েāĻে!
đ Interface āĻĒāĻĻ্āϧāϤি āϏাāϧাāϰāĻŖāϤ āĻŦā§ āĻĒ্āϰোāĻেāĻ্āĻে āĻŦেāĻļি āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§! đ
đĻ Callback Function āĻোāĻĨাā§ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§?
| āĻŦ্āϝāĻŦāĻšাāϰ āĻ্āώেāϤ্āϰ | āĻীāĻাāĻŦে āĻাāĻ āĻāϰে? |
|---|---|
| Networking (API Call) | Data āϞোāĻĄ āĻšāĻā§া āĻļেāώ āĻšāϞে Callback āĻĻিā§ে Response āĻĒাāĻ াā§ đ |
| Button Click Event | Button āĻ্āϞিāĻ āĻšāϞে Callback āĻĢাংāĻļāύ āĻāϞ āĻšā§ đ¯ |
| Database Query | Query āĻļেāώ āĻšāϞে Callback āĻĻিā§ে āĻĄাāĻা āϰিāĻাāϰ্āύ āĻšā§ đž |
| File Download | āĻĄাāĻāύāϞোāĻĄ āĻļেāώ āĻšāϞে Callback āĻĻিā§ে Success/Failure āĻাāύাā§ đĨ |
| Animations | āĻ ্āϝাāύিāĻŽেāĻļāύ āĻļেāώ āĻšāϞে Callback āĻĻিā§ে āĻাāύাā§ đŦ |
đ Android āĻāϰ āĻ āύেāĻ āĻĢিāĻাāϰে Callback āĻŦ্āϝāĻŦāĻšাāϰ āĻšā§!
⚡ Callback Function āĻেāύ āĻĻāϰāĻাāϰ? (āϏুāĻŦিāϧা āĻ āĻ āϏুāĻŦিāϧা)
✅ āϏুāĻŦিāϧা:
✔ Async āĻাāĻ āϏāĻšāĻে āĻāϰা āϝাā§ (āϝেāĻŽāύ: File Download, API Call)! ⚡
✔ UI āĻĢ্āϰিāĻ āύা āĻšā§ে Smooth āĻĨাāĻে! đ♂️
✔ āĻোāύো āĻাāĻ āĻļেāώ āĻšāĻā§াāϰ āĻĒāϰāĻ Output āĻĒাāĻā§া āϝাā§! ✅
❌ āĻ āϏুāĻŦিāϧা:
❌ Callback Hell (Nested Callback) āĻšāϤে āĻĒাāϰে! đĩ
❌ Debug āĻāϰা āĻāĻ িāύ āĻšāϤে āĻĒাāϰে! đ
đ āĻāĻāύ āĻ āύেāĻ āϏāĻŽā§ Coroutines āĻŦা Suspend Function āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§, āϝা Callback āĻāϰ āĻেā§ে āϏāĻšāĻ!
đ¯ āĻāĻĒāϏংāĻšাāϰ – āϏāĻšāĻ āĻাāώাā§ Callback Function āĻী?
đ Callback āĻšāϞো āĻāĻŽāύ āĻāĻāĻি āĻĢাংāĻļāύ, āϝা āĻ
āύ্āϝ āĻāĻāĻি āĻাāĻ āĻļেāώ āĻšāϞে āĻāϞ āĻšā§!
đ Lambda āĻ Interface āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে Callback āĻāϰা āϝাā§!
đ āĻāĻি File Download, API Call, UI Events āĻ Networking āĻ āĻŦেāĻļি āĻŦ্āϝāĻŦāĻšৃāϤ āĻšā§!
đ Coroutines āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞে Callback āĻāϰ āĻĻāϰāĻাāϰ āĻāĻŽে āϝাā§!
đ āĻāĻāύ āĻŦুāĻāϤে āĻĒাāϰāϞে? āĻোāύো āĻĒ্āϰāĻļ্āύ āĻĨাāĻāϞে āĻিāĻ্āĻাāϏা āĻāϰো! đđ
Comments
Post a Comment