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

সার্চ যোগ্য একটিভিটি তৈরী করা

SearchView, ACTION_SEARCH দিয়ে একটি একটিভিটি শুরু করার চেষ্টা করে যখন একজন ইউজার একটি সার্চ অনুসন্ধান দাখিল করে। একটি সার্চ যোগ্য একটিভিটি ACTION_SEARCH ইনটেন্টের জন্য ফিল্টার করে এবং কিছু তথ্য সংকলনের অনুসন্ধানের জন্য সার্চ করে। একটি সার্চ যোগ্য একটিভিটি তৈরী করতে, ACTION_SEARCH ইনটেন্টের জন্য ফিল্টার করার জন্য আপনার পছন্দের একটি একটিভিটি ডিক্লেয়ার করুন:

<activity android:name=".SearchResultsActivity" ... >
    ...
    <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
    </intent-filter>
    ...
</activity>

আপনার সার্চ যোগ্য একটিভিটিতে, আপনার পদ্ধতির মধ্যে এটাকে পরীক্ষা করার মাধ্যমে ACTION_SEARCH ইনটেন্ট পরিচালিত করুন।

নোট: যদি আপনার সার্চ যোগ্য একটিভিটি সিঙ্গেল টপ মোডে (android:launchMode="singleTop") চালু হয়, onNewIntent()পদ্ধতিতেও ACTION_SEARCH ইনটেন্ট চালিত করুন। সিঙ্গেল টপ মোডে, আপনার একটিভিটির শুধূমাত্র একটি ইনসটেন্স তৈরী হয় এবং পরবর্তীতে আপনার একটিভিটি শুরু করতে কল করে, স্ট্যাকে একটি নতুন একটিভিটি শুরু করে না। এই লঞ্চ মোড উপকারি যাতে ইউজার প্রতিবার একটি নতুন একটিভিটি ইনসট্যান্স তৈরী করা ছাড়াই একই একটিভিটি থেকে সার্চ করা সম্পাদন করতে পারে।

public class SearchResultsActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        handleIntent(getIntent());
    }

    @Override
    protected void onNewIntent(Intent intent) {
        ...
        handleIntent(intent);
    }

    private void handleIntent(Intent intent) {

        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            //use the query to search your data somehow
        }
    }
    ...
}

আপনি যদি এখন আপনার অ্যাপ রান করান, SearchView ইউজারের অনুসন্ধান গ্রহণ করতে পারে এবং ইনটেন্ট ACTION_SEARCH দিয়ে আপনার সার্চ যোগ্য একটিভিটি শুরু করে। এটা বের করা এখন আপনার ব্যাপার কীভাবে একটি অনুসন্ধানে প্রদত্ত ডাটা স্টোর করবেন এবং সার্চ করবেন।