Sponsorizzato

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

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

Cerca
Categorie
Leggi tutto
News
র দিয়ে ছেলেদের ইসলামিক নামের তালিকা অর্থসহ - Banglaph
এই পোস্টের র দিয়ে ছেলেদের ইসলামিক নামের তালিকায় আপনার ছেলে সন্তানের জন্য একটি সুন্দর ইসলামিক নাম...
By Nettumi 2026-10-02 22:56:08 0 1
Nulled
Khana v2.2 - Multi Resturant Food Ordering, Restaurant Management With Saas Nulled
Khana v2.2 – Multi Resturant Food Ordering, Restaurant Management With Saas Nulled PHP...
By Nettumi 2026-09-18 04:05:47 0 32
Nulled
চশমা না কি পকেট কম্পিউটার! স্ন্যাপের নতুন উদ্ভাবন দেখে বিশ্বজুড়ে শোরগোল! | Techtunes | টেকটিউনস
অ্যাপল মানুষকে ফিরিয়ে নিচ্ছে হাত ঘড়ির যুগে… অসামান্য প্রাযুক্তিক উৎকর্ষতায়! একটি Apple...
By Nettumi 2026-09-21 05:30:31 0 43
Nulled
BitLab v1.0 - Ultimate Bitcoin Wallet System Nulled Script Free
BitLab v1.0 – Ultimate Bitcoin Wallet System Nulled Script Free Download. BitLab, a...
By Nettumi 2026-09-18 03:55:46 0 37
Nulled
FluentBooking Pro v2.3.0 - WordPress Booking Plugin
FluentBooking Pro v2.3.0 – WordPress Booking Plugin Free Download. FluentBooking is the...
By Nettumi 2026-09-17 17:44:28 0 152
‎ ‎ ‎
Nettumi https://nettumi.com