Favorites
This example does not contain a UI. Results will be logged in Android Studio.
NOTE
This example is a part of the Search SDK for Android sample app. You can find the values for all referenced resources in the res
directory. For example, see res/values/strings.xml
for R.string.*
references used in this example.
package com.mapbox.search.sample.api import android.os.Bundleimport android.util.Logimport androidx.appcompat.app.AppCompatActivityimport com.mapbox.geojson.Pointimport com.mapbox.search.ServiceProviderimport com.mapbox.search.common.AsyncOperationTaskimport com.mapbox.search.common.CompletionCallbackimport com.mapbox.search.record.FavoriteRecordimport com.mapbox.search.record.LocalDataProvider.OnDataChangedListenerimport com.mapbox.search.result.SearchAddressimport com.mapbox.search.result.SearchResultTypeimport java.util.UUID class FavoritesDataProviderKotlinExample : AppCompatActivity() { private val favoritesDataProvider = ServiceProvider.INSTANCE.favoritesDataProvider() private lateinit var task: AsyncOperationTask private val retrieveFavoritesCallback: CompletionCallback<List<FavoriteRecord>> =object : CompletionCallback<List<FavoriteRecord>> {override fun onComplete(result: List<FavoriteRecord>) {Log.i("SearchApiExample", "Favorite records: $result")} override fun onError(e: Exception) {Log.i("SearchApiExample", "Unable to retrieve favorite records", e)}} private val addFavoriteCallback: CompletionCallback<Unit> = object : CompletionCallback<Unit> {override fun onComplete(result: Unit) {Log.i("SearchApiExample", "Favorite record added")task = favoritesDataProvider.getAll(retrieveFavoritesCallback)} override fun onError(e: Exception) {Log.i("SearchApiExample", "Unable to add a new favorite record", e)}} private val onDataChangedListener: OnDataChangedListener<FavoriteRecord> =object : OnDataChangedListener<FavoriteRecord> {override fun onDataChanged(newData: List<FavoriteRecord>) {Log.i("SearchApiExample", "Favorites data changed. New data: $newData")}} override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState) favoritesDataProvider.addOnDataChangedListener(onDataChangedListener) val newFavorite = FavoriteRecord(id = UUID.randomUUID().toString(),name = "Paris Eiffel Tower",descriptionText = "Eiffel Tower, Paris, France",address = SearchAddress(place = "Paris", country = "France"),routablePoints = null,categories = null,makiIcon = null,coordinate = Point.fromLngLat(2.294434, 48.858349),type = SearchResultType.PLACE,metadata = null) task = favoritesDataProvider.upsert(newFavorite, addFavoriteCallback)} override fun onDestroy() {favoritesDataProvider.removeOnDataChangedListener(onDataChangedListener)task.cancel()super.onDestroy()}}
Was this example helpful?