Posts

Showing posts with the label Jetpack Compose

🧠 Lambda with Receiver

 āĻ…āĻŦāĻļ্āϝāχ! 🧠 āφāĻŽি āĻ–ুāĻŦāχ āϏāĻšāϜāĻ­াāĻŦে āĻŦাংāϞাāϝ় āĻŦ্āϝাāĻ–্āϝা āĻ•āϰāĻ›ি — āϝেāύ āϤুāĻŽি āĻŽāύে āϰাāĻ–āϤে āĻĒাāϰো। Lambda with Receiver āĻŽাāύে āĻšāϚ্āĻ›ে: Lambda (āĻāĻ•āϟা āĻ›োāϟ āĻĢাংāĻļāύ) — āϝাāϰ āĻ­িāϤāϰে āĻāĻ•āϟা āĻ…āĻŦāϜেāĻ•্āϟ āϏāϰাāϏāϰি āĻ…্āϝাāĻ•্āϏেāϏ āĻ•āϰāϤে āĻĒাāϰāĻŦে this āĻ›া⧜া āĻŦা āĻ•োāύো āϰেāĻĢাāϰেāύ্āϏ āĻ›া⧜াāχ! āωāĻĻাāĻšāϰāĻŖ āĻĻি⧟ে āĻŦāϞি: āϧāϰো, āϤুāĻŽি āĻāĻ•āϟা StringBuilder āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻ›ো। āϏ্āĻŦাāĻ­াāĻŦিāĻ•āĻ­াāĻŦে āĻ•āϰāϤে āĻ—েāϞে āϞিāĻ–āϤে āĻšā§Ÿ: val builder = StringBuilder() builder.append("Hello, ") builder.append("World!") println(builder.toString()) āĻāĻ–āύ, Lambda with Receiver āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϞে āĻāϰāĻ•āĻŽ āĻšāĻŦে: val message = buildString { append("Hello, ") append("World!") } println(message) āĻ•ি āϞāĻ•্āώ্āϝ āĻ•āϰāϞে? append() āĻ•āϰāϤে āĻ—ি⧟ে āφāϰ builder. āϞিāĻ–āϤে āĻšā§Ÿāύি! āĻ­িāϤāϰে āϏāϰাāϏāϰি append() āĻ•āϞ āĻ•āϰা āϝাāϚ্āĻ›ে। āĻ•াāϰāĻŖ, buildString āĻāĻ•āϟা Lambda with Receiver āĻĢাংāĻļāύ — āϝাāϰ āĻ­িāϤāϰে StringBuilder āϤোāĻŽাāϰ āϜāύ্āϝ Receiver āĻšā§Ÿে āĻ—েāĻ›ে। āϤাāχ āϤুāĻŽি āϏāϰাāϏāϰি āϤাāϰ āĻĢাংāĻļāύ ( append , toString āχāϤ্āϝাāĻĻি) āĻ•āϞ āĻ•āϰāϤে āĻĒাāϰāĻ›ো। āϤাāĻšāϞে āϏংāĻ•্āώেāĻĒে āĻŦāϞি: āĻŦিāώ⧟ āĻŦ্āϝাāĻ–্āϝা Receiver āϝাāϰ āĻ“āĻĒāϰ āĻ•াāϜ āĻ•āϰāĻŦো (āϝেāĻŽāύ...

Android Jetpack Compose Dependency List & Usage

  Jetpack Compose āĻšāϞ Android UI Toolkit , āϝা Declarative UI āϤৈāϰিāϰ āϜāύ্āϝ āĻŦ্āϝāĻŦāĻšৃāϤ āĻšāϝ়। āĻāϟি XML-āĻāϰ āĻĒāϰিāĻŦāϰ্āϤে Kotlin-āĻ­িāϤ্āϤিāĻ• UI āĻ•āĻŽ্āĻĒোāϜেāĻŦāϞ āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে। Jetpack Compose āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāϞে āĻŦিāĻ­িāύ্āύ āĻĄিāĻĒেāύ্āĻĄেāύ্āϏি āĻĒ্āϰ⧟োāϜāύ āĻšā§Ÿ, āϝা āύিāϚে āĻŦিāϏ্āϤাāϰিāϤ āĻĻেāĻ“ā§Ÿা āĻšāϞো। ā§§. Jetpack Compose BOM (Bill of Materials) 📌 āĻāϟি āϏāĻŽāϏ্āϤ Compose āϞাāχāĻŦ্āϰেāϰিāϰ āĻ­াāϰ্āϏāύ āĻŽ্āϝাāύেāϜ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে। dependencies { implementation platform('androidx.compose:compose-bom:2024.03.00') } 🔹 āĻŦ্āϝāĻŦāĻšাāϰ: BOM āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϞে āφāϞাāĻĻাāĻ­াāĻŦে āĻĒ্āϰāϤিāϟি āϞাāχāĻŦ্āϰেāϰিāϰ āĻ­াāϰ্āϏāύ āωāϞ্āϞেāĻ– āĻ•āϰāϤে āĻšā§Ÿ āύা āĻļুāϧুāĻŽাāϤ্āϰ platform() āĻĻি⧟ে BOM āĻ…্āϝাāĻĄ āĻ•āϰāϞে āϏāĻŽāϏ্āϤ Compose āϞাāχāĻŦ্āϰেāϰি āφāĻĒāĻĄেāϟ āĻĨাāĻ•āĻŦে ⧍. Core Compose Dependencies āĻāχ āĻĄিāĻĒেāύ্āĻĄেāύ্āϏিāĻ—ুāϞো @Composable āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻāĻŦং UI āϤৈāϰি āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে। dependencies { implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.material3:material3' implementation 'androidx.compose.ui:ui-tooling-preview' debugImplementation 'androidx.compose.ui:ui-tooli...

🛠️ WorkManager - āĻ…্āϝাāύ্āĻĄ্āϰāϝ়েāĻĄে āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āĻ•াāϜ āϏāĻšāϜে āĻš্āϝাāύ্āĻĄেāϞ āĻ•āϰুāύ! 🤖

  🛠️ WorkManager - āĻ…্āϝাāύ্āĻĄ্āϰāϝ়েāĻĄে āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āĻ•াāϜ āϏāĻšāϜে āĻš্āϝাāύ্āĻĄেāϞ āĻ•āϰুāύ! 🤖 WorkManager āĻšāϞো Android Jetpack-āĻāϰ āĻāĻ•āϟি āĻļāĻ•্āϤিāĻļাāϞী API, āϝা āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āϟাāϏ্āĻ• (āϝেāĻŽāύ āĻĄাāϟা āφāĻĒāϞোāĻĄ, āϞোāĻ•াāϞ āĻĄাāϟাāĻŦেāϏ āφāĻĒāĻĄেāϟ, āĻŦা āϏাāϰ্āĻ­াāϰ āĻĨেāĻ•ে āύāϤুāύ āĻĄাāϟা āφāύāϤে) āύিāϰাāĻĒāĻĻ āĻ“ āύিāϰ্āĻ­āϰāϝোāĻ—্āϝāĻ­াāĻŦে āϚাāϞাāϝ়। 🔍 āĻ•েāύ WorkManager āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ? ✅ āĻŦ্āϝাāϟাāϰি āĻ…āĻĒāϟিāĻŽাāχāϜেāĻļāύ - āĻ…্āϝাāύ্āĻĄ্āϰāϝ়েāĻĄেāϰ Doze āĻŽোāĻĄ āĻāĻŦং āĻŦ্āϝাāϟাāϰি āϏীāĻŽাāĻŦāĻĻ্āϧāϤা āĻŽাāύিāϝ়ে āĻ•াāϜ āĻ•āϰে ✅ āĻ…āĻĢāϞাāχāύ āĻŽোāĻĄে āĻ•াāϜ āĻ•āϰāϤে āĻĒাāϰে - āχāύ্āϟাāϰāύেāϟ āύা āĻĨাāĻ•āϞেāĻ“ āĻ•াāϜ āϏāĻŽ্āĻĒāύ্āύ āĻ•āϰে ✅ āĻĄিāĻ­াāχāϏ āϰিāϏ্āϟাāϰ্āϟ āĻšāϞেāĻ“ āĻ•াāϜ āϚাāϞু āĻĨাāĻ•ে ✅ āĻĒূāϰ্āĻŦ āĻļāϰ্āϤ (Constraints) āϏেāϟ āĻ•āϰা āϝাāϝ় - āϝেāĻŽāύ Wi-Fi āĻ•াāύেāĻ•āĻļāύ āĻĨাāĻ•āϞে āĻ•াāϜ āϚাāϞাāύো 📌 WorkManager āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? 1️⃣ āφāĻĒāύি WorkRequest āϤৈāϰি āĻ•āϰāĻŦেāύ (āĻāĻ•āϟি āύিāϰ্āĻĻিāώ্āϟ āĻ•াāϜ) 2️⃣ āĻāϟি WorkManager āĻ•ে āĻĻেāĻŦেāύ 3️⃣ WorkManager āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄে āĻ•াāϜāϟি āϚাāϞাāĻŦে 4️⃣ āĻ•াāϜāϟি āϏāĻĢāϞ / āĻŦ্āϝāϰ্āĻĨ / āĻĒুāύāϰা⧟ āϚেāώ্āϟা āĻšāĻŦে 💡 WorkManager āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰাāϰ āϧাāĻĒ 1️⃣ WorkManager āĻĄিāĻĒেāύ্āĻĄেāύ্āϏি āĻ…্āϝাāĻĄ āĻ•āϰুāύ āφāĻĒāύাāϰ build.gradle (Module: app) āĻĢাāχāϞে āϝোāĻ— āĻ•āϰুāύ: dependencies { implementation "androidx.work:work-runtime:2.8.1" } 2️⃣...

Surface āĻ•ী āĻāĻŦং āĻāϟি Jetpack Compose-āĻ āĻ•েāύ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ? 🏗️

  Surface āĻ•ী āĻāĻŦং āĻāϟি Jetpack Compose-āĻ āĻ•েāύ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ? 🏗️ Jetpack Compose-āĻ Surface āĻšāϞো āĻāĻ•āϟি āĻ­িāϜ্āϝুāϝ়াāϞ āĻ•āύ্āϟেāχāύাāϰ āϝা UI-āĻāϰ āĻŦিāĻ­িāύ্āύ āĻ…ংāĻļāĻ•ে āĻĄিāϜাāχāύ āĻ“ āϏ্āϟাāχāϞিং āĻ•āϰāϤে āĻŦ্āϝāĻŦāĻšৃāϤ āĻšāϝ়। āĻāϟি āĻŽূāϞāϤ āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āϰāĻ™, āĻļ্āϝাāĻĄো, āĻ•াāϰ্āύাāϰ āϰেāĻĄিāϝ়াāϏ, āχāϞেāĻ­েāĻļāύ āχāϤ্āϝাāĻĻি āύি⧟āύ্āϤ্āϰāĻŖ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে। āĻāĻ•āϟি āϏাāϧাāϰāĻŖ āĻŦ্āϝাāĻ–্āϝা 🎨 āĻ­াāĻŦুāύ āφāĻĒāύি āĻāĻ•āϟি āĻĒেāχāύ্āϟিং āĻ•āϰāϤে āϝাāϚ্āĻ›েāύ। āĻĒেāχāύ্āϟিং āĻ•āϰাāϰ āϜāύ্āϝ āĻĒ্āϰāĻĨāĻŽে āφāĻĒāύাāϰ āĻāĻ•āϟি āĻ•্āϝাāύāĻ­াāϏ āĻĻāϰāĻ•াāϰ āϝেāĻ–াāύে āφāĻĒāύি āĻĄিāϜাāχāύ āφঁāĻ•āϤে āĻĒাāϰāĻŦেāύ। Surface āĻšāϞো āϏেāχ āĻ•্āϝাāύāĻ­াāϏ , āϝেāĻ–াāύে āφāĻĒāύি āϟেāĻ•্āϏāϟ, āĻŦাāϟāύ, āφāχāĻ•āύ, āχāĻŽেāϜ āχāϤ্āϝাāĻĻি āĻŦāϏাāϤে āĻĒাāϰেāύ। Surface-āĻāϰ āĻĒ্āϰāϧাāύ āĻ•াāϜāĻ—ুāϞো 🛠️ āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āϰāĻ™ āϏেāϟ āĻ•āϰা āĻ›াāϝ়া (elevation) āϝোāĻ— āĻ•āϰা āĻĒ্āϰাāύ্āϤ (corner radius) āĻ—োāϞ āĻ•āϰা āĻŦāϰ্āĻĄাāϰ āϝোāĻ— āĻ•āϰা āĻ•āύāϟেāύ্āϟ āĻ•āύ্āϟেāχāύাāϰ āĻšিāϏেāĻŦে āĻ•াāϜ āĻ•āϰা Surface-āĻāϰ āϏāĻšāϜ āωāĻĻাāĻšāϰāĻŖ: @Composable fun SimpleSurfaceExample() { Surface( modifier = Modifier.padding(16.dp), color = Color.LightGray, shadowElevation = 8.dp, shape = RoundedCornerShape(12.dp) ) { Text( text = "Hello, Surface!", m...

🚀 DSL (Domain-Specific Language) – Brain-Friendly Explanation!

  🚀 DSL (Domain-Specific Language) – Brain-Friendly Explanation! DSL āĻŽাāύে "Domain-Specific Language" , āϝা āĻ•োāύো āύিāϰ্āĻĻিāώ্āϟ āĻ•াāϜেāϰ āϜāύ্āϝ āϤৈāϰি āĻāĻ•āϟি āĻŦিāĻļেāώ āĻ­াāώা। āϏāĻšāϜ āĻ•āϰে āĻŦāϞāϞে, DSL āĻšāϞ āĻāĻŽāύ āĻāĻ•āϟা āĻ›োāϟ āĻĒ্āϰোāĻ—্āϰাāĻŽিং āĻ­াāώা āĻŦা āĻ•োāĻĄ āϏ্āϟাāχāϞ , āϝা āύিāϰ্āĻĻিāώ্āϟ āĻ•াāϜ āϏāĻšāϜে āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে। 💡 āĻŽāύে āϰাāĻ–াāϰ āϟ্āϰিāĻ•: 👉 General Language (GL) = āϏāĻŦāĻ•িāĻ›ু āĻ•āϰāϤে āĻĒাāϰে (āϝেāĻŽāύ: Java, Kotlin, Python)। 👉 Domain-Specific Language (DSL) = āύিāϰ্āĻĻিāώ্āϟ āĻ•াāϜেāϰ āϜāύ্āϝ āϤৈāϰি (āϝেāĻŽāύ: SQL, HTML, Jetpack Compose-āĻāϰ LazyColumn DSL)। đŸŽ¯ āĻŦাāϏ্āϤāĻŦ āϜীāĻŦāύেāϰ āωāĻĻাāĻšāϰāĻŖ 🔹 General-Purpose Language (GL) vs DSL General Language (GL) Domain-Specific Language (DSL) Java, Kotlin, Python āϏāĻŦāĻ•িāĻ›ু āĻ•āϰāϤে āĻĒাāϰে SQL āĻļুāϧু Database Query āϚাāϞাāϤে āĻĒাāϰে XML āĻĻি⧟ে UI āĻŦাāύাāύো āϝা⧟, āĻ•িāύ্āϤু āĻ•āĻ িāύ Jetpack Compose DSL āĻĻি⧟ে UI āĻŦাāύাāύো āϏāĻšāϜ 🔹 DSL-āĻāϰ āϧāϰāύ DSL āĻĻুāχ āϰāĻ•āĻŽ āĻšā§Ÿ: 1️⃣ External DSL – āφāϞাāĻĻা āϏিāύāϟ্āϝাāĻ•্āϏ, āϝেāĻŽāύ SQL, HTML, Regular Expressions 2️⃣ Internal DSL – āĻŦিāĻĻ্āϝāĻŽাāύ āĻ­াāώাāϰ āĻŽāϧ্āϝেāχ āϤৈāϰি āĻ•āϰা āĻšā§Ÿ, āϝেāĻŽāύ Kotlin DSL, Jetpack Compose 🚀 Kotlin DSL (Internal D...

📌 Understanding item & items in Lazy Layout (Jetpack Compose) – Brain-Friendly Way 🧠

  📌 Understanding item & items in Lazy Layout (Jetpack Compose) – Brain-Friendly Way 🧠 Jetpack Compose-āĻāϰ LazyColumn āĻāĻŦং LazyRow āĻāĻŽāύ āĻāĻ•āϟা "Smart RecyclerView"-āĻāϰ āĻŽāϤো, āϝা āĻļুāϧু āϏ্āĻ•্āϰিāύে āĻĨাāĻ•া āφāχāϟেāĻŽāĻ—ুāϞো āϞোāĻĄ āĻ•āϰে, āĻĢāϞে āĻŽেāĻŽোāϰি āĻ–āϰāϚ āĻ•āĻŽ āĻšā§Ÿ āĻāĻŦং āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏ āĻ­াāϞো āĻšā§Ÿ। āĻ•িāύ্āϤু āϝāĻ–āύ āφāĻŽāϰা LazyColumn āĻŦা LazyRow āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰি, āϤāĻ–āύ āφāĻŽাāĻĻেāϰ item āφāϰ items āĻĢাংāĻļāύ āĻĻেāĻ–āϤে āĻĒাāχ। āĻāĻ—ুāϞো āĻ•ি? āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? āφāϏুāύ āϏāĻšāϜāĻ­াāĻŦে āĻŦুāĻি! 🔹 item vs items – āĻŽূāϞ āĻĒাāϰ্āĻĨāĻ•্āϝ āĻĢাংāĻļāύ āĻ•āĻ–āύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ? āĻ•াāϜ āĻ•ি? item {} āĻāĻ•āĻ• (āĻāĻ•āϟি āĻŽাāϤ্āϰ) āφāχāϟেāĻŽ āϝোāĻ— āĻ•āϰāϤে āĻļুāϧু āĻāĻ•āϟি āύিāϰ্āĻĻিāώ্āϟ āĻ•āĻŽ্āĻĒোāϜেāĻŦāϞ (UI āĻāϞিāĻŽেāύ্āϟ) āϝোāĻ— āĻ•āϰে items {} āĻāĻ•াāϧিāĻ• āφāχāϟেāĻŽ (āϞিāϏ্āϟ āĻŦা āĻ…্āϝাāϰে) āϝোāĻ— āĻ•āϰāϤে āĻāĻ•āϟি List āĻŦা Array āĻāϰ āϏāĻŽāϏ্āϤ āφāχāϟেāĻŽ āϞুāĻĒ āĻ•āϰে āĻĻেāĻ–া⧟ đŸŽ¯ Example 1: item {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āφāĻŽāϰা āϝāĻĻি āĻāĻ•āϟি āĻŽাāϤ্āϰ Text āφāχāϟেāĻŽ āĻĻেāĻ–াāϤে āϚাāχ, āϤাāĻšāϞে item {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻĒাāϰি। LazyColumn { item { Text(text = "This is a single item") } } ✅ āĻāĻ–াāύে āĻļুāϧুāĻŽাāϤ্āϰ āĻāĻ•āϟি āφāχāϟেāĻŽ āϏ্āĻ•্āϰāϞে āĻĻেāĻ–াāĻŦে। đŸŽ¯ Example 2: items {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āϝāĻ–āύ āφāĻŽাāĻĻেāϰ...

📌 Understanding item & items in Lazy Layout (Jetpack Compose) – Brain-Friendly Way 🧠

  📌 Understanding item & items in Lazy Layout (Jetpack Compose) – Brain-Friendly Way 🧠 Jetpack Compose-āĻāϰ LazyColumn āĻāĻŦং LazyRow āĻāĻŽāύ āĻāĻ•āϟা "Smart RecyclerView"-āĻāϰ āĻŽāϤো, āϝা āĻļুāϧু āϏ্āĻ•্āϰিāύে āĻĨাāĻ•া āφāχāϟেāĻŽāĻ—ুāϞো āϞোāĻĄ āĻ•āϰে, āĻĢāϞে āĻŽেāĻŽোāϰি āĻ–āϰāϚ āĻ•āĻŽ āĻšā§Ÿ āĻāĻŦং āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏ āĻ­াāϞো āĻšā§Ÿ। āĻ•িāύ্āϤু āϝāĻ–āύ āφāĻŽāϰা LazyColumn āĻŦা LazyRow āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰি, āϤāĻ–āύ āφāĻŽাāĻĻেāϰ item āφāϰ items āĻĢাংāĻļāύ āĻĻেāĻ–āϤে āĻĒাāχ। āĻāĻ—ুāϞো āĻ•ি? āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? āφāϏুāύ āϏāĻšāϜāĻ­াāĻŦে āĻŦুāĻি! 🔹 item vs items – āĻŽূāϞ āĻĒাāϰ্āĻĨāĻ•্āϝ āĻĢাংāĻļāύ āĻ•āĻ–āύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ? āĻ•াāϜ āĻ•ি? item {} āĻāĻ•āĻ• (āĻāĻ•āϟি āĻŽাāϤ্āϰ) āφāχāϟেāĻŽ āϝোāĻ— āĻ•āϰāϤে āĻļুāϧু āĻāĻ•āϟি āύিāϰ্āĻĻিāώ্āϟ āĻ•āĻŽ্āĻĒোāϜেāĻŦāϞ (UI āĻāϞিāĻŽেāύ্āϟ) āϝোāĻ— āĻ•āϰে items {} āĻāĻ•াāϧিāĻ• āφāχāϟেāĻŽ (āϞিāϏ্āϟ āĻŦা āĻ…্āϝাāϰে) āϝোāĻ— āĻ•āϰāϤে āĻāĻ•āϟি List āĻŦা Array āĻāϰ āϏāĻŽāϏ্āϤ āφāχāϟেāĻŽ āϞুāĻĒ āĻ•āϰে āĻĻেāĻ–া⧟ đŸŽ¯ Example 1: item {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āφāĻŽāϰা āϝāĻĻি āĻāĻ•āϟি āĻŽাāϤ্āϰ Text āφāχāϟেāĻŽ āĻĻেāĻ–াāϤে āϚাāχ, āϤাāĻšāϞে item {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻĒাāϰি। LazyColumn { item { Text(text = "This is a single item") } } ✅ āĻāĻ–াāύে āĻļুāϧুāĻŽাāϤ্āϰ āĻāĻ•āϟি āφāχāϟেāĻŽ āϏ্āĻ•্āϰāϞে āĻĻেāĻ–াāĻŦে। đŸŽ¯ Example 2: items {} āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āϝāĻ–āύ āφāĻŽাāĻĻেāϰ...

🚀 CoroutineScope in Jetpack Compose - āϏāĻšāϜ āĻ­াāώা⧟ āĻŦোāĻাāϰ āĻ—াāχāĻĄ

  🚀 CoroutineScope in Jetpack Compose - āϏāĻšāϜ āĻ­াāώা⧟ āĻŦোāĻাāϰ āĻ—াāχāĻĄ Jetpack Compose-āĻ CoroutineScope āĻšāϞো āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āϟাāϏ্āĻ• āϚাāϞাāύোāϰ āϜāύ্āϝ āĻŦিāĻļেāώāĻ­াāĻŦে āĻŦ্āϝāĻŦāĻšৃāϤ āĻāĻ•āϟি āϟুāϞ । āφāĻĒāύি āϝāĻĻি āĻāĻŽāύ āĻ•াāϜ āĻ•āϰāϤে āϚাāύ āϝা āĻĻীāϰ্āϘāϏāĻŽā§Ÿ āϚāϞāĻŦে (āϝেāĻŽāύ: API āĻ•āϞ, āĻĄাāϟাāĻŦেāϜ āĻ…āĻĒাāϰেāĻļāύ, āĻŦা āϟাāχāĻŽাāϰ āϚাāϞাāύো) āĻ•িāύ্āϤু UI āĻŦ্āϞāĻ• āĻ•āϰāĻŦে āύা , āϤাāĻšāϞে CoroutineScope āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāĻŦে! ✅ đŸ”Ĩ CoroutineScope āĻ•ী? āĻāĻ•āϟি CoroutineScope āĻŽূāϞāϤ Coroutine āϚাāϞাāύোāϰ āϜāύ্āϝ āĻāĻ•āϟি āĻ•āύ্āϟেāχāύাāϰ । āφāĻĒāύি āϝāĻ–āύ Coroutine āϚাāϞাāύ, āϤāĻ–āύ āϏেāϟা āĻāĻ•āϟি āύিāϰ্āĻĻিāώ্āϟ Scope-āĻāϰ āĻŽāϧ্āϝে āϚāϞāĻŦে । āĻ•েāύ āĻĻāϰāĻ•াāϰ? ✔ UI āĻŦ্āϞāĻ• āύা āĻ•āϰে āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄে āĻ•াāϜ āϚাāϞাāύোāϰ āϜāύ্āϝ ✔ āĻŦāĻĄ় āĻ•াāϜāĻ—ুāϞোāĻ•ে āφāϞাāĻĻা āĻĨ্āϰেāĻĄে āϚাāϞি⧟ে āĻ…্āϝাāĻĒāĻ•ে āĻĢাāϏ্āϟ āĻ•āϰাāϰ āϜāύ্āϝ ✔ āĻŽেāĻŽোāϰি āϞিāĻ• (Memory Leak) āĻ•āĻŽাāύোāϰ āϜāύ্āϝ đŸŽ¯ CoroutineScope Jetpack Compose-āĻ āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? Jetpack Compose-āĻ, Coroutine āϚাāϞাāύোāϰ āϜāύ্āϝ āϏাāϧাāϰāĻŖāϤ rememberCoroutineScope() āĻŦা LaunchedEffect() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻšā§Ÿ । ✅ 1️⃣ rememberCoroutineScope() - UI āχāĻ­েāύ্āϟেāϰ āϜāύ্āϝ āφāĻĒāύাāϰ UI-āϤে āϝāĻĻি āĻ•োāύো āĻŦোāϤাāĻŽ āϚাāĻĒāϞে Coroutine āϚাāϞাāϤে āϚাāύ , āϤাāĻšāϞে rememberCoroutineScope() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ। @Composable fun MyButt...

🚀 Modifiers in Jetpack Compose - āϏāĻšāϜ āĻ­াāώা⧟ āϏāĻŦ āĻ•িāĻ›ু!

  🚀 Modifiers in Jetpack Compose - āϏāĻšāϜ āĻ­াāώা⧟ āϏāĻŦ āĻ•িāĻ›ু! Jetpack Compose-āĻ Modifier āĻšāϞো āĻāĻŽāύ āĻāĻ•āϟি āĻļāĻ•্āϤিāĻļাāϞী āϟুāϞ, āϝা āφāĻĒāύাāĻ•ে UI āĻ•āĻŽ্āĻĒোāύেāύ্āϟেāϰ āφāĻ•াāϰ, āϏ্āϟাāχāϞ, āϞেāφāωāϟ, āχāύ্āϟাāϰāĻ…্āϝাāĻ•āĻļāύ āχāϤ্āϝাāĻĻি āĻ•াāϏ্āϟāĻŽাāχāϜ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে । 🎨✨ āφāĻĒāύি āϝāĻ–āύ Compose UI āĻŦাāύাāύ, āϤāĻ–āύ Modifier āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āϏāĻšāϜেāχ āĻ•āĻŽ্āĻĒোāύেāύ্āϟেāϰ āĻ“āĻĒāϰ āĻŦিāĻ­িāύ্āύ āĻāĻĢেāĻ•্āϟ, āĻĒāϜিāĻļāύিং, āϏ্āϟাāχāϞিং āχāϤ্āϝাāĻĻি āĻĒ্āϰ⧟োāĻ— āĻ•āϰāϤে āĻĒাāϰেāύ āĻŦিāύা āĻাāĻŽেāϞা⧟! ✅ đŸ”Ĩ Modifier āĻ•ী? Modifier āĻšāϞো Composable UI-āϤে āĻŦিāĻ­িāύ্āύ āĻĒāϰিāĻŦāϰ্āϤāύ āĻŦা āϏ্āϟাāχāϞ āϝোāĻ— āĻ•āϰাāϰ āĻāĻ•āϟি āĻĢাংāĻļāύ । āĻāϟি āϚেāχāύ āφāĻ•াāϰে (chaining) āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āϝা⧟, āĻŽাāύে āφāĻĒāύি āĻāĻ•াāϧিāĻ• Modifier āĻāĻ•āϏাāĻĨে āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻĒাāϰāĻŦেāύ! 📌 āωāĻĻাāĻšāϰāĻŖ: Text( text = "Hello Jetpack Compose!", modifier = Modifier .padding(16.dp) // 16dp āĻĒ্āϝাāĻĄিং āϝোāĻ— āĻ•āϰāĻŦে .background(Color.Cyan) // āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ āϏাāĻ‡ā§Ÿাāύ āĻ•āϰāĻŦে .border(2.dp, Color.Black) // 2dp āĻ•াāϞো āĻŦāϰ্āĻĄাāϰ āϝোāĻ— āĻ•āϰāĻŦে ) ✅ āĻāχ Modifier āĻ—ুāϞো āϚেāχāύ āφāĻ•াāϰে āĻ•াāϜ āĻ•āϰে ✅ Text-āĻāϰ āĻĒ্āϝাāĻĄিং, āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄ, āĻ“ āĻŦāϰ্āĻĄাāϰ āύিāϰ্āϧাāϰāĻŖ āĻ•āϰে đŸŽ¯ Modifiers-āĻāϰ āĻ•্āϝাāϟাāĻ—āϰি & āĻŦ্āϝাāĻ–্āϝা Jetpack Compose-āĻ Modifier āĻŦ...

DataStore āĻ•ি?

  DataStore āĻ•ি? DataStore āĻšāϞো SharedPreferences -āĻāϰ āĻāĻ•āϟি āφāϧুāύিāĻ• āĻŦিāĻ•āϞ্āĻĒ, āϝা Android Jetpack āϞাāχāĻŦ্āϰেāϰিāϰ āĻ…ংāĻļ। āĻāϟি āĻĄেāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰāϤে āĻ•ী-āĻŽাāύ (key-value) āĻĒে⧟াāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে, āĻ•িāύ্āϤু SharedPreferences -āĻāϰ āϤুāϞāύাāϝ় āĻ…āύেāĻ• āĻŦেāĻļি āĻĻāĻ•্āώ, āύিāϰাāĻĒāĻĻ āĻāĻŦং āφāϧুāύিāĻ•। āĻ•েāύ DataStore āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ? ☑ SharedPreferences-āĻāϰ āϏীāĻŽাāĻŦāĻĻ্āϧāϤা: āĻāϟি āϏিāĻ™্āĻ—েāϞ āĻĨ্āϰেāĻĄে (Single Thread) āĻŦ্āϞāĻ•িং āĻ•āϰে āĻ•াāϜ āĻ•āϰে, āϝাāϰ āĻĢāϞে āĻ…্āϝাāĻĒ āϞ্āϝাāĻ— āĻ•āϰāϤে āĻĒাāϰে। āĻĄেāϟা āĻ…্āϝাāϏিāύāĻ•্āϰোāύাāϏāϞি (Asynchronously) āϏংāϰāĻ•্āώāĻŖ āĻ•āϰা āϝাāϝ় āύা। āĻŦāĻĄ় āĻŦা āϜāϟিāϞ āĻĄেāϟাāϰ āϜāύ্āϝ āĻ•াāϰ্āϝāĻ•āϰ āύāϝ়। ☑ DataStore-āĻāϰ āϏুāĻŦিāϧা: ✅ āĻ…্āϝাāϏিāύāĻ•্āϰোāύাāϏ (Asynchronous) —āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄে āĻ•াāϜ āĻ•āϰে, āĻ…্āϝাāĻĒāĻ•ে āϏ্āϞো āĻ•āϰে āύা। ✅ āϟাāχāĻĒ-āϏেāĻĢ (Type-safe) —āĻĄেāϟা āϟাāχāĻĒ āĻŽেāύে āϚāϞে, āĻ•োāύো āĻ­ুāϞ āĻĄেāϟা āϏংāϰāĻ•্āώāĻŖ āĻšā§Ÿ āύা। ✅ āĻ•্āϝাāĻļিং āϏুāĻŦিāϧা —āĻĄেāϟা āĻĻ্āϰুāϤ āĻ…্āϝাāĻ•্āϏেāϏ āĻ•āϰা āϝাāϝ়। ✅ āĻĒ্āϰāĻļāϏ্āϤāϝোāĻ—্āϝ (Scalable) —āĻŦāĻĄ় āĻāĻŦং āϜāϟিāϞ āĻĄেāϟাāϰ āϜāύ্āϝ āωāĻĒāϝুāĻ•্āϤ। DataStore-āĻāϰ āϧāϰāύ DataStore āĻĻুāχ āϧāϰāύেāϰ: Preferences DataStore – āĻ•ী-āĻŽাāύ (key-value) āφāĻ•াāϰে āĻĄেāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰে। Proto DataStore – Protocol Buffers (protobuf) āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āϏ্āϟ্āϰাāĻ•āϚাāϰ্āĻĄ āĻĄেāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰে। Pr...

📌 Jetpack Compose-āĻ Navigation Stack āϏāĻšāϜāĻ­াāĻŦে āĻŦুāĻুāύ!

  📌 Jetpack Compose-āĻ Navigation Stack āϏāĻšāϜāĻ­াāĻŦে āĻŦুāĻুāύ! 🧠 āĻāĻ•āϟি āϏাāϧাāϰāĻŖ āωāĻĻাāĻšāϰāĻŖ āĻĻি⧟ে āĻ­াāĻŦুāύ: āφāĻĒāύি āϝāĻĻি YouTube āĻ…্āϝাāĻĒে āĻĨাāĻ•েāύ, āϤাāĻšāϞে āĻ•ী āĻšā§Ÿ? 🏠 āĻšোāĻŽ āϏ্āĻ•্āϰিāύ → đŸŽĨ āĻ­িāĻĄিāĻ“ āϏ্āĻ•্āϰিāύ → 📋 āĻ•āĻŽেāύ্āϟ āϏ্āĻ•্āϰিāύ āϝāĻĻি Back Button āϚাāĻĒেāύ, āϤাāĻšāϞে āĻ•ি āĻšāĻŦে? āφāĻĒāύি 📋 āĻ•āĻŽেāύ্āϟ āϏ্āĻ•্āϰিāύ āĻĨেāĻ•ে đŸŽĨ āĻ­িāĻĄিāĻ“ āϏ্āĻ•্āϰিāύে āĻĢিāϰāĻŦেāύ। āφāĻŦাāϰ Back āϚাāĻĒāϞে 🏠 āĻšোāĻŽ āϏ্āĻ•্āϰিāύে āĻĢিāϰāĻŦেāύ। 👉 āĻāϟি āĻšāϚ্āĻ›ে Navigation Stack! ✅ Navigation Stack āĻ•ী? Navigation Stack āĻāĻŽāύ āĻāĻ•āϟি āϏ্āϟ্āϝাāĻ• (Stack Data Structure) āϝেāĻ–াāύে Screen (Destination) āĻ—ুāϞো āϧাāĻĒে āϧাāĻĒে Push & Pop āĻšā§Ÿ! ✋ Stack-āĻāϰ āĻ•াāϜ āĻŦুāĻāϤে āĻ›োāϟ āωāĻĻাāĻšāϰāĻŖ āĻĻেāĻ–ুāύ: āĻ•্āϰি⧟াāĻ•āϞাāĻĒ Navigation Stack āĻŦ্āϝাāĻ–্āϝা navigate("ScreenB") [🏠 āĻšোāĻŽ] → [đŸŽĨ āĻ­িāĻĄিāĻ“] āύāϤুāύ āϏ্āĻ•্āϰিāύ Push (āϝোāĻ—) āĻšāϞো navigate("ScreenC") [🏠 āĻšোāĻŽ] → [đŸŽĨ āĻ­িāĻĄিāĻ“] → [📋 āĻ•āĻŽেāύ্āϟ] āφāϰেāĻ•āϟি āϏ্āĻ•্āϰিāύ Push āĻšāϞো Back Button [🏠 āĻšোāĻŽ] → [đŸŽĨ āĻ­িāĻĄিāĻ“] āϞাāϏ্āϟ āϏ্āĻ•্āϰিāύ Pop (āϏāϰি⧟ে āĻĢেāϞা) āĻšāϞো đŸ”Ĩ āĻāĻ­াāĻŦেāχ Navigation Stack āĻ•াāϜ āĻ•āϰে! ✅ Jetpack Compose-āĻ Navigation Stack āĻŦ্āϝāĻŦāĻšাāϰ Jetpack Compose-āĻ Navigation Component āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āϏāĻšāϜেāχ Nav...

🚀 ViewModel – āĻĢিāϚাāϰ āĻ“ āĻŦ্āϝāĻŦāĻšাāϰ (Brain-Friendly āĻŦ্āϝাāĻ–্āϝা!)

  🚀 ViewModel – āĻĢিāϚাāϰ āĻ“ āĻŦ্āϝāĻŦāĻšাāϰ (Brain-Friendly āĻŦ্āϝাāĻ–্āϝা!) đŸŽ¯ 🔍 ViewModel āĻ•ী? ViewModel āĻšāϞ Jetpack āϞাāχāĻŦ্āϰেāϰিāϰ āĻāĻ•āϟি āĻ•্āϞাāϏ, āϝা UI-āĻāϰ āϏাāĻĨে āϏāĻŽ্āĻĒāϰ্āĻ•িāϤ āĻĄাāϟা āϏংāϰāĻ•্āώāĻŖ āĻ“ āĻĒāϰিāϚাāϞāύা āĻ•āϰে, āϝাāϤে āϏ্āĻ•্āϰিāύ āϰিāĻĢ্āϰেāĻļ āĻŦা āĻ…্āϝাāĻ•্āϟিāĻ­িāϟি āϧ্āĻŦংāϏ āĻšāϞেāĻ“ āĻĄাāϟা āĻšাāϰি⧟ে āύা āϝা⧟। ✨ ViewModel-āĻāϰ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻĢিāϚাāϰāϏāĻŽূāĻš 1️⃣ UI-āĻāϰ āϜāύ্āϝ āĻĄাāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰে 👉 UI-āĻāϰ āϏাāĻĨে āϏāĻŽ্āĻĒāϰ্āĻ•িāϤ āĻĄাāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰāϤে ViewModel āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻšā§Ÿ, āϝাāϤে āϏ্āĻ•্āϰিāύ āϘোāϰাāϞেāĻ“ (Configuration Change) āĻĄাāϟা āĻšাāϰা⧟ āύা। āωāĻĻাāĻšāϰāĻŖ: class CounterViewModel : ViewModel() { var count by mutableStateOf(0) private set fun increment() { count++ } } ➡️ āĻāĻ–াāύে ViewModel "count" āĻĄাāϟা āϏংāϰāĻ•্āώāĻŖ āĻ•āϰāĻ›ে, āϝা UI-āĻāϰ āϏাāĻĨে āϏংāϝুāĻ•্āϤ āĻĨাāĻ•āĻŦে। 2️⃣ Configuration Change āϟিāĻ•ে āĻĨাāĻ•āϤে āĻĒাāϰে 👉 āĻ…āύ্āϝ āĻ•োāύো āĻ•্āϞাāϏ āĻŦা āĻ­েāϰি⧟েāĻŦāϞ āϏāϰাāϏāϰি UI-āϤে āϏংāϰāĻ•্āώāĻŖ āĻ•āϰāϞে āϏ্āĻ•্āϰিāύ āϘোāϰাāύোāϰ (orientation change) āϏāĻŽā§Ÿ āĻĄাāϟা āĻšাāϰি⧟ে āϝাāĻŦে। āĻ•িāύ্āϤু ViewModel āĻŦ্āϝāĻŦāĻšাāϰেāϰ āĻĢāϞে āĻĄাāϟা āϟিāĻ•ে āĻĨাāĻ•āĻŦে। ✔️ āϝেāĻŽāύ: @Composable fun CounterScreen(viewModel: CounterViewModel = viewModel()) { Column { ...

Jetpack Compose Timing To Learn

  🏠 Phase 1: Foundation Building (Manual Learning) ✅ Core Concepts (Do These Manually) 📚 Learn basic Composables ⚖️ Understand state management 🌀 Practice basic layouts ✏️ Write simple UIs yourself 🤖 AI Role : Ask for explanations and concept clarification ⚒ Basic Projects (Build These Yourself) ✏️ Simple Todo app đŸ’ŗ Basic calculator 👤 Profile screen 🤖 AI Role : Review your code and suggest improvements đŸ’Ē Phase 2: Intermediate Learning (AI-Assisted) ⚙️ Complex UI Components ✏️ Write the basic structure yourself 🤖 Use AI to: 📝 Get layout suggestions 🌟 Learn best practices 🔍 Understand different approaches 🌐 State Management ✏️ Implement basic state yourself 🤖 Use AI for: 🌀 Complex state patterns 📚 ViewModel integration ⚡ Side effects handling đŸ’ģ Practice Projects ☁️ Weather app 📝 Note-taking app ✏️ Start yourself, then: 🤖 Ask AI for code reviews ⚙️ Get suggestions for improvements 🔍 Learn alternative implementations ...

Jetpack Compose Complete Roadmap 2025

  Jetpack Compose Complete Roadmap 1. 🏗️ Compose Basics & Core Concepts 🔹 Understanding Declarative UI 🛠️ Imperative vs Declarative programming 📱 UI as a function of state 🔄 Unidirectional data flow 🔹 Composable Functions 🎨 @Composable annotation 📛 Function naming conventions 🔄 Composable lifecycle đŸ”Ĩ Recomposition 🚀 Smart recomposition 🛑 Skippable recomposition 🏗️ Stability 🔹 Basic UI Elements 📝 Text, 🔘 Button, đŸ–ŧ️ Image, ⭐ Icon, ✏️ TextField, 🎨 Surface, 🃏 Card ✅ Checkbox, đŸ“ģ RadioButton, 🔁 Switch, 🎚️ Slider, 🔄 ProgressIndicator, 🚀 FloatingActionButton 2. 📐 Layout System 🔹 Basic Layouts 📏 Column, 📏 Row, 🔲 Box, 🔲 BoxWithConstraints, đŸ”ŗ Spacer 🔹 Layout Modifiers 📏 Size modifiers (width, height, size) đŸ“Ļ Padding modifiers 📏 fillMaxWidth/Height/Size ⚖️ Weight, 🔲 aspectRatio, 🏗️ wrapContentSize, 📍 offset, đŸ–ŧ️ matchParentSize 🔹 Arrangement & Alignment ↔️ horizontalArrangement, ↕️ verticalArrangement 📍 ho...

verticalArrangement āĻ“ horizontalAlignment āĻ•ি?

  📌 verticalArrangement āĻ“ horizontalAlignment āĻ•ি? 🤔 Kotlin-āĻāϰ Jetpack Compose -āĻ āϝāĻ–āύ āφāĻŽāϰা Column āĻŦা Row āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰি, āϤāĻ–āύ āĻ•িāĻ­াāĻŦে Child (āĻŦাāϚ্āϚা) āφāχāϟেāĻŽāĻ—ুāϞোāϰ āĻ…āĻŦāϏ্āĻĨাāύ (Positioning) āĻšāĻŦে , āϤা āĻ•āύ্āϟ্āϰোāϞ āĻ•āϰāϤে verticalArrangement āĻ“ horizontalAlignment āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻšā§Ÿ। āφāϏুāύ, āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āϚেāώ্āϟা āĻ•āϰি! 🧠💡 đŸŽ¯ 1️⃣ verticalArrangement (āωāϞ্āϞāĻŽ্āĻŦে āφāχāϟেāĻŽ āϏাāϜাāύো) 📌 āϝāĻ–āύ Column (āωāϞ্āϞāĻŽ্āĻŦ Layout) āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰি, āϤāĻ–āύ āφāχāϟেāĻŽāĻ—ুāϞো āĻ•িāĻ­াāĻŦে āωāĻĒāϰে-āύিāϚে āϏাāϜাāύো āĻšāĻŦে āϤা āύি⧟āύ্āϤ্āϰāĻŖ āĻ•āϰে verticalArrangement । 👉 āĻāϟি āĻŽূāϞāϤ Column-āĻāϰ āĻ­িāϤāϰে Child āĻ—ুāϞোāϰ āϏ্āĻĒেāϏিং āĻ“ āĻ…āĻŦāϏ্āĻĨাāύ āĻ িāĻ• āĻ•āϰে। 🚀 āĻŽূāϞ Arrangement Options: 1️⃣ Arrangement.Top → āϏāĻŦ āφāχāϟেāĻŽ āωāĻĒāϰে (Top) āĻĨাāĻ•āĻŦে। 2️⃣ Arrangement.Center → āϏāĻŦ āφāχāϟেāĻŽ āĻŽাāĻāĻ–াāύে (Center) āĻĨাāĻ•āĻŦে। 3️⃣ Arrangement.Bottom → āϏāĻŦ āφāχāϟেāĻŽ āύিāϚে (Bottom) āĻĨাāĻ•āĻŦে। 4️⃣ Arrangement.SpaceEvenly → āϏāĻŦ āφāχāϟেāĻŽেāϰ āĻŽাāĻে āϏāĻŽাāύ āϏ্āĻĒেāϏ (Equal Space) āĻĨাāĻ•āĻŦে। 5️⃣ Arrangement.SpaceAround → āĻĒ্āϰাāύ্āϤেāϰ āĻŦাāχāϰে āĻ“ āĻ­িāϤāϰে āϏ্āĻĒেāϏ āĻĨাāĻ•āĻŦে। 6️⃣ Arrangement.SpaceBetween → āĻĒ্āϰāĻĨāĻŽ āĻ“ āĻļেāώ āφāχāϟেāĻŽেāϰ āĻŽাāĻে āϏāĻŽাāύ āϏ্āĻĒেāϏ āĻĨাāĻ•āĻŦে। ✨ Column-āĻ ...

Compose Runtime-āĻāϰ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ API āĻ“ āĻĢিāϚাāϰ

  đŸŽ¯ Compose Runtime-āĻāϰ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ API āĻ“ āĻĢিāϚাāϰ ✅ ā§§. mutableStateOf() → āϏ্āϟেāϟ āϟ্āϰ্āϝাāĻ• āĻ•āϰাāϰ āϜāύ্āϝ var count by mutableStateOf(0) 📌 āĻāϟি āĻ•ী āĻ•āϰে? āĻāϟি Compose Runtime-āĻ•ে āĻŦāϞে āĻĻে⧟ āϝে, count āϝāĻ–āύ āĻĒāϰিāĻŦāϰ্āϤিāϤ āĻšāĻŦে, āϤāĻ–āύ āϏংāĻļ্āϞিāώ্āϟ UI āĻ…ংāĻļ āφāĻĒāĻĄেāϟ āĻ•āϰāϤে āĻšāĻŦে। āĻāϟি Recomposition trigger āĻ•āϰে āĻļুāϧুāĻŽাāϤ্āϰ āĻĒāϰিāĻŦāϰ্āϤিāϤ āĻ…ংāĻļেāϰ āϜāύ্āϝ। ✅ ⧍. remember() → āϰি-āĻ•āĻŽ্āĻĒোāϜিāĻļāύেāϰ āϏāĻŽā§Ÿ āϏ্āϟেāϟ āϏংāϰāĻ•্āώāĻŖ āĻ•āϰাāϰ āϜāύ্āϝ var count by remember { mutableStateOf(0) } 📌 āĻāϟি āĻ•ী āĻ•āϰে? āϝāĻ–āύ UI āϰি-āĻ•āĻŽ্āĻĒোāϜ āĻšā§Ÿ, āϤāĻ–āύ āφāĻ—েāϰ āϏ্āϟেāϟ āϧāϰে āϰাāĻ–ে । āĻ…āύ্āϝāĻĨা⧟, āĻĒ্āϰāϤিāĻŦাāϰ āĻ•āĻŽ্āĻĒোāϜিāĻļāύ āĻšāϞে count āφāĻŦাāϰ ā§Ļ āĻšā§Ÿে āϝেāϤ! ✅ ā§Š. @Stable → āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏ āĻŦা⧜াāύোāϰ āϜāύ্āϝ @Stable class User(val name: String) 📌 āĻāϟি āĻ•ী āĻ•āϰে? Compose āĻŦুāĻāϤে āĻĒাāϰে User āĻ…āĻŦāϜেāĻ•্āϟেāϰ āĻ•োāύ āĻ…ংāĻļ āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāĻŦে, āĻ•োāύāϟা āĻšāĻŦে āύা। āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ recomposition āĻā§œা⧟, āĻĢāϞে UI āϏ্āĻŽুāĻĨ āĻĨাāĻ•ে! ✅ ā§Ē. @Immutable → āĻ…āĻĒāϰিāĻŦāϰ্āϤāύāĻļীāϞ āĻ…āĻŦāϜেāĻ•্āϟ āĻ…āĻĒ্āϟিāĻŽাāχāϜ āĻ•āϰাāϰ āϜāύ্āϝ @Immutable data class Product(val id: Int, val name: String) 📌 āĻāϟি āĻ•ী āĻ•āϰে? Product āĻ•āĻ–āύো āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāĻŦে āύা, āϤাāχ Compose āĻāϟাāĻ•ে āĻĻ্āϰুāϤ āĻĒ্āϰāϏেāϏ āĻ•āϰāϤে āĻĒাāϰে! Immutable Obj...

Compose Runtime - āϏāĻŽ্āĻĒূāϰ্āĻŖ āĻŦ্āϝāĻŦāĻšাāϰ āϏāĻšāϜ āĻ­াāώা⧟!

  🧠 Compose Runtime - āϏāĻŽ্āĻĒূāϰ্āĻŖ āĻŦ্āϝāĻŦāĻšাāϰ āϏāĻšāϜ āĻ­াāώা⧟! 🚀 Jetpack Compose Runtime āĻšāϞ Compose-āĻāϰ āχāĻž্āϜিāύ , āϝা UI-āĻ•ে āϏ্āĻŽাāϰ্āϟāĻ­াāĻŦে āφāĻĒāĻĄেāϟ āĻ•āϰে । āĻ িāĻ• āϝেāĻŽāύ āĻ—ুāĻ—āϞ āĻŽ্āϝাāĻĒে āϞাāχāĻ­ āϞোāĻ•েāĻļāύ āφāĻĒāĻĄেāϟ āĻšā§Ÿ, āĻ িāĻ• āϤেāĻŽāύāχ UI āφāĻĒāĻĄেāϟ āĻšā§Ÿ āĻļুāϧুāĻŽাāϤ্āϰ āϝেāĻ–াāύে āĻĻāϰāĻ•াāϰ! ✅ ā§§. āĻĒ্āϰāĻĨāĻŽে Gradle-āĻ āϝুāĻ•্āϤ āĻ•āϰুāύ āφāĻĒāύাāϰ build.gradle (Module: app) āĻĢাāχāϞে āύিāϚেāϰ āĻĄিāĻĒেāύāĻĄেāύ্āϏি āϝোāĻ— āĻ•āϰুāύ: dependencies { implementation("androidx.compose.runtime:runtime:1.5.4") } 👉 āĻāϟি āĻ•ী āĻ•āϰāĻŦে? āĻāϟি Compose Runtime āϞাāχāĻŦ্āϰেāϰি āĻĄাāωāύāϞোāĻĄ āĻ•āϰāĻŦে, āϝা State Management, Recomposition, āĻāĻŦং UI Optimization āĻĒāϰিāϚাāϞāύা āĻ•āϰে। ✅ ⧍. State āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে āĻļুāϧুāĻŽাāϤ্āϰ āĻĒ্āϰ⧟োāϜāύী⧟ UI āφāĻĒāĻĄেāϟ āĻ•āϰুāύ Compose Runtime āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϞে āĻ•োāύো UI āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে, āĻļুāϧুāĻŽাāϤ্āϰ āĻĒ্āϰ⧟োāϜāύী⧟ āĻ…ংāĻļ āφāĻĒāĻĄেāϟ āĻšā§Ÿ ! đŸŽ¯ Button Counter (State Tracking) import androidx.compose.runtime.* import androidx.compose.material3.* @Composable fun CounterApp() { var count by remember { mutableStateOf(0) } // đŸ”Ĩ āϏ্āĻŽাāϰ্āϟ āϏ্āϟেāϟ Button(onClick = { count++ }) { Text(text = "Clicked $count times") ...

Compose Runtime āϏāĻšāϜ āĻ­াāώা⧟

  🧠 Compose Runtime āϏāĻšāϜ āĻ­াāώা⧟ Jetpack Compose Runtime āĻšāϞ Compose-āĻāϰ āχāĻž্āϜিāύ , āϝা UI-āĻ•ে āϏ্āĻŽাāϰ্āϟāĻ­াāĻŦে state changes āĻ…āύুāϝা⧟ী āφāĻĒāĻĄেāϟ āĻ•āϰে । āĻāϟি āĻ িāĻ• āϝেāύ 🏎️ āĻāĻ•āϟি āϏ্āĻŽাāϰ্āϟ āĻ—া⧜িāϰ āχāĻž্āϜিāύেāϰ āĻŽāϤো , āϝা āϏāĻŦāϏāĻŽā§Ÿ āϰাāϏ্āϤাāϰ (UI) āĻ…āĻŦāϏ্āĻĨা āĻŦুāĻে āύিāϜে āĻĨেāĻ•েāχ āĻ…্āϝাāĻĄāϜাāϏ্āϟ āĻ•āϰে āύে⧟, āϝাāϤে āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ āĻļāĻ•্āϤি āύāώ্āϟ āύা āĻšā§Ÿ! 🎭 Compose Runtime āĻ•ীāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? 1️⃣ State tracking đŸ•ĩ️‍♂️ → āĻāϟি UI-āĻāϰ state (mutableStateOf) āĻ—ুāϞো āϟ্āϰ্āϝাāĻ• āĻ•āϰে। 2️⃣ Smart UI updates 🧠 → āĻļুāϧু āϝেāϏāĻŦ UI āĻĒāϰিāĻŦāϰ্āϤāύ āĻĻāϰāĻ•াāϰ , āĻļুāϧুāĻŽাāϤ্āϰ āϏেāĻ—ুāϞো Recompose āĻ•āϰে। 3️⃣ Performance optimization 🚀 → āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ UI redraw āĻā§œি⧟ে āϝা⧟, āĻĢāϞে āĻ…্āϝাāĻĒ āϏ্āĻŽুāĻĨ āĻĨাāĻ•ে। đŸ”Ĩ āĻāĻ•āϟি āϏāĻšāϜ āωāĻĻাāĻšāϰāĻŖ var count by remember { mutableStateOf(0) } Button(onClick = { count++ }) { Text("Clicked $count times") } 🔹 Compose Runtime āĻ•ীāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? ✅ āĻĒ্āϰāĻĨāĻŽāĻŦাāϰ āϝāĻ–āύ UI Draw āĻšāĻŦে , āϤāĻ–āύ count = 0 āĻĨাāĻ•āĻŦে। ✅ āϝāĻ–āύ Button-āĻ āĻ•্āϞিāĻ• āĻ•āϰāĻŦেāύ , count++ āĻšāĻŦে, āϤাāχ UI āφāĻĒāĻĄেāϟ āĻšāĻŦে। ✅ Compose Runtime āĻļুāϧু āϏেāχ Text āφāĻĒāĻĄেāϟ āĻ•āϰāĻŦে, āĻĒুāϰো āϏ্āĻ•্āϰিāύ āύ⧟! đŸŽ¯ āĻĒুāϰো āϏ্āĻ•্āϰিāύ āϰি-āĻĄ্āϰ āύা āĻ•āϰে, āĻļুāϧুāĻŽাāϤ্āϰ "Clicke...

Jetpack Compose āĻ Lifecycle-Aware Components āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻা

  Jetpack Compose āĻ Lifecycle-Aware Components āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻা (āĻŦাংāϞা⧟) Jetpack Compose āĻšāϞো Android UI āϤৈāϰিāϰ āύāϤুāύ Declarative āĻĒāĻĻ্āϧāϤি । āĻāϤে XML-āĻāϰ āĻŦāĻĻāϞে Composable āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে UI āϤৈāϰি āĻ•āϰা āĻšā§Ÿ। āĻ•িāύ্āϤু āĻāĻ•āϟা āĻĒ্āϰāĻļ্āύ āφāϏে— Composable āĻĢাংāĻļāύ āĻ—ুāϞো āĻ•āĻ–āύ Create āĻšā§Ÿ, āĻ•āĻ–āύ Destroy āĻšā§Ÿ, āφāϰ āĻāĻ—ুāϞো āĻ•ীāĻ­াāĻŦে Lifecycle-aware āĻšā§Ÿ? 🤔 🎭 Lifecycle āĻŦāϞāϞে āĻ•ী āĻŦোāĻা⧟? āĻāĻ•āϟা Activity āĻŦা Fragment āĻāϰ āϜāύ্āĻŽ (Created), āĻŦেঁāϚে āĻĨাāĻ•া (Started/Resumed), āφāϰ āϧ্āĻŦংāϏ (Destroyed) āĻšāĻ“ā§ŸাāĻ•ে āĻŦāϞা āĻšā§Ÿ Lifecycle । āϝেāĻŽāύ— Activity āĻ–ুāϞāϞে (onCreate) → UI āϤৈāϰি āĻšā§Ÿ āĻŦ্āϝাāĻ•āĻ—্āϰাāωāύ্āĻĄে āĻ—েāϞে (onPause) → āĻ•িāĻ›ু āĻŦāύ্āϧ āĻšā§Ÿ Destroy āĻšāϞে (onDestroy) → āĻŽেāĻŽāϰি āĻĢ্āϰি āĻšā§Ÿ āφāĻ—ে XML + ViewModel āĻĻি⧟ে āĻ•াāϜ āĻ•āϰāϞে LifecycleObserver āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāϤো। āĻ•িāύ্āϤু Jetpack Compose āĻ āĻ•েāĻŽāύ āĻšāĻŦে? 🌀 Jetpack Compose āĻ Lifecycle-Aware Components Jetpack Compose āĻāϰ Composable āĻĢাংāĻļāύ āĻ—ুāϞো āύিāϜেāϰা Lifecycle-aware āύ⧟! 😲 āϤাāĻšāϞে āĻ•ীāĻ­াāĻŦে āϤাāϰা Lifecycle-aware āĻšā§Ÿ? 🤔 🔑 āϏāĻŽাāϧাāύ – Jetpack Compose āĻāϰ āĻ•িāĻ›ু āϏ্āĻĒেāĻļাāϞ API āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāĻŦে! 🛠 Jetpack Compose āĻāϰ Lifecycle-Aware API āĻ—ুāϞো ✅ ā§§. re...