Patrocinado

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

0
20

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 লেখাটি দেখতে পারেন।

Patrocinado
Patrocinado
Pesquisar
Categorias
Leia mais
Nulled
MiniQR - ফ্রি এবং Open Source QR Code জেনারেটর – বানিয়ে ফেলুন নজরকাড়া Custom QR Code, একদম সহজে! | Techtunes | টেকটিউনস
অ্যাপল মানুষকে ফিরিয়ে নিচ্ছে হাত ঘড়ির যুগে… অসামান্য প্রাযুক্তিক উৎকর্ষতায়! একটি Apple...
Por Nettumi 2026-09-21 05:30:28 0 56
Nulled
Koffee Fans v1.0.4 Nulled - SaaS Platform for Content Creators PHP Script
Koffee Fans v1.0.4 Nulled – SaaS Platform for Content Creators PHP Script Free Download....
Por Nettumi 2026-09-18 03:23:51 0 57
Tech
৫ টি ফ্রি AI Travel Planning টুল, যেগুলো দিয়ে আপনার জন্য তাৎক্ষণিক ভ্রমণ পরিকল্পনা তৈরি করে নেওয়া যায়! | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
Por Nettumi 2026-09-25 03:52:04 0 43
Nulled
Write.ai v1.0 - AI Content Generation Tool (SAAS) PHP Script
Write.ai v1.0 – AI Content Generation Tool (SAAS) PHP Script Free Download. Write.ai is a...
Por Nettumi 2026-09-18 03:30:42 0 47
Nulled
২০০ মেগাপিক্সেল ক্যামেরা ও শক্তিশালী ব্যাটারি নিয়ে হাজির ওপ্পোর নতুন চমক! | Techtunes | টেকটিউনস
অ্যাপল মানুষকে ফিরিয়ে নিচ্ছে হাত ঘড়ির যুগে… অসামান্য প্রাযুক্তিক উৎকর্ষতায়! একটি Apple...
Por Nettumi 2026-09-21 05:27:40 0 43
Patrocinado
Patrocinado
Advertisement
Ad starting...
‎ ‎ ‎
Nettumi https://nettumi.com