【发布时间】:2018-11-06 00:10:42
【问题描述】:
我正在使用 Kotlin 开发一个用于学习目的的 Android 应用程序。我使用 DynamoDB 作为后端。我也是新手。我知道如何使用 AWS Android SDK 从 Android Kotlin 中的表中查询记录。我从这样的表中获取所有记录。
val dynamoDBClient = AmazonDynamoDBClient(AWSMobileClient.getInstance().credentialsProvider)
val fetchedItems: ArrayList<Any> = ArrayList();
val scanRequest = ScanRequest().withTableName(MainApplication.DB_TABLE_ITEMS);
scanRequest.exclusiveStartKey = lastEvaluatedKey
val scanResult = dynamoDBClient.scan(scanRequest)
scanResult.items.forEach { item ->
val viewItem = ItemDO()
viewItem.id = item.get("Id")?.s
item.get("Images")?.ns?.size.toString())
}
但是我现在要做的是我想在表中添加两个新字段,称为纬度和经度。然后根据查询中传入的参数location查询得到最近位置的记录。为此,我必须在查询中使用数学函数,如 sin() 和 cos() 等。我怎样才能使用这些数学函数?然后我找到了另一个名为 CloudSearch 的 AWS 服务来搜索地理位置。在文档中,它说它可用于索引和搜索 DynamoDB 中的记录。但是没有针对 Android 的教程或文档来使用该 CloudSearch 服务来查询 DynamoDB 中的地理位置数据。也没有 Android SDK。我在哪里可以找到适合我的场景的不错的教程或文档?
我看了下面的文章,但是 Android 的 SDK 在哪里?下面的文章有 Android SDK 吗?
https://aws.amazon.com/blogs/mobile/geo-library-for-amazon-dynamodb-part-1-table-structure/
【问题讨论】:
标签: android kotlin amazon-dynamodb amazon-cloudsearch