
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
问题1:老师,音乐资源在哪个手机?怎么共享的呢?
回复:音乐文件放在了工程的src/main/resources/rawfile路径下,并且把工程同时部署在了两部鸿蒙手机上,所以每部手机都有一份独立的音频文件。
问题2:老师,我想请问一下,设备的id是怎么生成的?每台设备id都是固定的吗?
回复:所有在线设备的id,是通过以下实用类中的静态方法生成的。每台设备的id并不是固定的,如果把设备重启一下,id会发生变化的。
public class DeviceUtils {
/**
* 获得所有在线设备的id列表
* @return 所有在线设备的id列表
*/
public static List<String> getOnlineDeviceIdList() {
// 获得所有在线设备的信息列表
List<DeviceInfo> onlineDeviceInfoList =
DeviceManager.getDeviceList(DeviceInfo.FLAG_GET_ONLINE_DEVICE);
// 如果所有在线设备的信息列表为空
if (onlineDeviceInfoList == null || onlineDeviceInfoList.isEmpty()) {
return null;
}
// 初始化所有在线设备的id列表
List<String> onlineDeviceIdList = new ArrayList<>(onlineDeviceInfoList.size());
// 遍历所有在线设备的信息列表
onlineDeviceInfoList.forEach((onlineDeviceInfo) -> {
// 根据设备信息得到设备id,然后将其添加到所有在线设备的id列表中
onlineDeviceIdList.add(onlineDeviceInfo.getDeviceId());
});
// 返回所有在线设备的id列表
return onlineDeviceIdList;
}
}
问题3:Service可以认为是个单例吗?
回复:Service是单实例的。在一个设备上,相同的Service只会存在一个实例。如果多个Ability共用这个实例,只有当与Service绑定的所有Ability都退出后,Service才能够退出。
问题4:跨设备的前提是这几个设备要在同一个wifi下就可以吗
回复:跨设备的条件有两个:(1)所有设备都登录同一个华为账号(2)所有设备连接到同一个Wifi,或者设备之间通过蓝牙进行连接
问题5:如果实际开发中在没有module之间引用,拿不到要启动对象的class怎么启动
回复:鸿蒙页面间导航可以通过显式方式和隐式方式,如果无法知道目标页面的完整Ability Name,可以通过隐式的方式指定action。
问题6:老师,还有一个问题,如果附近有多个设备,那怎么调用指定的某一台设备
回复:对于上述问题2中的代码,通过DeviceInfo不但可以得到所有在线设备的id,还可以得到设备的其它信息。
直播的相关示例代码,请见附件。