ট্রেন্ডিং সার্চ UI ভিউ জেনারেটরের জন্য অনুরোধ করুন
সার্চ সাজেশনের অনুরোধ করার মতোই, ট্রেন্ডিং সার্চের UI ভিউ পেতে হলে, আপনাকে প্রথমে নিম্নলিখিত ধাপগুলো অনুসরণ করে এর জেনারেটরটি সংগ্রহ করতে হবে:
- আপনার টার্গেট
Activityক্লাসকেGetSearchSuggestionsViewGeneratorCallbackইন্টারফেসটি ইমপ্লিমেন্ট করতে দিন অথবা অ্যানোনিমাস ইনার ক্লাস ব্যবহার করুন। -
GetSearchSuggestionsViewGeneratorCallbackইন্টারফেসেরonSuccess(SearchSuggestionsViewGenerator)এবংonError(String)মেথডগুলো ওভাররাইড করুন। - নির্দিষ্ট সর্বাধিক সংখ্যক ট্রেন্ডিং সার্চ সহ
GetTrendingSearchesViewOptionsক্লাস ইনস্ট্যান্সটি তৈরি করুন। (ঐচ্ছিক) এই অবজেক্টটি একটিSearchSuggestionsViewOptionsঅবজেক্টও গ্রহণ করে, যা সার্চ সাজেশন UI-এর চেহারা কাস্টমাইজ করার জন্য কিছু অপশন প্রদান করে। -
SearchInAppsServiceএরgetTrendingSearchesView(GetTrendingSearchesViewOptions, GetSearchSuggestionsViewGeneratorCallback)ফাংশনটি কল করুন। - UI জেনারেটরটি পাওয়ার পর, আপনি এটিকে একটি ViewModel-এ সংরক্ষণ করার কথা ভাবতে পারেন, যাতে অ্যাক্টিভিটিটি পুনরায় তৈরি করার প্রয়োজন হলে (যেমন অ্যাপটি চলার সময় কনফিগারেশন পরিবর্তিত হলে) আপনাকে আর জেনারেটরটির জন্য অনুরোধ করতে না হয়।
নমুনা কোড
জাভা
package ...;
...
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewGeneratorCallback;
import com.google.android.libraries.searchinapps.GetTrendingSearchesViewOptions;
import com.google.android.libraries.searchinapps.SearchInAppsService;
import com.google.android.libraries.searchinapps.SearchSuggestionsViewGenerator;
...
public class MainActivity extends AppCompatActivity implements GetSearchSuggestionsViewGeneratorCallback {
private SearchInAppsService service;
@Override
public void onSuccess(SearchSuggestionsViewGenerator generator) {
...
}
@Override
public void onError(String errorMessage) {
...
}
@Override
protected void onCreate(Bundle savedInstanceState) {
...
service = SearchInAppsService.create(this);
// Uses the default SearchSuggestionsViewOptions.
service.getTrendingSearchesView(
new GetTrendingSearchesViewOptions().setMaxNumTrends(3), this);
...
}
@Override
public void onDestroy() {
service.shutDown();
super.onDestroy();
}
}
জেটপ্যাক কম্পোজ
package ...
...
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.platform.LocalContext
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewGeneratorCallback
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewOptions
import com.google.android.libraries.searchinapps.SearchInAppsService
import com.google.android.libraries.searchinapps.SearchSuggestionsViewGenerator
...
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
SearchSuggestionsUI()
}
}
@Composable
fun SearchSuggestionsUI() {
...
var service by remember {
mutableStateOf<SearchInAppsService?>(
SearchInAppsService.create(LocalContext.current))
}
DisposableEffect(Unit) { onDispose { service?.shutDown() } }
val callback =
object : GetSearchSuggestionsViewGeneratorCallback {
override fun onSuccess(generator: SearchSuggestionsViewGenerator) {
...
}
override fun onError(errorMessage: String) {
...
}
}
// Uses the default SearchSuggestionsViewOptions.
var options: GetTrendingSearchesViewOptions =
GetTrendingSearchesViewOptions()
.setMaxNumTrends(3)
service?.getTrendingSearchesView(options, callback)
...
}
}
ট্রেন্ডিং সার্চ UI ভিউ যোগ করুন
আপনার অ্যাপের UI-তে ট্রেন্ডিং সার্চ UI ভিউ যোগ করার পদ্ধতিটি সার্চ সাজেশন ফিচারের মতোই।