## 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中執行:識別、終止識別、合成、
終止合成、喚醒監聽、終止喚醒監聽、文本理解,見下圖:

調用方式如:(詳見demo的MainCommonActivity類)
~~~
Intent intent = new Intent(MainCommonActivity.this,MainService.class);
intent.putExtra(MainService.CMD,MainService.REG_STOP);
startService(intent);
~~~
Demo中發送intent調用MainService方法的邏輯僅供參考,開發者可自行實現。