আপনার অ্যাপে Android সার্চ ফিচার ইন্টিগ্রেট করা

Compose-এর মাধ্যমে চেষ্টা করুন
Jetpack Compose হল Android-এর জন্য সাজেস্ট করা UI টুলকিট। Compose-এ কীভাবে সার্চ ফাংশনালিটি যোগ করতে হয় তা জানুন।

Android-এ সার্চ হল একটি মূল ব্যবহারকারী ফিচার। ব্যবহারকারীদের অবশ্যই তাদের কাছে উপলভ্য যেকোনও ডেটা সার্চ করতে সক্ষম হতে হবে, কন্টেন্টটি ডিভাইসে বা ইন্টারনেটে যেখানেই থাকুক না কেন। ব্যবহারকারীদের জন্য একটি সামঞ্জস্যপূর্ণ সার্চ অভিজ্ঞতা তৈরি করতে সাহায্য করার জন্য, Android একটি সার্চ ফ্রেমওয়ার্ক প্রদান করে যা আপনাকে আপনার অ্যাপ্লিকেশনের জন্য সার্চ প্রয়োগ করতে সাহায্য করে।

ছবি ১. কাস্টম সার্চ সাজেশন সহ সার্চ ডায়ালগ।

সার্চ ফ্রেমওয়ার্ক সার্চ ইনপুটের দুটি মোড অফার করে: স্ক্রিনের উপরে একটি সার্চ ডায়ালগ অথবা একটি সার্চ উইজেট (SearchView) যা আপনি নিজের অ্যাক্টিভিটি লেআউটে এম্বেড করতে পারবেন। উভয় ক্ষেত্রেই, Android সিস্টেম সার্চ কোয়েরি নির্দিষ্ট অ্যাক্টিভিটিতে পাঠিয়ে আপনার সার্চ প্রয়োগ করতে সাহায্য করে। এছাড়াও, ব্যবহারকারী টাইপ করার সময় সার্চ সাজেশন প্রদান করতে আপনি সার্চ ডায়ালগ বা উইজেট চালু করতে পারেন। ছবি ১-এ ঐচ্ছিক সার্চ সাজেশন সহ সার্চ ডায়ালগের উদাহরণ দেখানো হয়েছে।

আপনি সার্চ ডায়ালগ বা সার্চ উইজেট সেট-আপ করার পরে, নিম্নলিখিত কাজগুলি করতে পারবেন:

  • ভয়েস সার্চ চালু করুন।
  • ব্যবহারকারীর সাম্প্রতিক কোয়েরির ভিত্তিতে সার্চ সাজেশন প্রদান করুন।
  • আপনার অ্যাপ্লিকেশন ডেটার প্রকৃত ফলাফলের সাথে মেলে এমন কাস্টম সার্চ সাজেশন প্রদান করুন।
  • সিস্টেম-ব্যাপী দ্রুত সার্চ বক্সে আপনার অ্যাপ্লিকেশনের সার্চ সাজেশন অফার করুন।

মনে রাখবেন: সার্চ ফ্রেমওয়ার্ক আপনার ডেটা সার্চ করার জন্য API প্রদান করে না। সার্চ করার জন্য, আপনার ডেটার জন্য উপযুক্ত API ব্যবহার করতে হবে। যেমন, আপনার ডেটা SQLite ডেটাবেসে স্টোর করা থাকলে, সার্চ করার জন্য android.database.sqlite API ব্যবহার করুন।

এছাড়াও, কোনও ডিভাইসে যে একটি ডেডিকেটেড সার্চ বোতাম থাকবেই যা আপনার অ্যাপ্লিকেশনে সার্চ ইন্টারফেসকে কল করবে, তার কোনও গ্যারান্টি নেই। সার্চ ডায়ালগ বা কাস্টম ইন্টারফেস ব্যবহার করার সময়, আপনার UI-তে সার্চ ইন্টারফেস অ্যাক্টিভেট করে এমন একটি সার্চ বোতাম অবশ্যই দিতে হবে। আরও তথ্যের জন্য, সার্চ ডায়ালগ ইনভোক করুন দেখুন।

সার্চ প্রয়োগ করার জন্য Android-এর ফ্রেমওয়ার্ক কীভাবে ব্যবহার করবেন তা নিম্নলিখিত পৃষ্ঠা থেকে জানতে পারবেন:

