Android 根据时间显示问好语句(早上好、上午好、中午好、下午好、晚上好)

        再做新项目时的一个需求,每次进入后页面头部要有对应的问候语比如:某某某:早上好、某某某:上午好……。针对这个需求我的思路就是通过获取系统时间(当然获取服务器上的时间最为精准,此处为了方便获取的是系统时间,如需要获取服务器时间请与后端工程师沟通),然后从获取的时间中提取他的时钟值,根据需求规定的时间区间返回对应的问候语,代码如下:

    /**
     * 设置问候语
     */
    private void setGreetings() {
        // 获取系统时间
        Calendar c = Calendar.getInstance();
        // 提取他的时钟值,int型
        int s = c.get(Calendar.HOUR_OF_DAY);
        // 接收应该返回的问候语
        String timeStr;
        switch (s) {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 19:
            case 20:
            case 21:
            case 22:
            case 23:
                timeStr = "Hi,晚上好";
                break;
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
                timeStr = "Hi,下午好";
                break;
            case 11:
            case 12:
            case 13:
                timeStr = "Hi,中午好";
                break;
            case 9:
            case 10:
                timeStr = "Hi,上午好";
                break;
            default:
                timeStr = "Hi,早上好";
                break;
        }
        // 页面问候语文本填充
        homeHelloTime.setText(timeStr);
    }

        这样进入页面后就能实现显示问候语了,如果有需要实时更新问候语的话,可与产品定一下刷新时间,然后添加个线程进行定时刷新,当然也有更便利的方式,该方法仅供参考,有什么好的方式也可分享一下,共同学习。

猜你喜欢

转载自blog.csdn.net/qq_40071033/article/details/126247932