基于android的日历提醒软件的设计与实现毕业论文最终版内容摘要:
者方便用户对现有事件作出一定的修改或者删除。 ( 3) 课程管理模块:在课程管理模块中需要有星期的标识,在某一天记录课程时,需要对这门课程的时间有一定的显 示,还有作业的情况方面的提醒,其他的增添删除操作基本同日程管理模块类似。 ( 4) 设置界面模块:其中包含了一些对界面的设置以及对日程的设置选项。 ( 5) 关于信息模块:其中包含了一些本软件的设计信息及使用的一些基本信息。 日历提醒软件的功能结构图 首先在设计时可以根据日历提醒软件中的几个大模块:日历查看模块、日程管理模块、课程管理模块、设置界面模块、关于信息模块来绘制出本软件总体的一个功能模块图,如图 41 所示,总体的结构图反映了本系统各个模块之间的联系和总体情况。 11 图 41 系统总体功能模块图 然后在总体的功能模块图完成后,就是各个模块的详细功能结构图,在日历模块的界面显示上,可以分为如下几个部分,见图 42: 图 42 日历显示模块图 接下来就是日程模块的结构图,里面应该包含有重要日程的显示,日程的添加和删除等,以及事件的记录,见图 43: 图 43 日程界面模块 日历系统 主界面 日历模块 任务模块 设置模块 关于模块 日历显示 总日程显示 单一日程显示 类型设置 关于信息 日历显示 日期显示 阴历日期显示 节假日显示 日程显示 选择日程类型选择 书写日程时间 书写日程内容 删除日程 12 对于一些在校的学生,我们还设置了一个课程管理 的模块,方便学生们对自己课程 的一些时间、地点等做一些提醒安排,详细见图 44: 图 44 课程界面功能模块图 以上就是本系统的一个初步的设计,其中它可以方便的显示出当前日期以及当前日期内的一些日程安排,或者显示出当前日期内有什么样的课程安排,同时,也可以让用户能够随时对自己的日程进行查看、修改、添加或者删除,而这些人性化的设置,为本系统增色不少。 接下来就是整个软件最重要的部分了,也就是详细设计阶段。 课程界面 课程设置 课程增加 课程删除 课程查看 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控件内进行标记序列的, 可以对接下来的条件 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所示: 15 图 51 日历提醒软件的界面 本软件任务界面的设计 任务界面的数据库准备 本软件的任务界面主要包含主界面的日程显示以及对应日期内的任务显示 ,还有任务的添加与删除等。 首先任务界面所涉及到的就是日程数据的存储,以下先做介绍。 ( 1) 数据库表的建立: 主要建立了两个表: schedule 表(日程的表)和scheduletagdate(标记日期所需的表)。 Android 提供了标准的数据库创建方式。 建立 DBOpenHelper 类继承到 SQLiteOpenHelper ,实现 onCreate 和 onUpgrade 两个方法。 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) 保存日程信息:首先需要从日程添加页面里获取日程类型的 ID、日程重复类型的 ID、日程的正文内容、日程时间这几个参数,接下来使用 ContentValues类(这个类是一个键值对,是用来存储名值对,它的名一般是 String类型,而值都是基本类型)来 NEW一个参数,然后用这个参数的 PUT方法将这些参数放入到数据库中。 (scheduleTypeID, ())。 (remindID, ())。 (scheduleContent, ())。 (scheduleDate, ())。 最后调用添加方法 insert。 (schedule, null, values)。 然后需要用到 moveToFirst方法来判断是否为 空 ,从而进行一系列相关操作。 ( 2) 查询某一条日程信息: 本系统的设计是 通过对日程的点击来查看当前日期内的详细信息,也就是根据日程的 ID来 查看。 Android sqlite的查询方法是 query方法 ,查询语句是: (schedule, new String[]{scheduleID,scheduleTypeID,remindID,scheduleContent,scheduleDate}, 17 scheduleID=?, new String。基于android的日历提醒软件的设计与实现毕业论文最终版
相关推荐
write_1602dat(Error[j])。 } ThreeAlam()。 //错误提示 pass=0。 ReInputEn=0。 //关闭重置功能, ReInputCont=0。 DisplayChar()。 break。 } } if(i==6) { //DisplayListChar(0,1,ResetOK)。 write_1602(er)。 for(j=0。 j16。 j++) {
============= TEMPDIN BIT。 ============================= 中断向量区 ========================= ORG 0000H LJMP START ORG 00BH LJMP T0IT。 =============================系统初始化 ========================== ORG
数字电路或单片机、价格低等优点。 频率 /温度输出式集成湿度传感器。 典型产品为 HTF3223 型。 它除具有 HF3223 的功能以外,还增加了温度信号输出端,利用负温度系数( NTC)热敏电阻作为温度传感器。 当环境温度变化时,其电阻值也相应改变并且从 NTC 端引出,配上二次仪表即可测量出温度值。 系统简介 系统功能简介 本系统实现的功能如下: 对环境 温 、 湿度数据的 采集、 处理
系统硬件电路的设计 为使硬件电路设计尽可能合理,应注意以下几方面: ( 1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。 ( 2)留有设计余地。 在设计硬件电路时,要考虑到将来修改扩展的方便。 因为很少有一锤定音的电路设计,如果现在不留余地
若测量值是负值 { if((temp+temp_d*)=min)//当测量值大于最小值时报警 {w=1。 TR1=1。 } if((temp+temp_d*)min)//当测量值小于最小值时不报警 {w=0。 } } } } if(f_max==1) //若下限值是负值 { if(f_min==1) //若下限值是负值 { if(f==1) //若测量值是负值 {
并召开 ) 制定整体策划、执行时间表(甘特图) 活动项目策划流程 : 参 与 人 员 工 作 内 容 成 果 初次策划会议 联络人、 项目组、策划、 执行、销售 、 讲师 ★ 当地市场背景、经销商需求; ★ 培训活动目标、培训课程内容 ; ★ 培训活动地点、时间、受训人群、方式 等内容 ; ★ 宣传内容设计(喷绘、展架等) ; ★ 做出活动效果预估。 ★ 撰写初步活动方案 ★ 设计宣传内容 ★