如何解决模拟时钟从 ntp 开始的时间
亲爱的安卓开发者。我是 android prog 的初学者,Eng 不是我的基础语言,抱歉。 我有一个应用程序,它在视图中显示模拟时钟。现在这个应用程序使用“系统时间”(Calendar.getInstance)并每秒请求一次。但是我需要 1 个时间请求(来自 NTP)而不是它,并且在这个时钟之后应该使用“NTP”时间。我怎样才能做到这一点?任何想法,请。这是代码中最重要的部分
private void drawHand(Canvas canvas,double loc,boolean isHour,boolean isMinute) {
double angle = Math.PI * loc / 30 - Math.PI / 2;
int handRadius = 0;
if (isHour) {
handRadius = radius - handTruncation - hourHandTruncation;
} else if (!isHour && isMinute) {
handRadius = radius - handTruncation - minuteHandTruncation;
} else {
handRadius = radius - handTruncation;
}
canvas.drawLine(width / 2,height / 2,(float) (width / 2 + Math.cos(angle) * handRadius),(float) (height / 2 + Math.sin(angle) * handRadius),mPaint);
}
private void drawNumeral(Canvas canvas) {
mPaint.setTextSize(fontSize);
mPaint.setStrokeWidth(10);
for (int number:
numbers) {
String tmp = String.valueOf(number);
mPaint.getTextBounds(tmp,tmp.length(),mRect);
double angle = Math.PI / 6 * (number - 3);
//Log.d("angle",String.valueOf(angle));
int x = (int) (width / 2 + Math.cos(angle) * radius - mRect.width() / 2);
int y = (int) (height / 2 + Math.sin(angle) * radius + mRect.height() / 2);
canvas.drawText(tmp,x,y,mPaint);
}
}
private void drawHands(Canvas canvas) {
Calendar c = Calendar.getInstance();
float hour = c.get(Calendar.HOUR_OF_DAY);
hour = hour > 12 ? hour - 12 : hour;
drawHand(canvas,(hour * 5f + c.get(Calendar.MINUTE) * 5f / 60.0),true,false);
drawHand(canvas,c.get(Calendar.MINUTE),false,true);
drawHand(canvas,c.get(Calendar.SECOND),false);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。