开发你的第一个机器人应用
准备开发环境
基于 Cruzr 开发机器人应用与开发普通 Android 应用并无二致,均采用 Android Studio IDE 进行开发。请前往 Android 官方网站下载Android Studio并安装。
创建项目
打开安装好的 Android Studio,参考 Android 官方指南 创建 Android 应用项目
添加依赖库
添加共享库的声明
打开 app/src/main/AndroidManifest.xml 文件,在 <application> 标签内添加使用 Cruzr 共享库的声明。
<?xml version="1.0" encoding="utf-8"?> <manifest> <application> <uses-library android:name="com.ubtrobot.rosa" android:required="true"/> </application> </manifest>
引入SDK包
拿到Cruzr SDK(cruzr.jar) ,在app目录下创建 cruzr-libs目录,将jar包放入该目录下。
打开app/build.gradle文件,在dependencies块内添加Cruzr依赖库
allprojects { repositories { flatDir { dirs 'cruzr-libs' } } } dependencies { compileOnly files('cruzr-libs/cruzr.jar') }
在 Android Studio 工具条上找到 Sync Project with Gradle Files按钮,点击执行同步操作。同步完毕后,便可使用 Cruzr 库中的 API。
注: Cruzr SDK 在系统内置最新版本, 开发者仅仅使用下载的 SDK 作为编译使用, 这样兼容性更稳定。
配置权限
基于 Cruzr 开发机器人应用,需要在 AndroidManifest 中声明必要的权限以及 Android 应用组件。
打开app/src/main/AndroidManifest.xml文件,在 <manifest>标签内添加调用 Cruzr API 的权限。
<?xml version="1.0" encoding="utf-8"?> <manifest> <uses-permission android:name="com.ubtrobot.permission.ROBOT" /> </manifest>
SDK 初始化
创建 Appication 的子类,并将类名设置到AndroidManifest 的 <application> 标签的 android:name 特性上
<?xml version="1.0" encoding="utf-8"?> <manifest> ... <application android:name=".YourApp"> ... </application> </manifest>
在创建的 Application 子类的 onCreate方法内,调用 Cruzr 的初始化方法。
public class YourApp extends Application { @Override public void onCreate() { super.onCreate(); Robot.initialize(this); } }
让机器人说"Hello"
Cruzr 以系统服务的形式提供多个模块的基础功能,让我们先试一试调用语音服务的语音合成 API让机器人说出 "Hello"。
打开项目中预先创建好的 app/src/main/java/…/MainActivity.java 文件,在 onCreate方法中添加以下代码:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SpeechManager speechManager = Robot.globalContext() .getSystemService(SpeechManager.SERVICE); speechManager.synthesize("Hello"); } }
安装并运行应用,参考 Android 官方指南 "Run your app"文档 的"Run on a real device"章节,执行相应操作,让你的第一个机器人应用在机器人设备上运行起来。如果一切正常,你将听到机器人说出"Hello"。
下一步
上面的例子让机器人应用启动的时候执行了说“Hello”的行为,实际情况下,是用户的指令让机器人执行行为的。skill 是 Cruzr 用于接收用户指令并执行行为的组件,首先应该做到熟练地实现一个 skill。请查看 create your first skill 章节。