简单日历的开发与实现

简单日历的开发与实现
简单日历的开发与实现

淮北师范大学

简单日历的开发与实现

学院计算机科学与技术

专业 11计算机科学与技术(非师范)

学生姓名

学号

指导教师姓名

年月日

简单日历的开发与实现

作者:

指导教师:

摘要:目前,日历的应用非常广泛,无论是工人、农民、商人、学生还是官员,都离不开日历。通过使用日历,人们可以更好地规划未来的工作和学习等的时间安排,并且可以方便查看日期,不要自己来记忆或者记不清日期,日历的应用给人们的运算带来了极大的方便。

这篇文章主要介绍用软件的方法实现简单日历的实现,包括:日历的概述,日历的开发原理和主要实现的功能,子模块的设计和实现技术。本系统需要实现以下功能:能够显示实现1950-2100年的日期,包括公历、星期。能够显示系统时间。能够设置闹钟。

该日历的实现是通过Java来编写的。Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java 支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。

关键词:日历;系统时间;计算方法

目录

引言 (4)

1 简单日历系统概述 (4)

1.1设计简单日历的背景 (4)

2系统需要 (4)

2.1设计分析 (4)

2.1.1需求分析 (4)

2.2开发环境 (4)

2.2.1运行环境 (4)

2.2.2开发工具 (4)

2.2.3关于Ecilpes (4)

3系统设计 (5)

3.1功能说明 (5)

3.1.1系统功能分析 (5)

3.2系统大概 (5)

3.2.1设计思路 (5)

3.2.2日历运算流程图 (6)

4系统的实现.................................. .. (6)

4.1窗口的设计 (6)

4.1.1设计步骤 (6)

4.1.2部分操作截图 (9)

4.2程序核心代码 (11)

4.2.1 初始化组件 (11)

4.2.2 初始化数据 (12)

4.2.3 showCalendar显示日历函数 (12)

4.2.4 mouseClicked函数 (13)

4.2.5 Timer显示时间函数 (13)

5系统运行与测试 (14)

5.1运行界面 (14)

5.2测试 (15)

5.2.1测试研究与选择 (15)

5.2.2测试环境 (15)

5.3程序代码 (15)

总结 (23)

参考文献 (23)

引言

本设计主要是为了让人们更好地使用日历,可以方便的查看日期,并且可以设置日志记录或闹钟,本设计主要在每月日期的显示,以及系统时间的显示设计上,还可以在页面上输入要查找的年份并且显示。

1 简单日历概述

1.1设计简单日历的背景

人们在日常学习、工作和生活过程中,日历的作用是不容置疑的,不仅可以让我们用来查看日期和是星期几了,还可以在有事的某一天添加日志或闹钟来提醒自己,让我们忘掉重要事的可能大大降低。

2 系统需求

2.1设计分析

2.1.1 需求分析

本软件主要用于计算机Windows XP以上的用户使用,这次课程设计一般是实现简单日历的功能。需要程序实现:日期的显示功能;还要实现日期与星期的查询并跳转等功能。另外还要实现添加日志或闹钟的功能。可以在设定的那一天显示提醒。

2.2 开发环境

2.2.1 运行环境

系统是在eclipse环境下开发的,在Windows98/Windows2000/Windows NT/Windows XP平台下运行均可。

2.2.2 开发工具

Java语言

2.2.3 关于eclipse

Visual Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java 集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse 的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。尽管Eclipse 是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse 的应用程序的一个突出例子是IBM Rational Software Architect,它构成了IBM Java开发工具系列的基础。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse 的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM 提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse 项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开放源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。

3 系统设计

3.1 功能说明

3.1.1 系统功能

本系统需要实现以下功能:日期和星期的显示,年份的查找(既可以由上下键来实现上一年和下一年查找的操作),月份的查找(既可以由上下键来实现上一月和下一月查找的操作),日志的创建和删除功能。

3.2 系统大概

3.2.1设计思路

1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。

2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。

3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月

一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。

3.2.2 日历运算流程图

图3-1日历运算流程图

4 系统的实现

4.1 窗口的设计

4.1.1 设计步骤

打开Eclipse,在文件中点击新建,在弹出框内选择project,选择Java Project,点击Next,如图4-1所示。

图4-1新建Java Project

将弹出New Java Project对话框,设置Project Name为aa,点击完成,如图4-2所示。

图4-2

在新建中打开,选择class后,再出现的对话框中设置Name为wannianli如图4-3所示。

图4-3

4.1.2 部分操作截图

日历显示界面:

日历日期查找界面:

添加日志界面

4.2 程序核心代码

4.2.1 初始化组件

import java.awt.*;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.text.DateFormat;

import java.text.SimpleDateFormat; import java.util.Calendar;

