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

অনুসন্ধানের (ক্যুয়ারি) জন্য সার্চ করা

যখন আপনি একটি ভার্চুয়াল টেবিল তৈরী করবেন এবং পূর্ণ করবেন, ডাটাটি সার্চ করতে আপনার SearchView দ্বারা সরবরাহিত অনুসন্ধান (ক্যুয়ারি) ব্যবহার করুন। একটি SQL স্টেটসমেন্ট তৈরী করতে নিচের পদ্ধতিটি DatabaseTable ক্লাসে যুক্ত করুন যা অনুসন্ধানের জন্য সার্চ করবে:

public Cursor getWordMatches(String query, String[] columns) {
    String selection = COL_WORD + " MATCH ?";
    String[] selectionArgs = new String[] {query+"*"};

    return query(selection, selectionArgs, columns);
}

private Cursor query(String selection, String[] selectionArgs, String[] columns) {
    SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    builder.setTables(FTS_VIRTUAL_TABLE);

    Cursor cursor = builder.query(mDatabaseOpenHelper.getReadableDatabase(),
            columns, selection, selectionArgs, null, null, null);

    if (cursor == null) {
        return null;
    } else if (!cursor.moveToFirst()) {
        cursor.close();
        return null;
    }
    return cursor;
}

getWordMatches()কল করার মাধ্যমে ক্যুয়ারি সার্চ করুন। যে কোন ম্যাচ করা ফলাফল একটি Cursor এ ফেরত আসতে পারে যা আপনি একটি ListView তৈরী করতে ব্যবহার করত পারেন। এই নমুনা সার্চ যোগ্য একটিভিটির handleIntent() পদ্ধতির মধ্যে getWordMatches()কল করে। মনে রাখবেন যে সার্চ যোগ্য একটিভিটি একটি অতিরিক্ত হিসাবে ACTION_SEARCH ইনটেন্টের অভ্যান্তরে ক্যুয়ারি গ্রহণ করে, ইনটেন্ট ফিল্টারের কারনে যা আপনি পূর্বে তৈরী করেছেন:

DatabaseTable db = new DatabaseTable(this);

...

private void handleIntent(Intent intent) {

    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        Cursor c = db.getWordMatches(query, null);
        //process Cursor and display results
    }
}