android日历提醒软件计算机毕业设计论文内容摘要:

查看,日历上重要事件的查看等以及一些操作,如事件的增加与删除、日程的修改与删除、以及软件的一些设置还有相关信息的查看等功能。 本软件可以帮助人们对自己生活中的一些事务起到提醒的作用,释放忙碌人群对琐碎事务的记忆,方便工作人群或者学生们的生活。 日历提醒软件的概要设计 日历提醒软件的功能模块说明 ( 1) 日历查看模块:需要拥有一套完整的日历界面,包括年、月、日以及星期几,而且在点击某个确切的日期时,要能够显示出当前是否添加了一些事件的提 醒,对已经拥有事件记录的日期要有特殊的标记。 ( 2) 日程管理模块:在日程管理模块中要包含总的日程显示以及单击对应日期时可以查看当前记录的一些活动或者事件,可以添加新的事件,也可以对当前已经具有的事件做到修改或者删除,在记录拥有一些事件的日期后,需要在日历上面加以一定的标识,用来提醒用户事件的日期,或者方便用户对现有事件作出一定的修改或者删除。 ( 3) 课程管理模块:在课程管理模块中需要有星期的标识,在某一天记录课程时,需要对这门课程的时间有一定的显示,还有作业的情况方面的提醒,其他的增添删除操作基本同日程管理模块类似。 ( 4) 设置界面模块:其中包含了一些对界面的设置以及对日程的设置选项。 ( 5) 关于信息模块:其中包含了一些本软件的设计信息及使用的一些基本信息。 日历提醒软件的功能结构图 首先在设计时可以根据日历提醒软件中的几个大模块:日历查看模块、日程管理模块、课程管理模块、设置界面模块、关于信息模块来绘制出本软件总体的一个功能模块图,如图 41所示,总体的结构图反映了本系统各个模块之间的联系和总体情况。 找毕业设计、项目源码、编程视频,就上码农网 manong365 11 图 41 系统总体功能模块图 然后在总体的功能模块图完成后,就是各个模块的详细功能结构图,在日历模块的界面显示上,可以分为如下几个部分,见图 42: 图 42 日历显示模块图 接下来就是日程模块的结构图,里面应该包含有重要日程的显示,日程的添加和删除等,以及事件的记录,见图 43: 图 43 日程界面模块 日历系统 主界面 日历模块 任务模块 设置模块 关于模块 日历显示 总日程显示 单一日程显示 类型设置 关于信息 日历显示 日期显示 阴历日 期显示 节假日显示 日程显示 选择日程类型选择 书写日程时间 书写日程内容 删除日程 找毕业设计、项目源码、编程视频,就上码农网 manong365 12 对于一些在校的学生,我们还设置了一个课程管理的模块,方便学生们对自己课程 的一些时间、地点等做一些提醒安排,详细见图 44: 图 44 课程界面功能模块图 以上就是本系统的一个初步的设计,其中它可以方便的显示出当前日期以及当前日期内的一些日程安排,或者显示出当前日期内有什么样的课程安排,同时,也可以让用户能够随时对自己的日程进行查看、修改、添加或者删除,而这些人性化的设置,为本系统增色不少。 接下来就是整个软件最重要的部分了,也就是详细设计阶段。 课程界面 课程设置 课程增加 课程删除 课程查看 找毕业设计、项目源码、编程视频,就上码农网 manong365 13 5 日历提醒软件的详细设计 详细设计最主要的目的就是确定如何实现在概要设计中具体的功能和要求,也就是经过这一阶段, 需要得出对目标功能的精确描述,详细一点就是为软件结构图中的每一个模块编写相应的代码和算法。 详细设计的目的不仅仅是要在逻辑上正确地实现每个模块的功能,最重要的就是在设计处理的过程中应该尽可能的简洁易懂。 本软件日历界面的设计和实现 ( 1)第一步:系统需要建立一个布局文件来显示年月日,采用 TextView 类,对应在日历的 CalendarActivity 文件中加入函数来添加年月日等信息。 接下来需要编写一个作为日历显示的 CalendarView 类,其中使用重载的方法来定义几个具有不同参数的CalendarView用于不同的情况。 接下来在的工作就是在 CalendarActivity这个类中实例化 CalendarView并且使用CalendarView 其 中 的 一 个 方 法 CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c)。 然后书写方法来添加头部的年份等信息。 接下来通过动态化的方法来实现对页面的头部进行布局,接着建立一个可以对值进行改变的 StringBuffer 类型的参数 textDate,并对其进行 append 操作 , 添 加 到 年 月 日 的 参 数 里 , 对 月 闰 年 的 判 断 , 是 通 过 一 个 条 件 函 数()的值来进行判断的,最后对界面使用 setText 方法来赋值到界面上,最后一步就是使用动态布局模式对界面进行一些美化操作。 ( 2)第二步:需要对日历界面中的主体,也就是日期部分的显示要完成。 首先在CalendarActivity 文件初始化实例对象时加入动态添加布局文件,并将此方法命名为addGridView,然后在这个方法中进行动态化布局, GridView 可以将一系列的空间组织成二维网格的形式显示出来,所以这 里比较适合对日期的界面进行布局。 首先还是动态化布局的建立,这里可以实例化 GridView 为 gridView 参数进行,在这里还需要添加GridView 控件的列为 7,列宽为 46,然后加上判断屏幕大小的条件,这就需要加入取得屏幕大小的对应函数,如果是 800*480 屏幕的话,需要将列宽设置为 69,接下来对水平和竖直的间距、取值边框、设置居中等进行一系列的操作。 在这个方法里面还需加入个 OnTouch 方法,用来将 gridView 中的触摸事件回传给 gestureDetector,进行下面的触摸操作,即: @Override public boolean onTouch(View v, MotionEvent event) { return .onTouchEvent(event)。 } })。 日历的布局创建完成后,需要在里面填上具体的日期。 就对当前显示的界面来说,需要建立几个对应的参数来显示和传接数据。 比如在函数开始时就 String[] dayNumber = new String[49]。 这是作为对 GridView控件内进行标记序列的,可以对接下来的条件找毕业设计、项目源码、编程视频,就上码农网 manong365 14 语句进行判断,还有就是对界面内的一些控件名进行实例化,然后是对页面属性值进行动态化设置。 接着在对日期中的第一行就是周一、周二等的这行,设置出字的颜色以及背景图案,而这行的位置需要通过对参数 position(对应编号)进行判断是否在 7以内。 接下来就是当前月份的信息显示,这也需要用条件函数来判断是否是当前月(也就是判断参数 position是否在范围内),然后对当天的日期进行一个标记,可以设置当天的日期背景为图片 current_day_bgc,字体的颜色为白色。 通过上面的这些步骤,我们就基本完成了日历界面中的一些初步设置。 ( 3)最后,由于市场上现在用的手机大都是触摸屏幕,也就是说日历菜单需要通过我们的触摸来进行翻页,所以需要在总体布局下建立一个 ViewFlipper 类(这个类可以实现屏幕的切换),然后然后实例化手势 gestureDetector并取得布局中 ViewFlipper用于下面的调用。 接下来书写手势的方法主要是 onFling 的方法,这个方法可以实现页面的向左或者向右滑动的操作,而这个操作可以用条件语句来实现:由滑动两 点的 x坐标的值进行差值计算,如果是起点减去终点大于 120 时着向左滑动,反之则向右滑动。 在滑动操作开始,并且已切换一面后就需要载入新的一张日历页面,这里又会用到参数 calV,当向右滑动时则将参数 calV 所代表的函数 CalendarView 里的 jumpMonth 加 1,代表下一个月;当向左滑动时则将参数 calV 所代表的函数 CalendarView 里的 jumpMonth 减 1,代表上一个月。 这样,我们的软件的界面可以说是大体上完成。 在日历界面的显示中,我们除了一些基本的日期显示外,还应该在日期的头部页面上 有每年每月的显示,而在 LunarCalendar 方法里面就包括 干支纪年 等信息。 同样的其他信息,也是通过字节数组来储存的。 在闰年判断函数 SpecialCalendar中可以对每月天数,或者每月的第一天是星期几进行判断。 闰年是通过传回年值并通过函数进行判断,最后传回布尔值;而每月的天数是用 switch 进行判断并赋值给月份天数的参数;对每月的第一天为星期几则是使用如下代码: public int getWeekdayOfMonth(int year, int month){ Calendar cal = ()。 (year, month1, 1)。 dayOfWeek = ()1。 return dayOfWeek。 } 日历的界面完成如图 51 所示: 找毕业设计、项目源码、编程视频,就上码农网 manong365 15 图 51 日历提醒软件的界面 本软件任务界面的设计 任务界面的数据库准备 本软件的任务界面主要包含主界面的日程显示以及对应日期内的任务显示,还有任务的添加与删除等。 首先任务界面所涉及到的就是日程数据的存储,以下先 做介绍。 ( 1) 数据库表的建立:主要建立了两个表: schedule 表(日程的表)和scheduletagdate(标记日期所需的表)。 Android 提供了标准的数据库创建方式。 建立 DBOpenHelper 类继承到 SQLiteOpenHelper ,实现 onCreate 和 onUpgrade 两个方法。 找毕业设计、项目源码、编程视频,就上码农网 manong365 16 首先对 schedule 表进行建立,在其中包括日程及日程类型的 ID,日程重复类型的ID,日程的正文内容和日程时间这几个参数,在创建时需要填写上参数名、参数类型及主键等。 (CREATE TABLE IF NOT EXISTS schedule(scheduleID integer primary key autoincrement,scheduleTypeID integer,remindID integer,scheduleContent text,scheduleDate text))。 接下来是对 scheduletagdate表的建立,在这个表中包括了标记的 ID、年信息、月信息、日信息、日程 ID这几个参数。 (CREATE TABLE IF NOT EXISTS scheduletagdate(tagID integer primary key autoincrement,year integer,month integer,day integer,scheduleID integer))。 建立完表后是继续写入 onUpgrade 方法,这个方法在数据库升级时会被触发,以便于软件升级时更新表结构。 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { (DROP TABLE IF EXISTS schedule)。 (DROP TABLE IF EXISTS scheduletagdate)。 onCreate(db)。 } ( 2)再分别建立 ScheduleVO 和 ScheduleDateTag ,里面分别写了表里面各个数据的 get(表示获取某个变量值)和 set(表示设置某个变量值)方法,以便于调用。 ( 3)建立 ScheduleDAO文件,这个文件是用来写数据库的查找、删除等方法。 首先是需要实例化 DBOpenHelper用于数据库数据的 get与 set。 private DBOpenHelper dbOpenHelper = null。 public ScheduleDAO(Context context){ dbOpenHelper = new DBOpenHelper(context, )。 } 下面就是对表中数据的操作了,包括了保存日程信息、查询某一条日程信息、查询所有的信息、删除日程、将日程标记的日期保存到数据库中。 ( 1)保存日程信息: 首先需要从日程添加页。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。