import java.util.Date;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

4.2.2 初始化数据

public class wannianli extends JFrame implements ActionListener, MouseListener {

private Calendar cld = Calendar.getInstance();

private String [] astr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};

private DefaultTableModel dtm = new DefaultTableModel(null,astr);

private JTable table = new JTable(dtm); //装日期的表格 private JScrollPane sp = new JScrollPane(table);

private JButton bLastYear = new JButton("上一年");

private JButton bNextYear = new JButton("下一年");

private JButton bLastMonth = new JButton("上月");

private JButton bNextMonth = new JButton("下月");

private JTextField jtfYear = new JTextField(5);//jtfYear年份显示和输入文本框

private JTextField jtfMonth = new JTextField(2);//jtfMonth月份显示文本框 private JPanel p1 = new JPanel(); //装入控制日期按钮的模块 private JPanel p2 = new JPanel();

private JPanel p3 = new JPanel(new BorderLayout());

private JPanel p4 = new JPanel(new GridLayout(2,1));

private JPanel p5 = new JPanel(new BorderLayout());

private JButton bAdd = new JButton("保存日志");

private JButton bDel = new JButton("删除日志");

private JTextArea jta = new JTextArea(); //jta--JTextArea private JScrollPane jsp = new JScrollPane(jta);

private JLabel l = new JLabel("年份文本框中可直接键入要查找的年份,以提高查询效率");

private JLabel lt = new JLabel();

private JLabel ld = new JLabel();

private int lastTime;

4.2.3 showCalendar函数(显示日历)

public void showCalendar(int localYear, int localMonth, Calendar cld)

{

int Days = getDaysOfMonth(localYear, localMonth) + cld.get(Calendar.DAY_OF_WEEK) - 2;

Object [] ai = new Object[7];

lastTime = 0;

for (int i = cld.get(Calendar.DAY_OF_WEEK)-1; i <= Days; i++)

{

ai[i%7] = String.valueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-2)); if (i%7 == 6)

{

dtm.addRow(ai);

ai = new Object[7];

lastTime++;

}

}

dtm.addRow(ai);

}

4.2.4 mouseClicked函数(鼠标点击)

public void mouseClicked(MouseEvent e)

{

jta.setText(null);

int r = table.getSelectedRow();

int c = table.getSelectedColumn();

if (table.getValueAt(r,c) == null)

{ ld.setText("没有选择日期") }

else

{ this.showTextArea(table.getValueAt(r,c)); }

}

public void mousePressed(MouseEvent e)

{ }

public void mouseReleased(MouseEvent e)

{ }

public void mouseEntered(MouseEvent e)

{ }

public void mouseExited(MouseEvent e)

{ }

4.2.5显示时间函数

class Timer extends Thread//显示系统时间

{

private JLabel lt;

private SimpleDateFormat fy = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");

private SimpleDateFormat fn = new SimpleDateFormat("yyyy.MM.dd G 'at' HH mm ss z");

private boolean b = true;

public Timer(JLabel lt)

{

this.lt = lt;

}

public void run()

{

while (true)

{

try

{

if (b)

{ lt.setText(fy.format(new Date()));}

else

{ lt.setText(fn.format(new Date())); } b = !b;

this.sleep(500);

}

catch (InterruptedException ex)

{

ex.printStackTrace();

}

}

}

5 系统运行

5.1 运行界面

5.2 测试

5.2.1 测试研究与选择

测试过程中要判断是否成功,要分析程序界面的变化和计算数据的结果是否正确以及各功能键是否能正常实用。

5.2.2 测试环境

测试系统:Windows98/Windows2000/Windows NT/Windows XP

测试工具:Eclipse

5.3 程序代码

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

public class wannianli extends JFrame implements ActionListener, MouseListener {

private Calendar cld = Calendar.getInstance();

private String [] astr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};

private DefaultTableModel dtm = new DefaultTableModel(null,astr);

private JTable table = new JTable(dtm);

private JScrollPane sp = new JScrollPane(table);

private JButton bLastYear = new JButton("上一年");

private JButton bNextYear = new JButton("下一年");

private JButton bLastMonth = new JButton("上月");

private JButton bNextMonth = new JButton("下月");

private JTextField jtfYear = new JTextField(5);

private JTextField jtfMonth = new JTextField(2);

private JPanel p1 = new JPanel();

private JPanel p2 = new JPanel();

private JPanel p3 = new JPanel(new BorderLayout());

private JPanel p4 = new JPanel(new GridLayout(2,1));

private JPanel p5 = new JPanel(new BorderLayout());

private JButton bAdd = new JButton("保存日志");

private JButton bDel = new JButton("删除日志");

private JTextArea jta = new JTextArea();

private JScrollPane jsp = new JScrollPane(jta);

private JLabel l = new JLabel("年份文本框中可直接键入要查找的年份,以提高查询效率");

private JLabel lt = new JLabel();

private JLabel ld = new JLabel();

private int lastTime;

public wannianli()

{

super("简单日历");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().setLayout(new BorderLayout(10, 0));

jta.setLineWrap(true);

table.setGridColor(Color.GRAY);

table.setColumnSelectionAllowed(true);

table.setSelectionBackground(Color.BLACK);

table.setSelectionForeground(Color.GREEN);

table.setBackground(new Color(184,207,229));

table.setFont(new Font("黑体",Font.BOLD,24));

table.setRowHeight(30);

table.addMouseListener(this);

jtfYear.addActionListener(this);

bAdd.addActionListener(this);

bDel.addActionListener(this);

bLastYear.addActionListener(this);

bNextYear.addActionListener(this);

bLastMonth.addActionListener(this);

bNextMonth.addActionListener(this);

p1.add(bLastYear);

p1.add(jtfYear);

p1.add(bNextYear);

p1.add(bLastMonth);

p1.add(jtfMonth);

p1.add(bNextMonth);

p2.add(bAdd);

p2.add(bDel);

p3.add(jsp, BorderLayout.CENTER);

p3.add(p2, BorderLayout.SOUTH);

p3.add(ld, BorderLayout.NORTH);

p4.add(l);

p4.add(lt);

p5.add(p4, BorderLayout.SOUTH);

p5.add(sp, BorderLayout.CENTER);

p5.add(p1, BorderLayout.NORTH);

this.getContentPane().add(p5, BorderLayout.CENTER);

this.getContentPane().add(p3, BorderLayout.EAST);

String [] strDate = DateFormat.getDateInstance().format(new Date()).split("-");

cld.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1])-1, 0);

