Posts

Showing posts with the label Android Studio

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...

Dependency কী এবং কেন প্রয়োজন?

  Dependency মানে হলো নির্ভরতা —একটি কোড বা সফটওয়্যার যখন অন্য একটি লাইব্রেরি, মডিউল, বা কোডের অংশের উপর নির্ভর করে, তখন সেটাই ডিপেন্ডেন্সি । সহজভাবে বললে, যদি আপনার অ্যাপের কিছু ফিচার কাজ করতে গেলে বাইরের কিছু কোড বা লাইব্রেরির প্রয়োজন হয়, তাহলে সেটাই আপনার ডিপেন্ডেন্সি । একটা মজার গল্প দিয়ে বোঝাই: ধরুন, আপনি একটা দারুণ চা বানানোর প্ল্যান করছেন । কিন্তু চা বানাতে গেলে আপনাকে চা পাতা, দুধ, চিনি, পানি, এবং চুলা লাগবে। এখানে— চা পাতা, দুধ, চিনি, পানি → আপনার ডিপেন্ডেন্সি চুলা → রান করার প্ল্যাটফর্ম আপনার হাতের কাজ → অ্যাকচুয়াল কোড যদি দুধ বা চিনি না থাকে, তাহলে চা বানানো কঠিন হয়ে যাবে। ঠিক একইভাবে, যদি আপনার অ্যাপে প্রয়োজনীয় ডিপেন্ডেন্সিগুলো না থাকে, তাহলে সেটা সঠিকভাবে রান করবে না । অ্যান্ড্রয়েড ও গ্রেডলে ডিপেন্ডেন্সি ব্যবহারের কারণ অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টে আমাদের অনেক দরকারি লাইব্রেরি ও ফাংশন থাকে যেগুলো বারবার লিখতে গেলে প্রচুর সময় লাগবে। তাই আমরা ডিপেন্ডেন্সি যোগ করি, যা মূলত অন্য কেউ তৈরি করেছে এবং আমরা সহজেই সেটা ব্যবহার করতে পারি। উদাহরণ: আপ...

