Android Studio AWS增强Android

qni6mghb  于 2023-03-24  发布在  Android
关注(0)|答案(1)|浏览(195)

我在Android Studio上使用AWS Amplify v2.3.0。查看AWS文档,我可以使用Kotlin-Callback或Kotlin-Coroutines代码。回调调用对我有效。但协程不起作用,因为IDE告诉我需要更多参数。
我需要使用协程,而不是回调。例如,带有回调的示例AWS代码可以在我身上工作:

private fun getTodo(id: String) {
    Amplify.API.query(ModelQuery.get(Todo::class.java, id),
        { Log.i("MyAmplifyApp", "Query results = ${(it.data as Todo).name}") },
        { Log.e("MyAmplifyApp", "Query failed", it) }
    );
}

但协同程序AWS示例代码不能正常工作,因为查询函数需要更多的参数。

suspend fun getTodo(id: String) {
   try {
       val response = Amplify.API.query(ModelQuery.get(Todo::class.java, id))
       Log.i("MyAmplifyApp", response.data.name)
   } catch (error: ApiException) {
       Log.e("MyAmplifyApp", "Query failed", error)
   }
}

有人知道发生了什么吗?
太感谢你了!

vm0i2vca

vm0i2vca1#

使用***AWS SDK forKotlin***编写Android应用。AWS SDK for Kotlin支持协程。请参阅 *Kotlin开发指南 * 中的文档主题:
https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/coroutines.html
使用此SDK,您可以从Android项目调用AWS服务。有关详细信息,请参阅AWS代码库中的此Android示例,该示例向您展示了如何创建在Android Studio项目中调用AWS服务的Android应用:
https://docs.aws.amazon.com/code-library/latest/ug/cross_SnsPublishSubscription_kotlin_1_topic.html
参见:

相关问题