更新时间:2024-08-28 01:53:48下载pdf
本文介绍房间管理相关的功能,包括创建房间、修改房间、移除房间等,管理房间中的设备、群组绑定关系,注册监听来接收房间维度的事件回调。房间管理对应 FamilyManagerCoreKit.getRoomUseCase()
,调用接口来实现对单个房间的操作。
在指定家庭下添加房间,您需要传入房间名和家庭 ID。创建成功后调用 callback
回调房间模型。
接口说明
void addRoom(long homeId, String name,
IFamilyDataCallback<BizResponseData<TRoomBean>> callback);
参数说明
参数 | 说明 |
---|---|
name | 待添加房间名 |
homeId | 房间将要绑定到的家庭的 ID |
callback | 回调 |
调用示例
FamilyManagerCoreKit.getRoomUseCase().addRoom(0,"room1",object :IFamilyDataCallback<BizResponseData<TRoomBean>>{
override fun onSuccess(result: BizResponseData<TRoomBean>?) {
val data = result?.data
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
将房间从家庭下移除,您需要传入房间 ID 和家庭 ID。移除成功后调用 callback
回调。
接口说明
void removeRoom(long homeId, long roomId,
IFamilyDataCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
roomId | 将要删除的房间 ID |
homeId | 房间所属的家庭 ID |
callback | 回调 |
调用示例
FamilyManagerCoreKit.getRoomUseCase().removeRoom(homeId, roomId, object:IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
});
修改房间名称,传入新的房间名不能为空,修改成功后调用 callback
回调房间模型。
接口说明
void updateRoom(long roomId, String roomName,IFamilyDataCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
roomName | 将要修改的房间名 |
roomId | 将要修改的房间 ID |
callback | 成功回调 |
调用示例
FamilyManagerCoreKit.getRoomUseCase().updateRoom(homeId, "xxx", object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
});
查询家庭下的房间列表,传入对应的家庭 ID。成功后调用 callback
回调房间模型数组。
接口说明
void getRoomList(long homeId, boolean ignoreCache,IFamilyDataCallback<BizResponseData<List<TRoomBean>>> callback);
参数说明
参数 | 说明 |
---|---|
homeId | 家庭 ID |
ignoreCache | 是否使用缓存
|
success | 成功回调 |
调用示例
val ignoreCache = false//
FamilyManagerCoreKit.getRoomUseCase().getRoomList(homeId, ignoreCache, object :IFamilyDataCallback<BizResponseData<List<TRoomBean>>>{
override fun onSuccess(result: BizResponseData<List<TRoomBean>>?) {
val datalist = result?.data
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
});
新增房间时,可以调用接口查询推荐的房间名称,调用 callback
返回房间名称列表。
接口说明
void getRecommendRoomList(int listType,IFamilyDataCallback<BizResponseData<List<RoomCheckBean>>> callback);
参数说明
参数 | 说明 |
---|---|
listType | 推荐的类型:
|
callback | 失败回调 |
调用示例
FamilyManagerCoreKit.getRoomUseCase().getRecommendRoomList(ROOM_LIST_DEFAULT,object :IFamilyDataCallback<BizResponseData<List<RoomCheckBean>>>{
override fun onSuccess(result: BizResponseData<List<RoomCheckBean>>?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
对家庭下的房间列表排序,包含移动房间设备或群组(增加删除设备和群组),传入排序后的房间 ID,以及设置成功调用 callback
回调。
接口说明
void sortRoom(long homeId, List<Long> sortedIds,IFamilyDataCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
homeId | 房间所属的家庭 ID |
sortedIds | 将要设置排序的房间 ID 列表 |
callback | 回调 |
调用示例
FamilyManagerCoreKit.getRoomUseCase().sortRoom(0, roomIds , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
IThingHomeRoomInfoChangeListener
是房间管理类的接口,注册监听可以接收房间新增,房间移除,设备和群组的房间关系变化事件回调。
IThingHomeRoomInfoChangeExListener
是 IThingHomeRoomInfoChangeListener
的扩展接口,新增房间名称变更,房间排序变更,具体房间 ID 下的设备新增或者删减,具体房间 ID 下的群组新增或者删减。
接口说明
public interface IThingHomeRoomInfoChangeListener {
/**
* the Room of Device Information Update.
* <p>Such as name, etc.</p>
*
* @param devId The id of the device which you are listening to.
*/
void onDeviceRoomInfoUpdate(String devId);
/**
* the Room of Group Information Update.
* <p>Such as name, etc.</p>
*
* @param groupId The id of the Group which you are listening to.
*/
void onGroupRoomInfoUpdate(Long groupId);
/**
* the Room of Information Update.
* <p>Such as name, etc.</p>
*
* @param roomId The id of the Room which you are listening to.
*/
void onRoomAdd(String homeId, Long roomId);
/**
* the Room of Information Update.
* <p>Such as name, etc.</p>
*
* @param roomId The id of the Room which you are listening to.
*/
void onRoomDelete(String homeId, Long roomId);
}
public interface IThingHomeRoomInfoChangeExListener extends IThingHomeRoomInfoChangeListener {
/**
* device been added or removed from room
*
* @param roomId room id
* @param devId device id
* @param add add or not
*/
void onDeviceRoomInfoChanged(long roomId, String devId, boolean add);
/**
* group been added or removed from room
*
* @param roomId room id
* @param id group id
* @param add add or not
*/
void onGroupRoomInfoChanged(long roomId, long id, boolean add);
/**
* room name changed
*
* @param roomId room id
* @param name new room name
*/
void onRoomNameChanged(long roomId, String name);
/**
* room order changed
*/
void onRoomOrderChanged();
}
调用示例
val listener = object :IThingHomeRoomInfoChangeExListener{
override fun onDeviceRoomInfoUpdate(devId: String?) {
}
override fun onGroupRoomInfoUpdate(groupId: Long?) {
}
override fun onRoomAdd(homeId: String?, roomId: Long?) {
}
override fun onRoomDelete(homeId: String?, roomId: Long?) {
}
override fun onDeviceRoomInfoChanged(roomId: Long, devId: String?, add: Boolean) {
}
override fun onGroupRoomInfoChanged(roomId: Long, id: Long, add: Boolean) {
}
override fun onRoomNameChanged(roomId: Long, name: String?) {
}
override fun onRoomOrderChanged() {
}
}
//register HomeDeviceRoomlistener
FamilyManagerCoreKit.registerHomeDeviceRoomListener(homeId,listener)
//unregister HomeDeviceRoomlistener
FamilyManagerCoreKit.unregisterHomeDeviceRoomListener(homeId,listener)
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