2.3.1 初始化
## 2.3.1 初始化
* 请参照demo,在onCreate()设置各项数据:add\*(collection)各种本地数据,监听设备的网络状态、
播放状态、耳机蓝牙等的接入状态等。并初始化灵聚智能引擎,及聊天机器人类ChatRobot的实例:
聊天机器人类ChatRobot被设计成单例,必须由ChatRobotBuilder类创建。
~~~
ChatRobotBuilder.create(getApplication(),"APPKEY","AUTHCODE")
.setMusicContext(musicContext)
.setLocationAdapter(locationAdapter)
.setNetworkAdapter(networkAdapter)
.build(new ChatRobotBuilder.RobotInitListener() {
@Override
public void initComplete(int i) {
//String result1 = uploadEquipmentJson();
String result2 = uploadEquipmentList();
// String result3 = uploadEquipmentGroupJson();
String result4 = uploadEquipmentGroup();
}
});
~~~
* 关于APPKEY:请在灵聚开发者平台上申请应用并获取相应的APPKEY 和 AUTHCODE。
* ChatRobotBuilder创建后,用户需实现一系列的适配器并传入ChatRobotBuilder,这是为了让聊天机器人能够更智能地实现自然语言的语义理
解及分析,以下列出其适配器说明:
* MusicContext,音乐播放的上下文接口,该接口允许用户点播本地的歌曲及更智能地进行音乐播放的语音交互,如开发者无此需求则无需传入。
* LocationAdapter,定位适配,实时读取设备当前的位置,用于支持周边POI查询,出行查询,天气查询等,不传入则这一系列查询均无法正常使用。
* NetworkAdapter,网络监听适配,实时读取设备当前的网络状态,用于实时切换在线及离线引擎。
* **初始化结果状态码返回请在请求返回的回调方法中调用Command类中的getLoginMessage()方法获取。具体见demo中返回结果的回调方法。**
所有东西初始化完毕后,可在前端Activity发送各种Intent到该service中执行:识别、终止识别、合成、
终止合成、唤醒监听、终止唤醒监听、文本理解,见下图:
![图片.png](https://cos.easydoc.net/72919679/files/kagmh4ev.png)![](image/screenshot_1496400560195.png)
调用方式如:(详见demo的MainCommonActivity类)
~~~
Intent intent = new Intent(MainCommonActivity.this,MainService.class);
intent.putExtra(MainService.CMD,MainService.REG_STOP);
startService(intent);
~~~
Demo中发送intent调用MainService方法的逻辑仅供参考,开发者可自行实现。