showCalendar(Integer.parseInt(strDate[0]),

Integer.parseInt(strDate[1]), cld);

jtfMonth.setEditable(false);

jtfYear.setText(strDate[0]);

jtfMonth.setText(strDate[1]);

this.showTextArea(strDate[2]);

ld.setFont(new Font("新宋体",Font.BOLD,24));

new Timer(lt).start();

this.setBounds(200,200,600,320);

this.setResizable(false);

this.setVisible(true);

}

public void showCalendar(int localYear, int localMonth, Calendar cld)

{

int Days = getDaysOfMonth(localYear, localMonth) + cld.get(Calendar.DAY_OF_WEEK) - 2;

Object [] ai = new Object[7];

lastTime = 0;

for (int i = cld.get(Calendar.DAY_OF_WEEK)-1; i <= Days; i++)

{

ai[i%7] = String.valueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-2)); if (i%7 == 6)

{

dtm.addRow(ai);

ai = new Object[7];

lastTime++;

}

}

dtm.addRow(ai);

}

public int getDaysOfMonth(int year, int Month)

{

if(Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12)

{

return 31;

}

if(Month == 4 || Month == 6 || Month == 9 || Month == 11)

{

return 30;

}

if(year%4 == 0 && year%100 != 0 || year%400 == 0)//闰年

{

return 29;

}

else

{

return 28;

}

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == jtfYear || e.getSource() == bLastYear || e.getSource() == bNextYear ||

e.getSource() == bLastMonth || e.getSource() == bNextMonth) {

int m, y;

try

{

if (jtfYear.getText().length() != 4)

{

throw new NumberFormatException();

}

y = Integer.parseInt(jtfYear.getText());

m = Integer.parseInt(jtfMonth.getText());

}

catch (NumberFormatException ex)

{

JOptionPane.showMessageDialog(this, "请输入4位0-9的数字!", "年份有误", JOptionPane.ERROR_MESSAGE);

return;

}

ld.setText("没有选择日期");

for (int i = 0; i < lastTime+1; i++){ dtm.removeRow(0);}

if(e.getSource() == bLastYear){ jtfYear.setText(String.valueOf(--y)); }

if(e.getSource() == bNextYear){jtfYear.setText(String.valueOf(++y)); }

if(e.getSource() == bLastMonth)

{

if(m == 1)

{

jtfYear.setText(String.valueOf(--y));

m = 12;

jtfMonth.setText(String.valueOf(m));

}

else

{

jtfMonth.setText(String.valueOf(--m));

}

}

if(e.getSource() == bNextMonth)

{

if(m == 12)

{

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

2020年每月的个人计划日历表(简洁打印版本)

2020 1月2月3月4月 一二三四五六日一二三四五六日一二三四五六日一二三四五六日 3031123452728293031122425262728291303112345 6789101112345678923456786789101112 1314151617181910111213141516910111213141513141516171819 20212223242526171819202122231617181920212220212223242526 27282930311224252627282912324252627282927282930123 3456789234567830311234545678910 5月6月7月8月一二三四五六日一二三四五六日一二三四五六日一二三四五六日272829301231234567293012345272829303112 4567891089101112131467891011123456789 11121314151617151617181920211314151617181910111213141516 18192021222324222324252627282021222324252617181920212223 2526272829303129301234527282930311224252627282930 12345676789101112345678931123456 9月10月11月12月一二三四五六日一二三四五六日一二三四五六日一二三四五六日311234562829301234262728293031130123456 78910111213567891011234567878910111213 1415161718192012131415161718910111213141514151617181920 21222324252627192021222324251617181920212221222324252627 282930123426272829303112324252627282928293031123 56789101123456783012345645678910

《VB语言及程序开发环境(“时钟日历”的制作)》教学设计

〈〈VB语言及程序开发环境(“时钟日历”的制作)》 教学设计

是VB 的一个语句,VB 的程序就是由这样的一组语句组成。 每一个语句 都是按照一定的 规则书写的。 总结上述分析,我们可以得到 VB 程序的一般包括如下部分: 数据的输入部分 讲 授 新 探究: 【学生】考察上述程序,我们容易看到:程序共有代码 6行,每一行都 降【教师】 究(1) 数据类型说明部分 (3) 数据的处理部分 (4) 数据的输出部分 (一)任务一 【教师】要求学生设计所要求程序的程序界面, 参考课本30页的图2-1, VB 程序设计语言的开发环境。 (二)任务二 学习工具箱中用到的控件。 (三)任务三 编写程序并运行结果 学生通过 三个任务 体验VB 语 言及程序 开发环境

(四)可视化程序的开发环境 前面的学习使我们知道,要较快地学会运行调试VB程序,首先需要熟 悉VB程序设计语言的开发环境。VB程序设计语言的开发环境的界面如下图: VB程序设计语言的开发环境中,控件工具箱、代码窗口、窗体设计器窗口、工程资源管理器窗口、属性窗口是一些常用的程序设计与调试工具,这些工具互相协调、互相补充,如果熟练、合理地使用会大大地减少应用程序的开发难度,提高工作效率。 在了解、熟悉了VB程序设计语言的开发环境以后,结合课本27页28页 展 (一)VB定义的常用的基本数据类型 作

试试编者按写下面程序: Private Sub Command _ Click() Const PI as Single=3.14 Dim r as Single, s as Single r=Inputbox( " r=俞入半径") s= PI*r*r End Sub 运行的结果是: Print 圆的面积 _ 力 _ s= ;s

java课程设计策画日历记事本

课程设计说明书 课程: Java程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日

《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计

java课程设计 万年历 源代码

华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

简单日历的开发与实现

淮北师范大学 简单日历的开发与实现 学院计算机科学与技术 专业 11计算机科学与技术(非师范) 学生姓名 学号 指导教师姓名 年月日

简单日历的开发与实现 作者: 指导教师: 摘要:目前,日历的应用非常广泛,无论是工人、农民、商人、学生还是官员,都离不开日历。通过使用日历,人们可以更好地规划未来的工作和学习等的时间安排,并且可以方便查看日期,不要自己来记忆或者记不清日期,日历的应用给人们的运算带来了极大的方便。 这篇文章主要介绍用软件的方法实现简单日历的实现,包括:日历的概述,日历的开发原理和主要实现的功能,子模块的设计和实现技术。本系统需要实现以下功能:能够显示实现1950-2100年的日期,包括公历、星期。能够显示系统时间。能够设置闹钟。 该日历的实现是通过Java来编写的。Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java 支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 关键词:日历;系统时间;计算方法

Android日历完整实现

实用第一智慧密集 2011. 05 实现基于Android 的日历系统 摘要: Android 作为目前较为流行的智能手机操作系统已成为大多数人的首选。在美国乃至世界 的很多地方的出货量已经超越Iphone,成为世界上最大智能手机操作系统。因此,世界各地的程 序员都跃跃欲试地想学习Android 的开发,并希望从中捞得属于自己的第一桶金。在此给出一个 基于Android 的日历系统的完整实现过程。 关键词: Android;日历;绘画;农历;记录;提醒 1 引言 要实现的日历除了常规的日历功能外,还可以显示与当前 日期相关的信息,如当前日期的农历日期、天干地支、节日等 信息。下面先看看日历的绚丽界面,如图1、图2 所示。 主要功能

2 绘画基础 由于实现的日历系统要涉及到大量的Android 绘图技术, 因此,要简单介绍Android 的绘图技术。 绘制图形通常在Android.view.View 或其子类的onDraw 方 法中进行。该方法的定义如下: protected void onDraw(Canvas canvas); 其中Canvas 对象提供了大量用于绘图的方法,这些方法 主要包括绘制像素点、直线、圆形、弧、文本,这些都是组成 复杂图形的基本元素。如果要画更复杂的图形,可以采用组合 这些图形基本元素的方式来完成。例如,可以采用画3 条直线 的方式来画三角形。下面来看一下绘制图形基本元素的方法。 2.1 绘制像素点 public native void drawPoint(float x, float y, Paint paint); // 画一个像素点 public native void drawPoints(float[] pts, int offset, int count, Paint paint); // 画多个像素点 public void drawPoints(float[] pts, Paint paint); // 画多个像素点 参数的含义如下: (1) x:像素点的横坐标。 (2) y:像素点的纵坐标。 (3) paint:描述像素点属性的Paint 对象。可设置像素点 的大小、颜色等属性。绘制其他图形元素的Paint 对象与绘制 像素点的Paint 对象的含义相同。在绘制具体的图形元素时可 根据实际的情况设置Paint 对象。 (4) pts: drawPoints 方法可一次性画多个像素点。pts 参数 表示多个像素点的坐标。该数组元素必须是偶数个,两个一组 为一个像素点的坐标。 (5) offset: drawPoints 方法可以取pts 数组中的一部分连 续元素作为像素点的坐标,因此,需要通过offset 参数来指定 取得数组中连续元素的第一个元素的位置,也就是元素偏移 量,从0 开始。例如,要从第3 个元素开始取数组元素,那么 offset 参数值就是2。 (6) count:要获得的数组元素个数, count 必须为偶数 (两个数组元素为一个像素点的坐标)。 要注意的是, offset 可以从任意一个元素开始取值,例如, offset 可以为1,然后count 为4。

2012年放假安排日历表

2012年01月壬辰年【龙年】 一二三四五六日 1 腊八节 2 初九 3 初十 4 十一 5 十二 6 小寒 7 十四 8 十五 9 十六10 十七 11 十八 12 十九 13 二十 14 廿一 15 廿二 16 小年17 廿四 18 廿五 19 廿六 20 大寒 21 廿八 22 除夕 23 春节24 初二 25 初三 26 初四 27 初五 28 初六 29 初七 30 初八31 初九 2012年02月壬辰年【龙年】 一二三四五六日 1 初十 2 十一 3 十二 4 立春 5 十四 6 元宵节 7 十六 8 十七 9 十八 10 十九 11 二十 12 廿一 13 廿二 14 情人节 15 廿四 16 廿五 17 廿六 18 廿七 19 雨水 20 廿九21 三十 22 2月小 23 初二 24 初三 25 初四 26 初五 27 初六28 初七 29 初八

2012年03月壬辰年【龙年】 一二三四五六日 1 初九 2 初十 3 十一 4 十二 5 惊蛰 6 十四 7 十五 8 妇女节 9 十七 10 十八 11 十九 12 植树节13 廿一 14 廿二 15 廿三 16 廿四 17 廿五 18 廿六 19 廿七20 春分 21 廿九 22 3月大 23 初二 24 初三 25 初四 26 初五27 初六 28 初七 29 初八 30 初九 31 初十2012年04月壬辰年【龙年】 一二三四五六日 1 十一 2 十二 3 十三 4 清明节 5 十五 6 十六 7 十七 8 十八 9 十九10 二十 11 廿一 12 廿二 13 廿三 14 廿四 15 廿五 16 廿六17 廿七 18 廿八 19 廿九 20 谷雨 21 4月大 22 初二 23 初三24 初四 25 初五 26 初六 27 初七 28 初八 29 初九 30 初十

C++课程设计(日历的实现)

万年历的C++实现 1、课程设计目的 编写具有以下功能的C++程序: (1)、输入一个年份,输出是在屏幕上显示该年的日历。 假定输入的年份在1940-2040年之间。 (2)、输入年月,输出该月的日历。 (3)、输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 要求该程序能提供日历的一些基本功能,且方便管理和 操作,易于扩充 2、需求分析 现在的软件市场的确有各种各样的日历软件可供我们 选择,这些软件大多含有其他的一些的功能,真正方便 快捷的日历软件却并不多,因此设计一个能真正服务大 家的日历程序是有必要的。 3、设计思路 (1)、在屏幕上输出某一年的日历。 考虑到程序有三个主要功能模块,于是运用了 类的相关知识,建立一个calendar.h的头文件。 由于程序提供1940年以后年份的服务,因此首 先要确定1940年1月1号为星期几,然后以此 为基准点确定该天以后的日历,对于功能(1), 需要推出一个算法,如下:k的初值为2, test=((year-1940)/4*5+((year-1940)%4==0?0:((year-1940)%4+1)))%7+2; k=test%7==0?7:test%7;//k=0表示星期天,test为一中间变量, 用来确定1940年以后每一年的1月1号为星期 几,这样更方便输出每一年的日历,而且在程 序中的循环过程也大大提供程序运行的效率。 因为在日历里面,星期是连续不断地,七天一

循环,所以在整个程序里面需要定义一个变量 代表星期,更加方便月与月之间的联系,由于 需要用到函数,所以又把该变量定义指针变量, 这样更加方便操作,在后面的程序,有许多的 变量都需要通过指针来达到更加高效的操作, 具体见程序源代码。 (2)、输入年月,在屏幕上输出该月的日历。 同上面一样,为了要方便输出某一月份的日历, 就要先确定该月的第一天为星期几,这样才比 较方便,这样有需要一个算法,如下: for(int m=1;m<*ymonth;m++) for(int j=1;j<=(m!=2?month_numble[m-1]:(*year%4==0?29:28));j++) { *k=*k%7; *k+=1; } for(int h=1;h<*k;h++) cout<<"\t"; 以上算法是用在自定义函数里面,因此有些地 方用到指针,而且在确定月份时,还要注意区 别是否为闰年二月。 (3)、输入年月日,输出距今天还有多少天,星期几,是否是公历节日。通过上面两个子程序就可以 实现输入的这一天为星期几,至于是否为公历 节日,只需事先录入一些公历节日的具体日 期,然后再程序里通过if语句就可以实现。输 出距离今天有多少天,这就需要这就需要程序 能够读取系统时间,因此要用到windows.h头 文件,而且这同样需要一个算法,如下: int

java日历制作源代码

import java.util.Scanner; public class rili{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入年份,并回车:"); int year=in.nextInt(); System.out.println("请输入月份,并回车:"); int month=in.nextInt(); int sum=0; for(int i=1900;i

用c++编写日历程序

1、first.cpp文件清单 #include int IsLeapYear(int year) //判断是否是闰年; { if(year%4==0&&year%100!=0||year%400==0) return 1; else return 0; } 2、second.cpp文件清单 #include #include"aaa.h"// void main() { int i,j,year,y,k,ds; int month_first[12]; int month_number[12]={31,28,31,30,31,30,31,31,30,31,30,31}; char month[12][20]={"一月","二月","三月","四月","五月","六月", "七月","八月","九月","十月","十一月","十二月"}; cin>>year; for(k=year-1;k<=year+1;k++)//控制前后三年年份的输入; { cout<1990) for(y=1990;yk;y--) { if(IsLeapYear(y)==1) { ds+=366;} else ds+=365;//计算从基准点(1990年1月1日)开始至所求年份前一年的天数; } for(i=0;i<12;i++) { if(IsLeapYear(k)==1) { month_number[1]=29; }

简易日历课程设计报告(VB)

简易日历设计报告 学院班级学号姓名成绩 一、设计思路 1.要达到的目的 ①能够窗体加载自动提取并显示当前日期。 ②能够选择1960-2060之间的任一年份。 ③选择某一日期后,添加边框。 ④在窗体下方显示所选择的日期及其星期。 ⑤单击确定或“Enter”后显示所选日期。 ⑥单击“退出”或单击“Esc”键退出关闭窗。 ⑦根据所选年份和月份,确定显示天数的个数。 ⑧日期和星期对齐。 ⑨在日历提示一些固定节假日。 ⑩判断生肖,并用图片的形式显示出来。 2.关键问题的解决 ①利用数组向下拉列表框中填充项目,调整标签显示数据。 ②利用时间函数取得当前日期和星期,并显示在文本框中,根据日期调整列表框种显示的项目。 ③选择某一标签后,改变其边框,其他标签无边框。 ④单击项目时从下拉列表框中取得与月份和年份对应的值储存在变量中,单击标签取得日期数值,按 下确定。按钮将其合并为日期,利用函数计算星期,调整格式显示在文本框中。 ⑤选择月份和年份后,于28,29,30,31组合并调整为日期格式,与日期型匹配,看是否存在。 ⑥根据某天是否存在更改标签隐藏属性。 ⑦根据星期数移动数组调整标签caption属性,使星期与日期对齐。 ⑧将节日与其提示信息存在文本中,当当前日期与文件中相同时,用消息提示框显示提示信息。 ⑨利用图片加载,实现生肖判断。

二、模块之间的调用关系,或程序流程图 Form load Command2 Fillcbomonth 三、部分程序关键源代码及注释 Dim day1 As Integer Private Sub Cbomonth_Click() Labeldate.Caption = "" Labeljr.Caption = "" Labelweek = "" 注释:仅有月份的变化不足以计算出星期,故使labelweek为空Call setday Call lblnumber_Click(selectedate - 1) End Sub Private Sub Cboyear_Click() Labeldate.Caption = "" Labelweek.Caption = "" Labeljr.Caption = "" 注释:仅有年份的变化不足以计算出星期,故使labelweek为空 Call Cbomonth_Click End Sub Private Sub Command1_Click() Dim month1 As Integer, year1 As Integer, date1 As String month1 = cbomonth.ListIndex + 1 year1 = Cboyear.ListIndex + 1960 day1 = CInt(Format(Now, "dd")) date1 = (Str(month1) + "/" + Str(day1) + "/" + Str(year1)) yanzheng = Str(year1) + "年" + Str$(month1) + "月" + Str(day1) + "日" If yanzheng <> Labeldate.Caption Then Labeldate.Caption = "" Labeljr.Caption = "" End If

JAVA日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord;

JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i

如何用EXCEL表格模板制作日历.doc

今天我们介绍用Excel制作万年历的方法。这个万年历可以显示当月的月历,还可以随意查阅任何日期所属的月历,非常方便。如果你愿意,还可以让它在特殊的日子里显示不同的提醒文字,一起来试试吧! 本文所涉及到的函数有: 1、AND (logical1,logical2, ...) 2、DATE (year,month,day) 3、DAY (serial_number) 4、IF (Logical,Value_if_true,Value_if_false) 5、INT (number) 6、MONTH (serial_number) 7、NOW () 8、OR (logical1,logical2, ...) 1、启动EXCEL2003,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。 注意:①上述前面一个公式的含义是:如果(IF)当前日期(B1)是星期“7”(WEEKDAY(B1,2)=7),则在F1单元格中显示“日”,否则,直接显示出星期的数值(WEEKDAY(B1,2))。 ②上述第二个函数(NOW())用于提取当前系统日期和时间,也请将系统日期和时间调整准确。

4、在I1、I2单元格分别输入1900、1901,然后同时选中I1、I2单元格,用“填充柄”向下拖拉至I151单元格,输入1900—2050年份序列。 同样的方法,在J1至J12单元格中输入1—12月份序列。 5、选中D13单元格,执行“数据→有效性”命令,打开“数据有效性”对话框(如图3),按“允许”右侧的下拉按钮,选中“序列”选项,在“来源”下面的方框输入:=$I$1:$I$151,“确定”退出。 同样的操作,将F15单元格数据有效性设置为“=$J$1:$J$12”序列。 注意:经过这样的设置以后,当我们选中D15(或F15)单元格时,在单元格右侧出现一个下拉按钮,按此下拉按钮,即可选择年份(或月份)数值,快速输入需要查询的年、月值。 6、选中A2单元格(不一定非得是A2哟),输入公式: =IF(F13=2,IF(OR(D13/400=INT(D13/400),AND(D13/4=INT(D13/4),D13/100<>

日历设计实验报告

佛山科学技术学院 《可视化编程技术》课程设计报告 时钟日历设计 学生姓名: 学号: 年级专业: 指导老师: 学院: 广东★佛山 提交日期:2014年6月 目录 1. 前言 (2) 2.概要设计 (3) 2.1 开发环境 (3) 2.2 时钟日历功能 (3) 2.3 界面设计 (3) 2.4 类的框架结构图 (4) 3. 详细设计 (5) 3.1 使用的java类的说明 (5) 3.2 类的主要方法 (6) 3.2.1 设置3个按钮 (6) 3.2.2 日历、时钟、界面的绘制 (7) 3.2.3 导入素材文件 (10) 3.2.4 设计总体认识 (11) 4. 运行结果 (11) 5. 测试分析 (11) 5.1 程序运行情况 (11) 5.2 程序异常处理 (12) 6. 源程序....................................................................................13 参考文献.......................................................................................23 设计总结 (24) 摘要:该程序是一个图形界面的简单的java时钟日历,具有良好的界面。该程序可以自 动获取系统日期和时间。还可以翻看万年历,在点选日期的时候会有音效。程序中还有个会 移动的图形条,在右侧则有一个时钟图形,会跟着实时时间动。下方三个按钮可以播放一个 声音,play则播放一次,loop则循环播放, stop则停止播放声音。 关键字:java、日历类、时钟类、声音类、方法、事件 1 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文 本编辑器是个人计算机最司空见惯的应用程序了,在学习了java语言之后,我决定使用java 语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需 要。 java是由sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意 种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行” 的目标。正因为如此,java已成为当今internet上最流行、最受欢迎的一种程序开发语言。

日历源代码——java

日历源代码——java //import java.sql.Date; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; public class GregorianCalendar日历 { public static void main(String[] args) { //设置不同地区 Locale.setDefault(https://www.360docs.net/doc/131795551.html,); //创建当前日历对象 GregorianCalendar now = new GregorianCalendar(); //从当前时期对象是取出时间日期对象 //编辑错误:Type mismatch: cannot convert from java.util.Date to java.sql.Date Date date = now.getTime(); //将时间日期对象按字符形式打印 System.out.println(date.toString()); //重新将时间对象设置到日期对象中 now.setTime(date); //从当前日期对象是取出当前月份、日期 int today = now.get(Calendar.DAY_OF_MONTH); int month = now.get(Calendar.MONTH); //获取本月开始日期 now.set(Calendar.DAY_OF_MONTH, 1); //获取本月开始日期在一周中的编号 int week = now.get(Calendar.DAY_OF_WEEK); //打印日历头并换行设置当前月中第一天的开始位置

在EXCEL表格中自动生成不变的日期

在EXCEL表格中自动生成不变的日期? Alt+F11,在“工程”窗口里选择工作表,代码窗口输入下面的代码: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If [a1] <> "" And [b1] = "" Then [b1] = Date End If End Sub 1、在某一单元格中插入日历控件 (1)选中要插入日历控件的单元格,设置单元格格式为日期型; (2)点击工具栏,“插入—对象—日历控件”, (3)用快捷方式Alt+F11,双击插入控件的工作表名称,粘贴下面的代码,用来实现单击A1时弹出日历控件,单击日历控件后,将选中的日期值填入A1并隐藏控件。 Private Sub Calendar1_Click() ActiveCell = Calendar1 Calendar1.Visible = False [a2].Select End Sub Private Sub Worksheet_SelectionChange(ByV al Target As Range) If Target.Address = "$A$1" Then Calendar1.Visible = True End Sub 2、某一列全部设置为插入日历控件。 例如;在C列中,无论点击哪个单元格,就弹出日历控件,选择一个日期后,日期自动插入到单元格;除C列之外,点击其他单元格,不会弹出日历选择控件; 同上面(1)(2)步后,选择日历控件,双击鼠标,进入代码编辑模式,选择Worksheet和SelectionChange,输入代码: Private Sub Calendar1_Click() ActiveCell = Calendar1.V alue Me.Calendar1.V isible = False End Sub Private Sub Worksheet_SelectionChange(ByV al Target As Range) If Target.Column = 1 Then Me.Calendar1.V isible = True Else Me.Calendar1.V isible = False End If End Sub 完成后,运行VBA代码,返回Excel操作窗口,即可实现。 本文来自: 同城老乡论坛(https://www.360docs.net/doc/131795551.html,) 详细出处参考:

基于Android平台的日历提醒软件的设计与实现

1 引言 随着移动互联网的高速发展,人们已经无法离开移动终端,智能手机也已经越来越普及,对人们的生活产生了巨大的影响,人们可以随时随地使用手机,随时随地来查看信息,随时随地用来上网等,当然也急需青春地了解到自己每天所需要完成的事情,或是需要记录一些容易忘记的重要事件,并能有一个功能完善的软件来帮助人们完成这些事情。在这样的大背景下,基于安卓平台的日历提醒软件也逐渐进入安卓开发者的视野中。 1.1 课题背景 Android是一种基于Linux平台的开放源代码的操作系统,主要使用在移动终端上。Android操作系统最初由AndyRubin开发,最早的时候主要用在手机平台上。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上[1]。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%[2]。 Android是一种开放源代码的操作系统,随着Android的迅速发展,如今许多开发者运用其他不用的编程语言来编写Android应用程序,如今已经不再是以前那种只允许运用Java语言来开发Android应用程序的单调局面,因此众多开发者更加欢迎Android平台,Android已经成为第一个真正的开放式操作系统。 1.2 研究的目的与意义 进入互联网时代之后,随着人们对信息需求量,准确性的加大。人们对时间,日期的准确性有更大的需求,传统的日历已经不能满足人们的要求,电子万年历应运而生,大大方便了人们对时间日期的掌握,使每个用户都能随时在电脑旁边掌握日期,节日等信息。但是随着进入21世纪——移动互联网高速发展的时代,人们每时每刻都在使用移动终端,智能机已经被普及,大量进入人们手中,人们不管在何时何地都能利用移动终端来查看各类消息等,当然无论在任何时候,人们需要准确地掌握日期、节日,提醒等重要消息,手机版日历提醒系统就在这样的大背景下被开发出来。本文提到的日历系统是一款专注于为用户提供时间管理的Android软件,兼备公历、中国农历、各类节日、实时提醒等信息,方便用户每一天的生活。几乎在每一台Android

相关文档
最新文档