Sponsored

অ্যান্ড্রয়েড এসেট ফোল্ডার থেকে ডেটাবেজ ব্যবহার করা

0
17

SQLite এর বেশির ভাগ টিউটোরিয়ালই হচ্ছে কিভাবে নতুন ডেটাবেজ তৈরি করে ডেটা রাখা যায়। কিন্তু আমাদের যদি আগে থেকে ডেটাবেজ তৈরি থাকে, যে ডেটাবেজ আমরা ব্যবহার করতে চাই, তখন কি করব?

Android SQLite Asset Helper নামে একটি লাইব্রেরী রয়েছে, তা ব্যবহার করে সহজেই এই কাজটা করতে পারেন।

এখানে আমরা যে স্যাম্পল ডেটাবেজটি ব্যবহার করব, তা গিটহাবে পাবেন। ডেটাবেজটি রাখতে হবে প্রজেক্টের assets ফোল্ডারের ভেতর databases নামক ফোল্ডারে। ডেটাবেজ গ্রাফিক্যালি দেখতে এবং এডিট করতে ব্যবহার করতে পারেন DB Browser for SQLite

ব্যবহার করার জন্য নিচের Dependence টা যুক্ত করে দিব।

dependencies {
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
}

একটা ক্লাস তৈরি করব MyDatabase বা যে কোন কিছু নামে। এটি একটি হেল্পার ক্লাস। যেখানে আমরা SQLiteOpenHelper এর পরিবর্তে SQLiteAssetHelper ক্লাসটি এক্সটেন্ড করেছি। বাকি সব কিছু একই রকম।

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

 

public class MyDatabase extends SQLiteAssetHelper {

    private static final String DATABASE_NAME = "hello.db";
    private static final int DATABASE_VERSION = 1;
    public static final String TABLE_NAME = "name";

    public MyDatabase(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    public Cursor getAllData(){

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor res = db.rawQuery("select * from " + TABLE_NAME, null);

        return res;

    }
}

মেইন এক্টিভিটি থেকে ক্লাসটির একটি ইন্সট্যান্স তৈরি করে নিলেই আমরা ডেটাবেজ ব্যবহার করতে পারবঃ

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

public class MainActivity extends AppCompatActivity {
    MyDatabase myDB;
    TextView tvData;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvData = (TextView) findViewById(R.id.tvData);
        myDB = new MyDatabase(this);

        Cursor res = myDB.getAllData();

        if(res.getCount() == 0){
            Toast.makeText(MainActivity.this, "No data found", Toast.LENGTH_LONG).show();
            return;
        }else {
            StringBuffer buffer = new StringBuffer();

            while (res.moveToNext()){
                buffer.append("Id: " + res.getString(0) + " - ");
                buffer.append("Name: " + res.getString(1) + "\n");
            }

            tvData.setText(buffer.toString());
        }
    }

}

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:id="@+id/activity_main" 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.sqlitedbfromasset.MainActivity">

    <TextView android:id="@+id/tvData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" />
</RelativeLayout>

এখানে একটি মাত্র মেথড যুক্ত করা হয়েছে। শুধু ডেটা পড়ার জন্য। এ লেখা থেকে বাকি মেথড গুলোও কাজে লাগানো যাবেঃ অ্যান্ড্রয়েড অ্যাপে SQLite ডেটাবেজ ব্যবহার.

সম্পূর্ণ প্রজেক্ট পাওয়া যাবে গিটহাবে। স্যাম্পল ডেটাবেজ সহ। লাইব্রেরী ব্যবহার না করে নিজের মত করে হেল্পার ক্লাস লিখে নিতে চাইলে  Using your own SQLite database in Android applications লেখাটি দেখতে পারেন।

Search
Categories
Read More
Nulled
EmbedPress Pro v3.9.1
EmbedPress Pro lets you embed your sources with advanced customization, custom branding, lazy...
By Nettumi 2026-10-02 18:07:47 0 0
Job
৮৬ পদে ডকইয়ার্ড এন্ড ইঞ্জিনিয়ারিং ওয়ার্কস লিঃ নিয়োগ বিজ্ঞপ্তি ২০২৬ প্রকাশিত
3/5 - (2 votes)☰ মোট পদের ক্যাটাগরি৩৫👥 মোট শূন্যপদ৮৬🎓 যোগ্যতা৮ম শ্রেণি থেকে বিএসসি ইন...
By Nettumi 2026-09-24 18:40:18 0 33
Tech
হুমকির মুখে নেটফ্লিক্স? | Techtunes | টেকটিউনস
মোবাইলের মাধ্যমে চ্যাট করার কিছু দারুণ সফটওয়্যার মো. আমিনুল ইসলাম সজীব
By Nettumi 2026-09-26 11:48:01 0 37
Tech
বাংলাদেশে স্যামসাং বাটন মোবাইলের নাম ও দাম ২০২৬ | জনপ্রিয় ১০ মডেলের আপডেট তালিকা
Mobile...
By Nettumi 2026-09-30 19:15:18 0 13
Nulled
Posly v1.0 - POS with Inventory Management System PHP Script
Posly v1.0 – POS with Inventory Management System PHP Script Free Download. Posly is a...
By Nettumi 2026-09-18 03:23:19 0 74
‎ ‎ ‎
Nettumi https://nettumi.com