深入理解Amazon Alexa Skill(三)】的更多相关文章

本节来讨论Alexa Skill中涉及到的授权问题. Alexa内功能的授权 Alexa会发给skill用户的token,然后skill代码使用这个token来访问Web API访问用户的Alexa内的功能,如list等. 授予skill第三方的权限--Account Linking 参考:https://developer.amazon.com/docs/account-linking/understand-account-linking.html#account-linking-and-th…
本节利用三星Smartthings Classic物联网平台的web service smartapp,实现了一个Alexa智能家居skill的例子,由此来了解Alexa是如何控制其他云的智能家居设备的. 三星Smartthings平台是如何运行第三方云来控制其设备的 三星Smartthings Classic支持开发者自己编写SmartApp来控制智能家居设备.参考官网中Web Service SmartApps的教程就可以写一个允许使用Web API来远程控制该平台设备的SmartApp.简…
语音助手(Virtual Personal Assistants, VPA)是物联网智能家居中很火的一个领域,用户可以通过语言作为入口来控制家里各种各样的设备,而亚马逊的Alexa(echo,echo dot)是做的最早也是最优秀的一款产品,衍生出了很大的开发生态圈.本文基于亚马逊的官方文档试图记录作者对其Skill工作原理的理解. 这不是一个手把手Skill开发入门教程,仅仅讲解了概念与个人的一些理解 宏观概念 Alexa提供一系列内置的功能,比如回答问题,语音游戏,控制智能家居设备,这些功能…
理解skill调用 本节来更详细的讨论alexa是如何确定调用哪个skill的. 参考:https://developer.amazon.com/zh/docs/custom-skills/understanding-how-users-invoke-custom-skills.html 明确调用(Specific Request (Intent)) 用户在语音中明确的包含了要调用的skill的名字,云会给skill发送一个带有具体intent的 IntentRequest.用户可以有很多种表达…
访问Alexa的API,必须要携带AccessToken,也就是必须要登录授权,本文主要记录Amazon Alexa在Android平台上的登录授权过程. 一.在亚马逊开发者平台注册应用 进入亚马逊开发者平台的Alexa栏 https://developer.amazon.com/edw/home.html#/ 点击Alexa Voice Service的Get Started,进入到应用管理页面 选择注册一个产品,我这边选的是application,然后开始填写相关信息. 这里Applicat…
理解JavaScript继承(三) 通过把父对象的属性,全部拷贝给子对象,也能实现继承. 7.浅拷贝 function extendCopy(p) { var o = {}; for (var prop in p) { o[prop] = p[prop]; } return o; } 但是,这样的拷贝有一个问题.那就是,如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能.所以,extendCopy()只是拷贝基本类型的数据,…
本文原创作者:Cloud Chou. 出处:本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 深入理解Activity启动流程(一)--Activity启动的概要流程 深入理解Activity启动流程(二)--Activity启动相关类的类图 深入理解Activity启动流程(三)--Activity启动的详细流程1 深入理解Activity启动流程(四)--Activity Task的调度算法 上篇博客介绍了Activity详细启动流程的前半部分:…
本文原创作者:Cloud Chou. 出处:本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 深入理解Activity启动流程(一)--Activity启动的概要流程 深入理解Activity启动流程(二)--Activity启动相关类的类图 深入理解Activity启动流程(三)--Activity启动的详细流程2 深入理解Activity启动流程(四)--Activity Task的调度算法 本篇博客将开始介绍Activity启动的详细流程,由于…
本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 深入理解Activity启动流程(一)--Activity启动的概要流程 深入理解Activity启动流程(二)--Activity启动相关类的类图 深入理解Activity启动流程(三)--Activity启动的详细流程1 深入理解Activity启动流程(四)--Activity Task的调度算法 上篇博客介绍了Activity详细启动…
我理解的数据结构(三)-- 队列(Queue) 一.队列 队列是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素 队列是一种先进先出的数据结构(FIFO) 二.数组队列与循环队列 1. 数组队列 如果你有看过我之前的文章不要小看了数组或者栈,你就会发现,自己封装一个数组队列是如此的轻松加愉快! (1)先定义一个接口,接口中定义队列需要实现的方法 public interface Queue<E> { int getSize(); bo…