সার্চ ইন্টারফেস তৈরি করা
সার্চ ডায়ালগ বা সার্চ উইজেট ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কীভাবে সেট-আপ করবেন।
সাম্প্রতিক কোয়েরি সাজেশন যোগ করুন
আগে ব্যবহার করা কোয়েরির ভিত্তিতে কীভাবে সাজেশন প্রদান করা যায়।
কাস্টম সাজেশন যোগ করুন
আপনার অ্যাপ্লিকেশন থেকে কাস্টম ডেটার উপর ভিত্তি করে কীভাবে সাজেশন প্রদান করবেন এবং সিস্টেম-ওয়াইড কুইক সার্চ বক্সে সেগুলি অফার করবেন।
সার্চ করা যায় এমন কনফিগারেশন
সার্চ করা যায় এমন কনফিগারেশন ফাইলের জন্য রেফারেন্স ডকুমেন্ট। অন্যান্য ডকুমেন্টেও নির্দিষ্ট আচরণের পরিপ্রেক্ষিতে কনফিগারেশন ফাইল নিয়ে আলোচনা করা হয়েছে।

ব্যবহারকারীর গোপনীয়তা সুরক্ষিত রাখা

আপনার অ্যাপ্লিকেশনে সার্চের সুবিধা যোগ করার সময়, ব্যবহারকারীর গোপনীয়তা সুরক্ষিত রাখতে প্রয়োজনীয় পদক্ষেপ নিন। অনেক ব্যবহারকারী তাদের ফোনে করা অ্যাক্টিভিটি—সার্চ সহ—ব্যক্তিগত তথ্য হিসেবে বিবেচনা করেন। ব্যবহারকারীর গোপনীয়তা সুরক্ষিত রাখতে, নিম্নলিখিত নীতিগুলি মেনে চলুন:

  • সার্ভারে ব্যক্তিগত তথ্য পাঠাবেন না‐এবং যদি পাঠাতেই হয়, তাহলে সেটি লগ করবেন না।

    ব্যক্তিগত তথ্য হল এমন যেকোনও তথ্য যা আপনার ব্যবহারকারীদের ব্যক্তিগতভাবে শনাক্ত করতে পারে, যেমন তাদের নাম, ইমেল আইডি, বিলিংয়ের তথ্য বা অন্যান্য ডেটা যা এই ধরনের তথ্যের সাথে যুক্ত করা যেতে পারে। আপনার অ্যাপ্লিকেশন যদি কোনও সার্ভারের সাহায্যে সার্চের সুবিধা প্রদান করে, তাহলে সার্চ কোয়েরির সাথে ব্যক্তিগত তথ্য পাঠানো এড়িয়ে চলুন। যেমন, আপনি যদি কোনও পিন কোডের কাছাকাছি ব্যবসা খুঁজছেন, তাহলে আপনাকে ব্যবহারকারীর আইডি পাঠাতে হবে না; সার্ভারে শুধু পিন কোড পাঠান। আপনাকে ব্যক্তিগত তথ্য পাঠাতেই হলে, সেটি লগ করা এড়িয়ে চলুন। আপনাকে যদি এটি লগ করতেই হয়, তাহলে সেই ডেটা খুব সাবধানে সুরক্ষিত রাখুন এবং যত তাড়াতাড়ি সম্ভব মুছে দিন।

  • ব্যবহারকারীদের সার্চ ইতিহাস মুছে ফেলার উপায় প্রদান করুন।

    ব্যবহারকারী টাইপ করার সময় সার্চ ফ্রেমওয়ার্ক আপনার অ্যাপ্লিকেশনকে প্রসঙ্গ-নির্দিষ্ট সাজেশন প্রদান করতে সাহায্য করে। কখনও কখনও এই সাজেশনগুলি আগের সার্চ বা আগের সেশনে ব্যবহারকারীর করা অন্যান্য অ্যাকশনের উপর ভিত্তি করে তৈরি করা হয়। কোনও ব্যবহারকারী হয়ত চাইবেন না যে তার আগের সার্চ অন্য ডিভাইস ব্যবহারকারীরা দেখুন। আপনার অ্যাপ্লিকেশন যদি এমন সাজেশন প্রদান করে যা আগের সার্চ অ্যাক্টিভিটি প্রকাশ করতে পারে, তাহলে ব্যবহারকারীর জন্য তার সার্চ ইতিহাস মুছে ফেলার একটি উপায় প্রয়োগ করুন। আপনি SearchRecentSuggestions ব্যবহার করলে, clearHistory() মেথড কল করতে পারেন। আপনি কাস্টম সাজেশন প্রয়োগ করলে, আপনার কন্টেন্ট প্রোভাইডারে একই ধরনের "ইতিহাস মুছুন" পদ্ধতি প্রদান করতে হবে যা ব্যবহারকারী প্রয়োগ করতে পারবেন।