Android

Android MVVM Pattern Tutorial

                               Android MVVM Pattern

MVVM -> Model, View , ViewModel (MVVM Pattern)
Model − এটা শুধু ডাটা ধরে রাখে, এখানে লজিকেল কোন কাজ করা হয় না।
ViewModel – লজিকেল কাজ গুলো এখানে করা হয় এবং এটা ভিউ ও মডেলের মধ্যে সংযোগ স্থাপন করে।
View – এপ্লিকেশনে আমরা যা দেখি তাই মূলত ভিউ।

আমাদের এই ডেমো প্রজেক্টের জন্য কটলিন, Architectural Component ব্যবহার করব।

https://developer.android.com/topic/libraries/architecture

আর্কিটেকচারাল কম্পোনেন্ট থেকে আমরা এখানে ভিউমডেল ব্যবহার করব, এখানেই আমাদের এপের লজিক, ডাটা ফেচ বা সেইভ করার কাজ করা হবে।

নিচের লিংকে ক্লিক করে ডিটেলস জেনে নিন। https://developer.android.com/topic/libraries/architecture/viewmodel

** আগের থেকে ভিউমডেল এবং লাইভ ডাটা সম্পর্কে জ্ঞান না থাকলে উপরের লিংক থেকে কিছুটা আইডিয়া নিতে পারেন। অন্যথায় নিচের কাজ গুলো বুঝতে কষ্ট হবে।

প্রজেক্টের যে কোন নাম দিয়ে নিচের ডিপেন্ডেন্সি এড করুন

 

MainActivity.kt

 

উপরের কোড দেখে আমরা বুঝতে পারছি যে, আমরা ভিউ তে কিছু সংখ্যক ইউজার লোড করাব। এখানে আমরা একটি অব্জারভেবল ব্যবহার করেছি। আমরা ডাটা অব্জার্ব করছি। যখনি ডাটা পাব্লিশ হবে আমরা সেই পাবলিশ করা ডাটা রিসিব করব।

 

activity_main.xml

rv_user_row.xml

 

MainVM.kt

 

 

 

এটি আমাদের মেইন এক্টিভিটির জন্যে ভিউ মডেল। এখানেই আমরা আমাদের ডাটা ফেচ, লজিক, ডাটা সেইভের কাজ গুলো করে থাকি এবং লাইভডাটা অব্জার্ভেবল ব্যবহার করে ভিউ এবং ভিউ মডেলের মধ্যে সংযোগ স্থাপন করি।
এখানে আমরা রেট্রোফিটের সাথে আর এক্স জাভা ব্যবহার করেছি। যখনি আমরা সার্ভার থেকে ডাটা রিসিভ করি তখনি আমরা সেই ডাটা লাইভ ডাটার মাধ্যমে ভিউ তে পাস করি।

** ডাটা ফেচের কাজ ভিউমডেলে করেছি এবং এক্টিভিটিতে সেই ডাটা লোড করেছি।
ফেচ এবং ভিউ তে ডাটা দেখানোর কাজ আলাদা করেছি।

BaseViewModel.kt

 

UserRvAdapter.kt

 

User.kt

 

RestApiClient.kt

 

UserService.kt

 

Leave a Reply

Your email address will not be published.

seventeen − 1 =