我正在尝试在两台采用 Android 操作系统的华硕平板电脑之间同步操作。
我目前正在使用此算法来执行此操作:
客户端平板电脑发送其日历的时间,如下所示:
Calendar cal = Calendar.getInstance();
cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SSSS");
connectionTablet.SendMessage( sdf.format(cal.getTime()) );
服务器平板电脑收到它:
Log.d( "NETWORK", "msg" );
msg 是从客户端发送的 cal.getTime,因此当我调试服务器平板电脑时,我可以在 logcat 中看到接收和打印此消息的时间。
两款平板电脑都使用自动日期和时间(使用网络提供的时间)。
我的问题是这样的,由于平板电脑从同一个地方获取时间信息,我知道它们在分钟和秒方面具有相同的时间,但是我可以假设它们的时间在毫秒方面也是同步的吗?
示例:
平板电脑 1 : 09:34:07.699 平板电脑 2:09:34:07.699(± 5 毫秒)
那么我可以假设这个假设在任何时间点都是有效的吗?
谢谢
最佳答案
不,因为每个设备都有自己的内部时钟,并且它们可能不会以完全相同的速度运行,这就是为什么设备会不时与网络时间源同步,但“中间”时间到来来自内部时钟,该时钟可能在某个时间点关闭。 这是假设网络同步完美的情况
关于java - 同步两台 Android 平板电脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10552439/