Gesponsert

অ্যান্ড্রয়েড অ্যাপের ডেটাবেজ হিসেবে Realm ডেটাবেজ ব্যবহার

0
3

অ্যান্ড্রয়েডে ডিফল্ট ভাবে SQLite ডেটাবেজ থাকে। আমরা আমাদের অ্যাপে সহজেই SQLite ডেটাবেজ ব্যবহার করতে পারি। কিন্তু SQLite থেকে ফাস্টার ডেটাবেজ হচ্ছে Realm. Realm কিভাবে অ্যাপে ব্যবহার করা যায়, তাই দেখব।

অ্যান্ড্রয়েডে Realm ব্যবহারের পূর্ণাঙ্গ ডকুমেন্টেশন এখানে পাওয়া যাবে। রেল্ম এন্ড্রয়েড স্টুডিওতে ব্যবহার করার জন্য আমরা gradle ফাইলে Dependencies হিসবে যুক্ত করে নিতে পারিঃ

compile 'io.realm:realm-android:0.84.1'

 

রেল্ম ভার্সন নিয়মিত আপডেট হচ্ছে। তাই আপনি যখন ব্যবহার করবেন, Latest Realm থেকে ভার্সনটি চেক করে নিতে পারেন। অ্যান্ড্রয়েড প্রজেক্টের App ফোল্ডারে থাকে buildgradle ফাইলে Dependencies টা যুক্ত করার পর আমরা এবার আমাদের প্রজেক্টে রেল্ম ব্যবহার করতে পারি।

 

আমরা একটা ইউজার ক্লাস তৈরি করে নিব। সিম্পল POJO [Plain Old Java Object ] ক্লাস। যেমন User.java. এটিতে দুইটা মেম্বার ভ্যারিয়েবল রয়েছে। একটা name আর একটা email. এ দুইটা ভ্যারিয়েবলের জন্য আমরা Getter & Setter মেথড লিখেছি।

User.java:

 

import io.realm.RealmObject;


public class User extends RealmObject {

    private String name;
    private String email;

    public User() { }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

}

রেল্ম ব্যবহার করার জন্য আমাদের রেল্ম এর instance তৈরি করে নিতে হবে। আর ঐ instance এ কিছু কনফিগারেশন পাস করতে হবে। যেমন আমাদের ডেটাবেজের নাম কি, ইত্যাদি। তা করতে হয় এভাবেঃ

 

realmConfig = new RealmConfiguration.Builder(this).name("user.realm").build();
realm = Realm.getInstance(realmConfig);

 

এখানে name(“user.realm”) এটা হচ্ছে আমাদের ডেটাবেজের নাম। যে কোন নামই আমরা ব্যবহার করতে পারি।

রেল্ম এ ডেটা রাখা হচ্ছে একটা Transiction. আর কোন Transaction করার আগে লিখতে হয় beginTransaction(); এবং Transition শেষ করার পড় লিখতে হয় commitTransaction();

 

Transaction শুরু করার পর রেল্ম এ আমরা কি ডেটা রাখব, তা বলে দিতে পারি। রেল্ম আমাদের জন্য অটোমেটিক টেবিল ক্রিয়েট করে নিবে। যেমন আমরা User এর নাম এবং Email রাখব, তা লিখতে পারি এভাবেঃ


realm.where(User.class).findAll().clear();
User user1 = realm.createObject(User.class);
user1.setName("Elon Musk");
user1.setEmail("[email protected]");

 

এভাবে যত ইচ্ছে তত Transaction আমরা করতে পারি।

আমরা এর পড় রেল্ম থেকে কোয়েরি সহজেই করতে পারি। যেমন ইউজার টেবিলের সব গুলো ডাটা   নিতে চাইলেঃ


RealmResults<User> results = realm.where(User.class).findAll();

সম্পুর্ণ MainActivity.java

 


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import io.realm.Realm;
import io.realm.RealmConfiguration;
import io.realm.RealmResults;

public class MainActivity extends AppCompatActivity {
    private Realm realm;
    private RealmConfiguration realmConfig;

    private TextView mTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTextView = (TextView) findViewById(R.id.textView);

        realmConfig = new RealmConfiguration.Builder(this).name("user.realm").build();
        realm = Realm.getInstance(realmConfig);



        realm.beginTransaction();

        // Create objects and set data
        realm.where(User.class).findAll().clear();
        User user1 = realm.createObject(User.class);
        user1.setName("Elon Musk");
        user1.setEmail("[email protected]");

        User user2 = realm.createObject(User.class);
        user2.setName("Bill Gates");
        user2.setEmail("[email protected]");

        User country3 = realm.createObject(User.class);
        country3.setName("Jeff Bezos");
        country3.setEmail("[email protected]");

        realm.commitTransaction();



        RealmResults<User> results =
                realm.where(User.class).findAll();

        for(User user:results) {
            mTextView.append("Name: " + user.getName() + "\n" );
            mTextView.append("Email: " + user.getEmail() + "\n \n" );
        }



    }
}

 

আমরা কিছু ডেটা রেল্ম ডেটাবেজে রেখেছি। পড়ে ঐ ডেটা গুলো কোয়েরি করে একটা টেক্সট ভিউতে দেখিয়েছি। TextView টি যুক্ত করেছি activity_main.xml এঃ

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="me.jakir.realm.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView" />
</RelativeLayout>

 

এই তো! সিম্পল। নিজ প্রজেক্টের জন্য সহজেই ব্যবহার করতে পারেন রেল্ম। কোন কিছু বুঝতে অসুবিধে হলে গুগল তো আছেই।

 

Suche
Kategorien
Mehr lesen
Nulled
Atheists are less open-minded than religious people, study claims
Von Nettumi 2026-09-23 17:28:49 0 48
Nulled
Food Star v1.0.8 - Mobile React Native Food Delivery Template App
Food Star v1.0.8 – Mobile React Native Food Delivery Template App Source Code Free...
Von Nettumi 2026-09-18 03:52:31 0 43
Nulled
বাংলাদেশ ধান গবেষণা ইনস্টিটিউট নিয়োগ বিজ্ঞপ্তি ২০২৬ | BRRI Job Circular 2026
5/5 - (1 vote)বাংলাদেশ ধান গবেষণা ইনস্টিটিউট (BRRI) কর্তৃপক্ষ হতে বাংলাদেশ ধান গবেষণা ইনস্টিটিউট...
Von Nettumi 2026-09-18 09:27:50 0 32
Tech
ট্রান্সফোবিয়াকে Business এর হাতিয়ার বানাচ্ছে Meta! | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
Von Nettumi 2026-09-25 03:48:48 0 23
Nulled
WordPress Automatic Plugin v3.127.0 - Nulled Download
WordPress Automatic Plugin v3.127.0 – Nulled Free Download. WordPress Automatic Plugin...
Von Nettumi 2026-09-17 18:16:19 0 37
‎ ‎ ‎
Nettumi https://nettumi.com