Patrocinado

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

0
4

অ্যান্ড্রয়েডে ডিফল্ট ভাবে 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>

 

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

 

Pesquisar
Categorias
Leia Mais
Job
০৩ পদে বাংলাদেশ শিশু হাসপাতাল ও ইনস্টিটিউট নিয়োগ বিজ্ঞপ্তি ২০২৬ BSHI Job Circular 2026
3.6/5 - (9 votes)☰ মোট পদের ক্যাটাগরি০৩👥 মোট শূন্যপদ০৩🎓 যোগ্যতাস্নাতক (সম্মান) / বি.কম / এম.কম /...
Por Nettumi 2026-09-24 18:40:34 0 23
Nulled
আইফোন ভক্তদের মাথায় আকাশ ভেঙে পড়লো! পিছিয়ে গেল iPhone 18 এর লঞ্চ! | Techtunes | টেকটিউনস
পকেটের মোবাইল দিয়ে এবার কাগজ ফটোকপি করুন! তাও প্রফেশনাল মানের ডিজিটাল ফটোকপি! নেট মাস্টার
Por Nettumi 2026-09-21 05:30:50 0 36
Nulled
Hosting Billing v1.4 - Domain and Web Hosting Invoicing System with CMS Script
Hosting Billing v1.4 – Domain and Web Hosting Invoicing System with CMS Script Free...
Por Nettumi 2026-09-18 04:00:18 0 196
Tech
অভ্র Avro-তে “Android” লিখলে “অ্যান্ড্রয়েড” না হয়ে আন্দ্রইদ হয়? আর হবে না, এবার আপনার পছন্দ মত অটোকারেকশন যোগ করুন | Techtunes | টেকটিউনস
মোবাইলের মাধ্যমে চ্যাট করার কিছু দারুণ সফটওয়্যার মো. আমিনুল ইসলাম সজীব
Por Nettumi 2026-09-26 11:48:18 0 24
Hacking Course
স্টক এন্ড্রয়েড কি? এর সুবিধা ও অসুবিধা জানুন - Banglatech24.com
স্মার্টফোন ব্যবহারকারীরা মূলত যে এন্ড্রয়েড ফোন ব্যবহার করেন সেই এন্ড্রয়েডের বিভিন্ন রকম ভার্শন...
Por Nettumi 2026-09-25 09:41:14 0 32
‎ ‎ ‎
Nettumi https://nettumi.com