如何在Java / Kotlin客户端库中为Google上的操作将一些数据保存到userStorage中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java / Kotlin客户端库中为Google上的操作将一些数据保存到userStorage中相关的知识,希望对你有一定的参考价值。
我想在Kotlin的userStorage中保存一些信息
在javascript中,我做了以下操作
exports.saveFloor = (conv, floor) => {
conv.user.storage.floor = floor;
}
这是客户library
答案
来自Name Psychic:
@ForIntent("request_name_permission")
public ActionResponse requestNamePermission(ActionRequest request) {
ResponseBuilder response = getResponseBuilder(request);
String requestedPermission = ConstantsKt.PERMISSION_NAME;
response.getConversationData().put(DATA_KEY_REQUESTED_PERMISSION, requestedPermission);
String storageKey = STORAGE_KEY_NAME;
if (!request.getUserStorage().containsKey(storageKey)) {
Permission permission =
new Permission()
.setContext(formatResponse("permission_reason"))
.setPermissions(new String[] {requestedPermission});
response.add("PLACEHOLDER_FOR_PERMISSION");
response.add(permission);
} else {
String name = (String) request.getUserStorage().get(storageKey);
response.add(formatResponse("say_name", name));
response.endConversation();
}
return response.build();
}
另一答案
我想我想要的片段是
Map<String, Object> storage = response.getUserStorage();
String requestedPermission =
(String) request.getConversationData().get(DATA_KEY_REQUESTED_PERMISSION);
if (requestedPermission.equals(ConstantsKt.PERMISSION_NAME)) {
String name = request.getUser().getProfile().getDisplayName();
storage.put(STORAGE_KEY_NAME, name);
response.add(formatResponse("say_name", name));
response.endConversation();
return response.build();
}
if (requestedPermission.equals(ConstantsKt.PERMISSION_DEVICE_COARSE_LOCATION)) {
String location = request.getDevice().getLocation().getCity();
storage.put(STORAGE_KEY_LOCATION, location);
showLocationOnScreen(request, response);
return response.build();
}
我的javascript代码相当于Kotlin
fun saveFloor(request: ActionRequest, floor: String) {
val response = getResponseBuilder(request)
val storage = response.userStorage as MutableMap
storage["floor"] = floor
}
欢呼Nick指出我正确的方向
以上是关于如何在Java / Kotlin客户端库中为Google上的操作将一些数据保存到userStorage中的主要内容,如果未能解决你的问题,请参考以下文章
标准 Kotlin 库中都有哪些 Java 8 Stream.collect 等效项?
如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?
如何在 Kotlin 中为 Android 的 RecyclerView 适配器初始化 viewHolder