Meminta generator tampilan UI penelusuran trending
Serupa dengan meminta saran penelusuran, untuk mendapatkan tampilan UI penelusuran trending, Anda harus mendapatkan generatornya terlebih dahulu dengan langkah-langkah berikut:
- Biarkan class
Activitytarget Anda menerapkan antarmukaGetSearchSuggestionsViewGeneratorCallbackatau menggunakan class dalam anonim. - Ganti metode
onSuccess(SearchSuggestionsViewGenerator)danonError(String)antarmukaGetSearchSuggestionsViewGeneratorCallback. - Buat instance class
GetTrendingSearchesViewOptionsdengan jumlah maksimum penelusuran trending yang ditentukan. (Opsional) Objek ini juga mengambil objekSearchSuggestionsViewOptionsyang menyediakan beberapa opsi untuk menyesuaikan tampilan UI saran penelusuran. - Panggil fungsi
getTrendingSearchesView(GetTrendingSearchesViewOptions, GetSearchSuggestionsViewGeneratorCallback)SearchInAppsService. - Setelah mendapatkan generator UI, Anda dapat mempertimbangkan untuk menyimpannya di ViewModel sehingga Anda tidak perlu meminta generator lagi saat aktivitas perlu dibuat ulang (seperti saat konfigurasi telah berubah saat aplikasi berjalan).
Kode contoh
Java
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();
}
}
Jetpack Compose
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)
...
}
}
Menambahkan tampilan UI penelusuran trending
Cara untuk menambahkan tampilan UI penelusuran trending ke UI aplikasi Anda sama dengan fitur saran penelusuran.