【JAVA大作业开发记录(五)】

来源:互联网 发布:算法导论 第3版 pdf 编辑:程序博客网 时间:2024/06/04 19:00

    这一周主要完成了世界时钟模块的设计。

     时钟模块主要由一个主类和四个函数组成。时钟主类中定义了模块所需变量等,具体内容如下面代码所示。第一个函数是时间获取函数,实现系统时间的获取工作,获取系统默认calendar对象。这一模块涉及到的核心内容是获取系统时间,在安卓开发的书籍和资料中,我了解到安卓里设置系统时间常用的两种方法:第一种是用Date类来实现,并结合DateFormat类来实现时间的格式化;第二种是利用Calendar类来实现;利用Calendar类来实现日期时间和Date类相比更简单。第二个函数是时间更新函数,实现时钟的时间更新。第三个函数是时间的显示函数,主要实现系统时间的显示。最后一个函数是日期显示的格式化函数,能够使日期按规定格式所显示。


部分核心类和函数代码:


/**
 *
数字时钟主类
 */
public class DigitalClockextends LinearLayout {

    private final static String M12 ="h:mm";//设置 小时 分 格式

   
private Calendar mCalendar;//calendar
   
private String mFormat;//时间格式
   
private TextView mTimeDisplay;//时间显示文本
   
private AmPm mAmPm;
    private ContentObserver mFormatChangeObserver;
    private boolean mLive = true;
    private boolean mAttached;

 

获取calendar 对象  创建时间日期对象final Calendar c = Calendar.getInstance();c.set(Calendar.HOUR_OF_DAY, alarm.hour);//小时c.set(Calendar.MINUTE, alarm.minutes);//分钟digitalClock.updateTime(c);//更新时间
 
时间更新函数private void updateTime() {    if (mLive) {        //设置系统时间        mCalendar.setTimeInMillis(System.currentTimeMillis());    }    CharSequence newTime = DateFormat.format(mFormat, mCalendar);    mTimeDisplay.setText(newTime);    mAmPm.setIsMorning(mCalendar.get(Calendar.AM_PM) == 0);}格式化日期函数private void setDateFormat() {    mFormat = Alarms.get24HourMode(getContext()) ? Alarms.M24 : M12;    mAmPm.setShowAmPm(mFormat == M12);}

最终的UI效果如图:



0 0
原创粉丝点击