Stack Trace: ব্রেইন-ফ্রেন্ডলি ব্যাখ্যা! 🧠🚀

  Stack Trace: ব্রেইন-ফ্রেন্ডলি ব্যাখ্যা! 🧠🚀 তুমি যখন Android অ্যাপে কোনো ক্রাশ বা ব্যাকএন্ড কোডে কোনো এরর পাও, তখন Stack Trace তোমার জন্য একটা ডিটেকটিভ রিপোর্ট হয়! এটা বলে দেয় কোথায় সমস্যা হয়েছে, কোন ফাইল বা লাইনে ঘটেছে, এবং কীভাবে এটি ঘটেছে । এখন, ধাপে ধাপে স্ট্যাক ট্রেস কী, কেন দরকার, আর কিভাবে বুঝতে হয় —এসব মজারভাবে শিখি! 🔹 Stack Trace কী? (সাধারণ ব্যাখ্যা) একটা প্রোগ্রাম যখন রান হয়, তখন সেটার বিভিন্ন ফাংশন (Methods) একটার পর একটা কল হয়। এগুলো একটা Stack (স্ট্যাক) এর মধ্যে জমা হয়। যখন কোনো এরর (Exception) হয়, তখন Stack Trace হলো সেই চিহ্ন যা বলে দেয়— ❌ "আমি কোথায় ক্রাশ করলাম!" ❌ "কোন লাইন ও কোন ফাংশন এই সমস্যার জন্য দায়ী!" এই Stack Trace প্রোগ্রামারের জন্য গুগল ম্যাপে লোকেশন মার্কারের মতো —এর মাধ্যমে বোঝা যায় কোন পথ ধরে কোড চলছিল এবং কোথায় গিয়েই ক্রাশ করল । 🔹 Stack Trace কিভাবে কাজ করে? (ধাপে ধাপে) ধরি, তুমি একটা Android অ্যাপ বানালে, যেখানে "Divide by Zero" সমস্যা আছে। public class MainActivity extends AppCompatActivity { ...

🤔 Scratch File – Android Studio-তে কী এবং কেন দরকার?

  🤔 Scratch File – Android Studio-তে কী এবং কেন দরকার? ধরুন , আপনি Android Studio-তে কাজ করছেন। হঠাৎ করে একটা নতুন কোড আইডিয়া মাথায় এলো, কিন্তু সেটা নিয়ে নতুন প্রোজেক্ট খুলতে চান না। অথবা, আপনি কোনো ছোট্ট টেস্ট কোড রান করে দেখতে চান, কিন্তু আলাদা ফাইল বা ক্লাস বানাতে ইচ্ছা করছে না। 🤯 🎯 এই পরিস্থিতিতে আপনার জন্য হিরো কে? 👉 Scratch File! 🦸‍♂️ 📌 Scratch File কী? Scratch File হলো এক ধরনের টেম্পোরারি ফাইল , যেখানে আপনি যেকোনো কোড লিখতে পারেন (Java, Kotlin, XML, SQL, JSON ইত্যাদি)। 📌 কাজের বৈশিষ্ট্য: ✅ নতুন প্রোজেক্ট বানানোর দরকার নেই ✅ বর্তমান প্রোজেক্টের ফাইল নষ্ট না করেই নতুন কোড টেস্ট করা যায় ✅ বন্ধ করলে আপনার সব Scratch File সংরক্ষিত থাকে ✅ অনেক ফরম্যাট সাপোর্ট করে (Java, Kotlin, JSON, SQL, HTML ইত্যাদি) 🎯 কেন Scratch File দরকার? পরিস্থিতি Scratch File কিভাবে কাজে আসবে? 🛠 নতুন কোড টেস্ট নতুন কোড লিখে রান করতে পারবেন, আলাদা ক্লাস বানানোর ঝামেলা নেই 🔍 API Response Check JSON/XML ডাটা চেক করতে পারবেন 🎯 SQL Query Test আপনার SQLite বা Room...

📜 Stack Trace: Android Studio-তে কীভাবে বোঝা যায়? 🤔

  📜 Stack Trace: Android Studio-তে কীভাবে বোঝা যায়? 🤔 আপনার যদি কখনও অ্যাপ ক্র্যাশ হয়, তাহলে "Stack Trace" নামের একগাদা লেখা দেখবেন! এটা আসলে বাগ ধরার ম্যাপ 🗺️, যা বলে দেয় "কোথায়, কেন, কীভাবে" আপনার কোড ভেঙেছে। চলুন সহজভাবে শিখি! 😃 🧐 Stack Trace কী? ➡️ Stack Trace হলো কোডের চলমান অবস্থার একটা রিপোর্ট, যেখানে লাইন-বাই-লাইন বলা থাকে কোন কোন মেথড কল হয়েছে এবং কোথায় অ্যাপ ক্র্যাশ হয়েছে। ➡️ এটা দেখতে অনেকটা ধাপে ধাপে সাজানো কল লিস্ট , যেখানে সবচেয়ে উপরের লাইনটাই ক্র্যাশের মূল কারণ! 🛠️ Stack Trace কীভাবে পড়ে বুঝবেন? এটা সাধারণত এরকম দেখায়👇 FATAL EXCEPTION: main Process: com.example.myapp, PID: 12345 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference at com.example.myapp.MainActivity.onCreate(MainActivity.java:23) at android.app.Activity.performCreate(Activity.java:8000) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1300) 🕵️ এটা ...

🔍 App Inspection in Android Studio: সহজ ও মজার ব্যাখ্যা!

  🔍 App Inspection in Android Studio: সহজ ও মজার ব্যাখ্যা! তুমি কি Android অ্যাপ ডেভেলপ করতে গিয়ে কখনো চিন্তা করেছ— ✅ "আমার অ্যাপের ভিতরে কী হচ্ছে?" ✅ "ডাটাবেজে কীভাবে ডাটা স্টোর হচ্ছে?" ✅ "লগ বা নেটওয়ার্ক রিকোয়েস্ট সঠিকভাবে যাচ্ছে কিনা?" ➡️ এই সব প্রশ্নের উত্তর জানতে, Android Studio-তে আছে "App Inspection" টুল! 🕵️‍♂️ 🔹 App Inspection কি? 👉 App Inspection হলো Android Studio-র এমন একটি টুল, যা দিয়ে রানিং অ্যাপের ভিতরের তথ্য দেখা যায়। ➡️ এটি ডাটাবেজ, Shared Preferences, নেটওয়ার্ক রিকোয়েস্ট, এবং Background Tasks ইত্যাদি ইন্সপেক্ট করতে দেয়। ✅ সহজ ভাষায় বললে, "App Inspection হলো তোমার অ্যাপের এক্স-রে মেশিন!" 📸 🔹 App Inspection দিয়ে কী কী করা যায়? ✅ 1. ডাটাবেজ (Database Inspector) চেক করা 📌 Room Database বা SQLite-এর ভিতরের ডাটা লাইভ আপডেটসহ দেখা যায়। 📌 Query চালিয়ে সরাসরি ডাটা পরিবর্তন করা যায়। ✅ 2. Shared Preferences দেখা 📌 অ্যাপে Shared Preferences-এ কী কী ডাটা সংরক্ষণ আছে, তা দেখে ডিবাগ করা যায়। ✅ 3. নেটওয়ার্ক...

