模拟时钟从 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 (将#修改为@)