বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

একটি ভার্চুয়াল টেবিল তৈরী করুন

একটি ভার্চুয়াল টেবিল একটি SQLite টেবিলের মতোই আচরণ করে, কিন্তু একটি ডাটাবেজ ফাইলের পরিবর্তে কলব্যাক এর মধ্য দিয়ে মেমরিতে একটি অবজেক্টে পাঠ করে বা লিখে। একটি ভার্চুয়াল টেবিল তৈরী করতে, টেবিলের জন্য একটি ক্লাস তৈরী করে:

public class DatabaseTable {
    private final DatabaseOpenHelper mDatabaseOpenHelper;

    public DatabaseTable(Context context) {
        mDatabaseOpenHelper = new DatabaseOpenHelper(context);
    }
}

DatabaseTable যা SQLiteOpenHelper সম্প্রসারণ করে তার মধ্যে একটি ইনার (আভ্যান্তরিণ) ক্লাস তৈরী করুন। SQLiteOpenHelper ক্লাস অ্যাবস্ট্রাক্ট (বিমূর্ত) পদ্ধতি নির্ধারণ করে যাকে আপনার অবশ্যই ওভাররাইড করতে হবে যাতে আপনার ডাটাবেজ টেবিল প্রয়োজনের সময় তৈরী হতে পারে এবং আপগ্রেড (হালনাগাদ) হতে পারে। উদাহরণস্বরূপ, এখানে কিছু কোড আছে যা একটি ডাটাবেজ টেবিল ডিক্লেয়ার করে যা একটি ডিকশনারি অ্যাপের জন্য শব্দ ধারণ করে:

public class DatabaseTable {

    private static final String TAG = "DictionaryDatabase";

    //The columns we'll include in the dictionary table
    public static final String COL_WORD = "WORD";
    public static final String COL_DEFINITION = "DEFINITION";

    private static final String DATABASE_NAME = "DICTIONARY";
    private static final String FTS_VIRTUAL_TABLE = "FTS";
    private static final int DATABASE_VERSION = 1;

    private final DatabaseOpenHelper mDatabaseOpenHelper;

    public DatabaseTable(Context context) {
        mDatabaseOpenHelper = new DatabaseOpenHelper(context);
    }

    private static class DatabaseOpenHelper extends SQLiteOpenHelper {

        private final Context mHelperContext;
        private SQLiteDatabase mDatabase;

        private static final String FTS_TABLE_CREATE =
                    "CREATE VIRTUAL TABLE " + FTS_VIRTUAL_TABLE +
                    " USING fts3 (" +
                    COL_WORD + ", " +
                    COL_DEFINITION + ")";

        DatabaseOpenHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            mHelperContext = context;
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            mDatabase = db;
            mDatabase.execSQL(FTS_TABLE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                    + newVersion + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS " + FTS_VIRTUAL_TABLE);
            onCreate(db);
        }
    }
}