📌 Android Studio Profiler: সহজ ভাষায় সব কিছু

  📌 Android Studio Profiler: সহজ ভাষায় সব কিছু 🤔 Android Studio Profiler কি? Android Studio Profiler হলো একটি টুল যা আপনার অ্যাপের পারফরম্যান্স ট্র্যাক এবং বিশ্লেষণ করার জন্য ব্যবহৃত হয়। এটি আপনাকে CPU, Memory, Network এবং Battery এর ব্যবহার পর্যবেক্ষণ করতে সাহায্য করে, যাতে আপনার অ্যাপের পারফরম্যান্স অপটিমাইজ করা যায়। ➡ সহজভাবে বললে, Profiler হলো একটা চশমা যার মাধ্যমে আপনি আপনার অ্যাপের ভিতরের সমস্ত জীবন্ত কার্যক্রম দেখতে পারেন, যেমন—কতটুকু মেমরি ব্যবহার হচ্ছে, সিপিইউ কতটা ব্যস্ত, নেটওয়ার্ক ট্র্যাফিক কেমন, ইত্যাদি। 🎯 Profiler কেন দরকার? ✅ অ্যাপের পারফরম্যান্স ঠিক রাখতে – Profiler আপনাকে আপনার অ্যাপের কোথায় সমস্যা হচ্ছে তা শনাক্ত করতে সাহায্য করে। ✅ দ্রুত বাগ সনাক্তকরণ – আপনি যেসব কার্যকলাপে সমস্যায় পড়ছেন, যেমন মেমরি লিক বা সিপিইউ অকার্যকর ব্যবহার, তা দ্রুত সনাক্ত করতে পারবেন। ✅ উন্নত পারফরম্যান্স নিশ্চিত করা – অ্যাপটিকে আরও দ্রুত, হালকা এবং শক্তিশালী করার জন্য প্রয়োজনীয় অপটিমাইজেশন করতে পারবেন। ✅ ব্যাটারি ব্যাকআপ বাড়ানো – অ্যাপের অপটিমাইজেশন করে ব্যাটারি জীব...

📌 Android Lint: সহজ ভাষায় সব কিছু

  📌 Android Lint: সহজ ভাষায় সব কিছু 🤔 Android Lint কি? Android Lint হলো একটি স্ট্যাটিক কোড অ্যানালাইসিস টুল যা আপনার Android অ্যাপের সোর্স কোড স্ক্যান করে বাগ, অপটিমাইজেশন সমস্যা, পারফরম্যান্স ইস্যু, নিরাপত্তা ঝুঁকি ও কোড স্টাইল সংক্রান্ত সমস্যা খুঁজে বের করে। ➡ সহজ করে বললে, Lint হলো একজন বুদ্ধিমান পরামর্শদাতা , যে আপনার কোড দেখে বলে: ✔ "এই জায়গায় ভুল আছে, ঠিক করো!" ✔ "এই জায়গায় আরও ভালোভাবে কোড লেখা যায়!" ✔ "এই জিনিসটি নতুন Android সংস্করণে সমর্থিত নয়!" 🎯 Android Lint কেন দরকার? ✅ বাগ ধরতে সাহায্য করে – আপনার অ্যাপে NullPointerException, Unused Resources, Memory Leaks এর মতো সমস্যা আগে থেকেই সনাক্ত করে। ✅ কোডের মান উন্নত করে – অব্যবহৃত বা অপ্রয়োজনীয় কোড, ভুলভাবে লেখা লজিক শনাক্ত করে। ✅ পারফরম্যান্স উন্নত করে – ধীরগতির (slow) বা অকার্যকর (inefficient) কোড খুঁজে বের করে। ✅ নিরাপত্তা ঝুঁকি চিহ্নিত করে – API মিসম্যাচ, ইনসিকিওর পারমিশন বা ডাটা এক্সপোজিং এর মতো সমস্যা ধরতে পারে। ✅ নতুন Android সংস্করণের সাথে সামঞ্জস্য রাখে – আপনার অ্যা...