Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 启用在kotlin中使用tomtom搜索api_Android_Kotlin_Tomtom_Tomtom Android Sdk - Fatal编程技术网

Android 启用在kotlin中使用tomtom搜索api

Android 启用在kotlin中使用tomtom搜索api,android,kotlin,tomtom,tomtom-android-sdk,Android,Kotlin,Tomtom,Tomtom Android Sdk,这位官员已经找了一个星期了,根本不清楚 正如上面提到的,代码 val searchServiceConnection = SearchServiceManager.createAndBind(context, searchServiceConnectionCallback) 应在应用程序中初始化搜索API。但在这之后如何使用它还不清楚 我以正确的方式安装并初始化了API: 格拉德尔: //library required for search implementation("com.t

这位官员已经找了一个星期了,根本不清楚

正如上面提到的,代码

val searchServiceConnection = SearchServiceManager.createAndBind(context,
    searchServiceConnectionCallback)
应在应用程序中初始化搜索API。但在这之后如何使用它还不清楚

我以正确的方式安装并初始化了API:

格拉德尔:

//library required for search
implementation("com.tomtom.online:sdk-search:2.4264")



android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
雄激素单

<meta-data
            android:name="OnlineSearch.Key"
            android:value="your-tomtom-key" />

我假设您在AndroidManifest.xml文件中有一个正确的API密钥。如上所述,您可以分三步开始使用TomTom搜索API:

  • 创建SearchAPI对象:

    val searchApi = OnlineSearchApi.create(applicationContext)!!
    
  • 创建搜索查询对象:

    val text = "Berlin"
    val searchQuery = FuzzySearchQueryBuilder.create(text).build()
    
  • 调用搜索API并在侦听器中捕获结果:

    searchApi.search(searchQuery, object: FuzzySearchResultListener {
        override fun onSearchResult(response: FuzzySearchResponse?) {
            Toast.makeText(applicationContext, "results", Toast.LENGTH_SHORT).show()
        }
    
        override fun onSearchError(error: SearchError?) {
            Toast.makeText(applicationContext, "error", Toast.LENGTH_SHORT).show()
        }
    })
    

  • 我假设您在AndroidManifest.xml文件中有一个正确的API密钥。如上所述,您可以分三步开始使用TomTom搜索API:

  • 创建SearchAPI对象:

    val searchApi = OnlineSearchApi.create(applicationContext)!!
    
  • 创建搜索查询对象:

    val text = "Berlin"
    val searchQuery = FuzzySearchQueryBuilder.create(text).build()
    
  • 调用搜索API并在侦听器中捕获结果:

    searchApi.search(searchQuery, object: FuzzySearchResultListener {
        override fun onSearchResult(response: FuzzySearchResponse?) {
            Toast.makeText(applicationContext, "results", Toast.LENGTH_SHORT).show()
        }
    
        override fun onSearchError(error: SearchError?) {
            Toast.makeText(applicationContext, "error", Toast.LENGTH_SHORT).show()
        }
    })
    

  • 根据目前已弃用的给定答案,以下是新的等效答案:

        private val searchApi = OnlineSearchApi.create(application, TOMTOM_API_KEY)
    
        val term = "Berlin"
        
        searchApi.search(FuzzySearchSpecification.Builder(term).build(), object : FuzzyOutcomeCallback {
                            override fun onError(error: SearchException) {
                                Log.e(TAG, "onError: ", error)
                            }
                
                            override fun onSuccess(fuzzyOutcome: FuzzyOutcome) {
                                for (fuzzyDetails in fuzzyOutcome.fuzzyDetailsList)
                                    fuzzyDetails.apply { // process results (here we just print them)                               
                                      Log.d(TAG, "onSuccess: fuzzyDetails = $fuzzyDetails")
                                    }
                                  }
                                }) 
    

    根据目前已弃用的给定答案,以下是新的等效答案:

        private val searchApi = OnlineSearchApi.create(application, TOMTOM_API_KEY)
    
        val term = "Berlin"
        
        searchApi.search(FuzzySearchSpecification.Builder(term).build(), object : FuzzyOutcomeCallback {
                            override fun onError(error: SearchException) {
                                Log.e(TAG, "onError: ", error)
                            }
                
                            override fun onSuccess(fuzzyOutcome: FuzzyOutcome) {
                                for (fuzzyDetails in fuzzyOutcome.fuzzyDetailsList)
                                    fuzzyDetails.apply { // process results (here we just print them)                               
                                      Log.d(TAG, "onSuccess: fuzzyDetails = $fuzzyDetails")
                                    }
                                  }
                                })