একটি বিশেষ ডাটার ধরনের মধ্যে একটি স্ট্রিং সার্চ করতে, নিচের থেকে একটি নির্বাচন ধারা (ক্লস) তৈরী করুন:
কলামের নাম যা আপনার সার্চ স্ট্রিং ধারন করে। এই নাম ডাটা টাইপ কর্তৃক ভিন্ন হয়, সুতরাং আপনার ContactsContract.CommonDataKinds এর সাবক্লাস খোঁজার প্রয়োজন হয় যা ডাটা টাইপের সমরূপ এবং তারপর ঐ সাবক্লাস থেকে কলাম নাম বাছাই করুন। উদাহরণস্বরূপ, ইমেইল এড্রেস সার্চ করার জন্য কলাম Email.ADDRESS ব্যবহার করুন।
সার্চ স্ট্রিং নিজেই, সিলেকশন ক্লস এ "?" চিহ্ন হিসাবে পরিবেশিত হয়।
কলামের নাম যা কাস্টম MIME টাইপ ভ্যালু ধারণ করে। এই নাম সবসময় Data.MIMETYPE হয়।
ডাটা টাইপের জন্য কাস্টম MIME টাইপ ভ্যালু। যেভাবে পূর্বে আলোচনা করা হয়েছে, এটা হচ্ছে ContactsContract.CommonDataKinds সাবক্লাসের মধ্যে কনসট্যান্ট CONTENT_ITEM_TYPE। উাদহরণস্বরূপ, ইমেইলের জন্য MIME টাইপ ভ্যালু হচ্ছে Email.CONTENT_ITEM_TYPE । কনসট্যান্টের শুরুতে এবং শেষে একটি "'" (সিঙ্গেল কোট) বন্ধ করার মাধ্যমে ভ্যালুটিকে একটি একক কোটের (quotes) মধ্যে পরিবেস্টিত করুন, অন্যথায়, প্রভাইডার ভ্যালুটিকে একটি স্ট্রিং ভ্যালু হিসাবে ব্যাখ্যা না করে একটি ভেরিয়েবল নেম হিসাবে ব্যাখ্যা করবে। আপনার এই ভ্যালুর জন্য একটি প্লেসহোল্ডার ব্যবহার করার কোন প্রয়োজন নেই, কারন আপনি একটি ইউজার-প্রদত্ত ভ্যালু ব্যবহার না করে একটি কনসট্যান্ট ব্যবহার করছেন।
উদাহরণস্বরূপ:
/*
* Constructs search criteria from the search string
* and email MIME type
*/
private static final String SELECTION =
/*
* Searches for an email address
* that matches the search string
*/
Email.ADDRESS + " LIKE ? " + "AND " +
/*
* Searches for a MIME type that matches
* the value of the constant
* Email.CONTENT_ITEM_TYPE. Note the
* single quotes surrounding Email.CONTENT_ITEM_TYPE.
*/
Data.MIMETYPE + " = '" + Email.CONTENT_ITEM_TYPE + "'";
এরপর, নির্বাচনী আর্গুমেন্ট ধারন করতে ভেরিয়েবল নির্ধারণ করুন:
String mSearchString;
String[] mSelectionArgs = { "" };