1、基于Android平台日历系统设计 摘要:针对智能手机用户对日历需求,基于Android内核和架构,设计了自定义控件和相关算法,实现了对日历查看、日期切换、节日查询等多项功效,并附加了记事本、身体健康数据统计等常见功效,表现了日历系统实用性和方便性。 关键词:Android;日历查看;节日查询 中图分类号:TP311 文件标识码:A 文章编号:1009-3044()12-0058-02 1 概述 这是一个移动互联网应用越来越普遍年代,智能手机用户群体越来越广大,随地可见拿着手机人群。伴随生活节奏加紧,大家对信息需求量越来越大,对信息正确性要求越来越高,这些全部要基于对时间和日期更高和更多需求,
2、传统日历已经不能满足大家要求,手机平台上日历系统应运而生,用户能够随时经过手机掌握日期和节日等信息。 本设计预期目标为: 1)功效强大:除了日历基础功效(查看日期)外,还实现了农历阴历互转、健康查询、日期查询、每日签到等功效。 2)操作方便:对于Android手机用户来说,本软件使用方便简单,功效使用方法一看便知,大大降低了用户操作难度。 2 关键性技术 2.1 Android平台 Android是一个开放源码操作系统,是现在智能手机采取主流操作系统。Android操作系统最初由AndyRubin开发,最初只能使用Java语言进行基于Android平台应用程序开发,伴随技术成熟,Android
3、快速发展,现在已经能够使用其它编程语言来进行基于Android平台应用程序开发,所以越来越多设计开发人员投入到基于Android平台应用程序开发中,Android平台得到发展,充足表现其开放性。 2.2 XML技术 XML,即可扩展标识语言,用于标识电子文件使其含有结构性标识语言,能够用来标识数据、定义数据类型,是一个许可用户对自己标识语言进行定义源语言。XML提供统一方法来描述和交换独立于应用程序或供给商结构化数据。 3 需求分析 3.1 系统需求 日历系统用户是Android手机用户群体,所以,系统要满足大部分Android用户需要,需要含有查看日历及相关部分功效。 3.2 技术需求 日历
4、系统采取现在最火移动终端系统Android系统,利用分层设计标准。需要开发人员熟悉Android平台和Java编程,而且对日历算法有深刻了解,并对Android界面绘制有一定掌握,另外还需要了解Sqlite数据库,WebService技术和Xml解析技术。 4 概要设计 4.1 设计思想 本设计以日历功效为主体,整合多个方便应用功效为辅,利用模块化设计将各个功效整合为一个功效方便类生活助手应用。系统各个功效之间以独立方法设计,便于后期增加功效。 4.2 功效需求 日期查看功效:主界面能够看到当月日历,并能查看其它月份日历。 记事本:用户能够统计自己日志,统计关键信息,以防忘记。 节日信息查看:
5、用户能够随时经过手机查看节日信息,十分方便。 身体健康:用户能够经过软件统计身体健康情况,实现对比。 每日签到:用户能够在天天打开应用时候签到,统计使用日历情况。 4.3 功效模块设计 主界面设计:用户点击图标,即可进入日历系统主界面,主界面上显示目前月份日期,目前日期突出显示。日期下面设计五个按钮,分别是上十二个月、下十二个月、上一月、下一月和今天,前面四个按钮是用来切换月份以查看对应月份日历,最终一个按钮用来返回目前月份。 菜单:点击菜单按钮,能够从弹出菜单列表中选择不一样选项。具体菜单包含:日期和星期查看、记事本、节日信息查看、身体健康等。 节日信息:在菜单列表中选择节日,即可进入节日界
6、面,在节日界面里显示全部节日。 查询:在菜单列表中选择查询,进入查询界面,能够依据需要查询任何日期。 身体健康:在菜单列表中选择身体健康,进入身体健康界面,在身体健康界面里能够输入身高体重等数据,计算得到相关健康数据。 记事本:在菜单列表中选择记事本,进入记事本界面,能够添加日志,或查看已经有日志。 5具体设计和系统实现 5.1 主界面设计和实现 本款软件设计简单操作方便,开启本软件后即可进入主界面,以后能够由菜单进入各项功效界面。 主界面设计由两部分组成,一部分是Main.xml文件,另一部分是动态控制所需代码。 Main.xml文件里面包含程序主界面基础布局,有基础控件,如显示目前日期Te
7、xtView控件和上十二个月、下十二个月、上一月、下一月、今天Button控件。这些控件是经过.xml写入,是动态。 主界面日期显示布局,是经过代码动态控制。首先经过函数控制整个日期布局,再经过addView循环6次添加到xml文件中去,实现30天份中各个日期对照,再控制月份中每一天控件绘制,其中还包含对每个月份1号是周几,30天份最大天数等控制。 用户在第一次进入主界面时候initView(),set(),clickView()函数实现主界面绘制和星期、日期等显示。set()函数在第一次加载时候被调用以获取系统目前时间,并经过Tools.getCurTime(time,”yyyy年MM月dd
8、日”);实现时间格式化,再截取出年月日,并转换为int类型。 5.2 菜单界面实现 将弹出对话框设置为菜单,经过menuDialog.setView()方法设置菜单布局,Meunview经过标准View.infalte初始化出来,同时重写onKey()方法,实现菜单弹出。菜单里面是经过GridView布局,并经过为GridView设置适配器来显示菜单各个选项,并为GridView添加OnItemClickListener()事件实现各个菜单点击事件,对点击菜单选项做出对应响应。 5.3 各功效实现 切换日期:用户点击下方切换按钮,先获取目前年份和月份,在目前年月基础上将月份加一减一或将年份加一
9、减一获取新年月,再经过set(int year,int month)函数在界面上显示日历。 查询功效:经过spinneronItemSelected事件实现展现控件listView上面节日显示,其中spinner数据是在AndroidValue文件下array.xml文件中。 身体健康界面:输入用户或她人身高体重,经过相关公式计算得出数据并经过选择语句判定数据是否在正常范围内。 记事本界面:写入日志内容存入数据库,日志列表写入note表,读取表内容进行查看。 6 系统测试和运行 测试过程由测试小组完成,关键从以下三个方面进行测试: 1)动软件,检验主界面各个控件大小是否适宜,是否出现控件遮蔽等现象。 2)查各个控件点击操作是否有正确响应。 3)查各个控件点击操作响应是否立即,是否有延迟或迟缓现象。 经过测试,该系统完成预期目标,符适用户对系统需求。 参考文件: 1 李刚.疯狂Android讲义M.北京:电子工业出版社,. 2 陈钊.Android程序关键组成部分概述J. 中国新技术新产品,(17): 42. 3 杨云君.Android 设计和实现M.北京:机械工业出版社,. 4 丰生强.Android 软件安全和逆向分析M.北京:人民邮电出版社,.