再做新项目时的一个需求,每次进入后页面头部要有对应的问候语比如:某某某:早上好、某某某:上午好……。针对这个需求我的思路就是通过获取系统时间(当然获取服务器上的时间最为精准,此处为了方便获取的是系统时间,如需要获取服务器时间请与后端工程师沟通),然后从获取的时间中提取他的时钟值,根据需求规定的时间区间返回对应的问候语,代码如下:
/**
* 设置问候语
*/
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);
}
这样进入页面后就能实现显示问候语了,如果有需要实时更新问候语的话,可与产品定一下刷新时间,然后添加个线程进行定时刷新,当然也有更便利的方式,该方法仅供参考,有什么好的方式也可分享一下,共同学习。