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

合集下载

android日历课程设计

android日历课程设计

android 日历 课程设计一、课程目标知识目标:1. 学生能理解Android日历的基本概念,掌握日历事件添加、删除、修改等基本操作。

2. 学生能了解Android日历应用中的数据存储方式,掌握使用SQLite数据库存储日历事件。

3. 学生能掌握在Android应用中使用日期时间API,实现对日历日期的准确显示。

技能目标:1. 学生能够运用所学的Android开发知识,独立编写并运行一个简单的日历应用。

2. 学生能够运用SQLite数据库,实现日历事件的增、删、改、查功能。

3. 学生能够通过调试和优化代码,解决日历应用中可能出现的常见问题。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们主动探索新技术、新方法的热情。

2. 培养学生团队协作意识,学会在项目中分工合作,共同完成任务。

3. 培养学生良好的编程习惯,注重代码规范和性能优化,提高软件质量。

课程性质:本课程为Android应用开发课程,侧重于实践操作,结合理论讲解,使学生能够掌握Android日历应用的开发技能。

学生特点:学生具备一定的Java编程基础,对Android开发有一定了解,但缺乏实际项目经验。

教学要求:注重理论与实践相结合,通过案例教学,引导学生动手实践,提高解决实际问题的能力。

同时,关注学生个体差异,提供个性化的指导和支持,确保每位学生都能达到课程目标。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. Android日历应用基础- 日历组件的使用与定制- 日期时间API的使用- 事件监听与处理2. 数据存储与管理- SQLite数据库的创建与操作- 存储事件的数据库表设计- 事件的增、删、改、查功能实现3. 实战项目:简易日历应用开发- 应用界面设计- 日历组件的集成与事件显示- 事件的添加、删除、修改功能实现- 数据存储与读取4. 课程进阶:优化与扩展- 日历性能优化- 事件的提醒功能实现- 结合其他应用组件(如通知、闹钟等)教学内容安排与进度:1. 第一周:Android日历应用基础,学习日历组件的使用与定制,了解日期时间API。

基于Android日历及记事功能完整实现

基于Android日历及记事功能完整实现

《移动通信程序设计》课程设计题目基于andriod的记事功能的日历院系专业学生姓名学号二O一四年六月九日目录1概述 (1)2 总体设计 (2)3详细设计 (3)3.1、绘画基础 (5)3.2框架绘画 (6)3.3 核心技术 (11)3.4 触摸事件 (14)3.5 键盘操作 (17)4进行编码: (19)4.1登录 (19)4.2事情记录 (20)4.3 对闹铃的设置 (21)4.4记事列表 (23)4.5 闹铃 (25)4.6 对记事的编辑 (26)5 结束语 (27)6参考文献 (27)实现基于Android 的日历及记事功能系统摘要: Android 作为目前较为流行的智能手机操作系统已成为大多数人的首选。

在美国乃至世界的很多地方的出货量已经超越Iphone,成为世界上最大智能手机操作系统。

因此,世界各地的程序员都跃跃欲试地想学习Android 的开发,并希望从中捞得属于自己的第一桶金。

在此给出一个基于Android 的日历系统的完整实现过程。

关键词: Android;日历;记录;提醒1概述在日常工作中,特别强调时间的重要性,需要完成的事情也越来越多,因此对日历的需求也是巨大的,由于在日常生活中我们不可能将随身携带,我们可以将软件做到移动终端,在此情形下,基于andriod的技术带有记事功能的日历就诞生。

要实现的日历除了常规的日历功能外,还可以显示与当前日期相关的信息,如今天是今年的第几周等等。

效果如图1、图2 所示。

图1 在手机上所显示的日历图标图2 日历的主界面2 总体设计对于andriod的开发的日历的应该一开始显示日历,然后登陆,进行记事,主要流程图如下:3详细设计3.1、绘画基础由于实现的日历系统要涉及文本技术,因此,要简单介绍Android 的文本技术。

通常在Android.view.View 或其子类的onDraw 方法中进行。

该方法的定义如下:protected void onDraw(Canvas canvas);其中Canvas 对象提供了大量用于绘图的方法,这些方法主要包括绘制像素点、直线、圆形、弧、文本,这些都是组成复杂图形的基本元素。

Andriod手机日程管理系统的设计与实现

Andriod手机日程管理系统的设计与实现

Andriod手机日程管理系统的设计与实现随着人们生活水平的提高,计算机网络技术和APP应用程序的不断进步让人们在生活中享有了更多的舒适,在应用程序的实用性、操作性和舒适性都有了更高的要求,而移动终端软件也有了不同程度的完善,以期望能满足不同人群的使用要求。

Android手机日程管理系统并不罕见,常见的日历就是最基础的日程管理系统,不过从用户的使用要求和满意程度上来说并不理想,尽管有日程记录和管理的功能,但是缺少了对用户日程合理规划的功能,导致了尽管用户有的日程管理这一功能实现,可是对用户工作效率的提高没有起到帮助,仅仅是起到了一个记事本的功能,尤其是在如今,人们对自身的时间把握越来越精确,需要在有限的时间内完成所有的事情,因此新一代的手机日程管理系统研发工作必须提上日程,才能满足人们对于时间合理规划的要求,也能丰富日程管理系统的功能,使其更为全面的满足人们的需求。

本论文基于Android系统实现,保证了该软件的便携性与实用性。

本文所设计的日程管理软件,不仅包含了传统日程管理软件所具有的管理日程功能,并在这个基础上与时间管理四象限法则相结合,对用户的日程进行分析,并向用户提出科学的建议,以帮助用户在这个快节奏的社会中提高生活工作效率。

系统包含八个模块的内容:日程管理功能、类型管理功能、感想管理功能、备份功能、恢复功能、关于功能、分析功能、设置功能。

本次研究的手机系统在投入使用后,取得了非常高的实用效益,通过弥补现在市面上大多数日程管理软件没有为用户提出合理建议的弊端,给大多数的手机系统使用者提供了更为合理的日程安排,让手机系统的使用者能够更为科学高效地安排自己的生活,一些平时具有手机依赖症的用户,通过该系统的使用改掉了自身的不良习惯,大部分的手机用户通过该系统的使用生活安排更加高效合理,养成了制定计划的习惯。

本论文所设计的日程管理软件,不仅包含了传统日程管理软件所具有的管理日程功能,并在这个基础上与时间管理四象限法则相结合,对用户的日程进行分析,并向用户提出科学的建议,以帮助用户在这个快节奏的社会中提高生活工作效率。

基于Android平台的日程记事器设计与实现

基于Android平台的日程记事器设计与实现

基于Android平台的日程记事器设计与实现【摘要】本文研究了在Android开发平台下日程记事器的设计与实现过程,实现对日程记事进行增删改查、自定义闹铃振动定时提醒功能、拍照记事和录像记事等功能,并且使用google的语音搜索功能添加记事,为用户提供方便快捷的操作。

【关键词】Android平台;日程记事器;手机软件1.引言随着智能手机技术的不断发展,它将成为人们日常生活记录日程必不可少的设备。

因此,Android平台记事器将会有很大的发展空间,WNotes日程手机应用软件就是其中之一。

它的设计开发是为了最大便捷的方便人们记录日常生活中一些重要的事情。

WNotes日程除了具备最基本的增删改查功能外,还拥有别具特色的闹铃实时提醒功能和多媒体拍照记事功能。

当然用户也可以根据自己的需要对日程记录进自定义排序,便于阅读。

本文将基于Android平台详述如何设计并实现一款功能完备的日程记事器。

2.系统总体设计2.1 功能设计通过对智能手机用户的问卷调查以及参照现有智能机中记事器的功能,本文将整个记事器功能设计如图1所示:2.2 数据库访问设计数据库选用SQLite,通过使用这些API便可实现数据库操作。

记事器要经常进行数据库操作,所以编写了DBAccess和DBUtil两个类进行专门的数据库操作,设计一个SQLiteOpenHelper类来对数据库进行基本操作,以实现数据库的访问等。

3.记事器的具体实现3.1 主界面模块实现主界面采用Android自带的ListView控件显示,并且继承ListActivity父类,这样可以很方便地显示日程记事,在记事为空的时候显示No data没有数据,在记事不为空的时候显示记事的ListView列表界面。

在整个主界面的最上方添加两个ImageView的按钮,一个是添加记事,另一个是查询记事,可以方便用户操作。

通过重写父类的onCreateOptionsMenu(Menu menu)方法创建menu菜单,点击menu菜单,弹出“设置”、“新建”、“排序”、“搜索”菜单选项。

基于android平台的日程管理软件开发与设计可行性分析报告

基于android平台的日程管理软件开发与设计可行性分析报告

基于android平台的日程管理软件开发与设计可行性分析报告基于Android平台的日程管理软件开发与设计可行性分析报告1、引言1.1编写目的随着社会的不断发展,人们的生活逐渐变得繁琐,每天需要处理的事情变得越来越多。

越来越多的人逐渐意识到自己的记忆力不足以记下自己所有的行程。

这在一定程度上促进日程管理软件的开发。

使其可以帮助用户记录每天的行程,方便人们对于自己行程的管理。

因为手机相对笔记本电脑更加具有便携性,可以随时随地的打开并使用它。

相对于笔记本电脑的开机并打开软件所用的时间,其需要的时间更短,所以手机端的日程管理软件备受人们的青眯。

鉴于此我准备开发一款基于Android平台的日程管理软件。

虽然目前已有很多这样的软件,但我们要事实根据所需,来编写更加人性化的软件。

接下来我们要对软件开发中将要面临的问题及其解决方案进行可行性分析。

1.2项目背景1.2.1 项目名称:基于Android平台的日程管理软件1.2.2 用户:所有对日程管理有需求的人员1.2.3 说明:本次软件开发是对java编程、软件工程、时间管理的综合性考察,本次开发是理论与实践的有机结合,同时也是本学期“高级操作系统”这门课程的考核。

1.3定义Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Android:Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。

该平台由操作系统、中间件、用户界面和应用软件组成。

1.4参考资料《软件工程导论(第五版)》张海藩编著清华大学出版社出版。

《Android APP开发入门—使用AndroidStudio环境》施威铭编著机械工业出版社。

2、可行性研究的前提2.1要求2.1.1 功能概述本软件主要为用户提供日程的基本信息管理,其具体的功能主要为以下几点。

基于Android平台的日程手表应用设计与实现

基于Android平台的日程手表应用设计与实现

基于Android平台的日程手表应用设计与实现作者:王婧成王子越来源:《无线互联科技》2019年第05期摘要:文章详细介绍了传统的日程管理系统所遇到的问题,针对传统日程管理系统日程提醒不及时、不便捷的缺陷,研究基于Android和Android Wear的日程手表的设计与实现。

阐述了设计日程手表的必要性,分析了实时日程提醒功能需求,提出了系统概要设计。

研究表明,该手表应用效果良好,能满足用户对日程实时提醒功能的需求。

关键词:手表;日程;实时提醒在当代快节奏的社会生活中,很多人经常觉得自己健忘,而手机的备忘录功能又显得繁琐,不能带来随时随地想看就看的便捷性,因此,本产品应运而生。

本产品可以使用户在工作或学习的同时方便快捷地查看日程,便于用户对个人日程的管理,满足用户及时、合理安排日程的需求。

1 系统需求分析日程手表在实现个人日程记录、安排、查看等功能的同时,还具有实时日程和组队提醒功能,以满足用户随时随地、方便快捷查看、管理日程的需要。

系统应提供以下功能[1]:(1)日程详细功能可以详细显示日程主题、日程起止时间、日程参与者,且可邀请好友加入自己的日程中。

(2)手表消息提醒功能使用户可以及时接收到日程提醒和新的组队邀请提醒。

(3)空闲时间查询功能可以搜索查询指定好友是否有共同的空闲时间,如果所选好友均有空闲时间,则可邀请所选好友加入自己的新建组队。

2 系统设计2.1 功能结构根据需求分析,系统分成了用户管理、日程、组队、邀请、消息提醒五大子模块[2](见图1)。

(1)用户權限管理模块用于判断用户是否可以对组队原有设置进行修改。

(2)日程模块。

日程功能下分为日程查看子模块和日程管理子模块。

日程查看子模块,该模块将显示用户个人日程,并且综合日程紧急程度与起止时间进行排序。

(3)组队模块。

该模块显示不同类别的组队,用户可依据个人兴趣搜索并加入不同的组队当中,也可以自己创建新的组队。

(4)邀请模块。

邀请功能可以使用户便捷地管理个人好友,显示好友邀请信息及好友列表;同时可以搜索查询指定好友是否有共同的空闲时间,如果所选好友均有空闲时间,则可邀请所选好友加入自己的新建组队。

开题报告(基于Android平台的手机日程管理系统)

开题报告(基于Android平台的手机日程管理系统)
4月16日至4月29日:完成编码并进行调试;
4月30日至5月13日:系统测试,功能完善;
5月14日至5月27日:系统发布,试运行并逐步达到预期目标;
5月28日至6月8日:论文的撰写及修改,英文文献翻译;
6月9日至6月18日:论文装订,答辩准备。
五、主要参考文献(按作者、文章名、刊物名、刊期及页码列出)
[1]王向辉,张国印,沈洁.Android应用程序开发[M].北京:清华大学出版社,2010.
[2]李金霖,赖超,龙曦等.基于Android平台的手机日程管理系统[J].计算机与数字工程,2003,39(3):65-68,137.
[3]杨丰盛著. Android应用开发揭秘[M].北京:机械工业出版社,2010.
(3)资源占用小
本系统采用应用程序优化整合的设计,方便用户管理应用程序。同时,其以小控件的方式显示在桌面,并提供界面切换功能,避免多个应用程序占用大量的手机桌面。
3、工作进度
3月19日至3月31日:布置任务,需求分析;资料收集,参考文献阅读;完成开题报告;
4月1日至4月15日:熟悉开发平台,了解系统开发流程;
[4]姚立旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008(11):110-113.
[5]耿东久,索岳,陈渝,等.基于Android手机的远程访问和控制系统[J].计算机应用研究,2011,31(2):559-571.
[6]张正政,林耀荣.基于Android系统的影音播放器开发[J].现代电子技术,2011,34(2):5-8.
Android手机日程管理系统要建立以下功能:
(1)日程安排:记录用户每天的日程安排,并显示近日(昨天、今天、明天)的计划、安排,让用户方便获知信息,并有到点提醒功能。

基于Android的日历应用的设计与实现

基于Android的日历应用的设计与实现

分类号学号M********* 学校代码10487 密级硕士学位论文基于Android的日历应用的设计与实现学位申请人:黄厚宏学科专业:软件工程指导教师:区士颀答辩日期:2018.12.20A Thesis Submitted in Partial Fulfillment of the Requirementsfor the Degree for the Master of EngineeringDesign and Implementation of Calendar Application Based on androidCandidate:Huang HouhongMajor :Software EngineeringSupervisor :Ou ShiqiHuazhong University of Science & TechnologyWuhan 430074, P.R.ChinaDecember, 2018摘要当前互联网的快速发展已经成为了人们生活中的不可分割的部分,移动互联网更是成为了当前发展的重点。

移动互联网的最重要终端就是智能手机的发展,当前市场上主要有android与ios两大移动端操作系统。

对于当前众多的国内手机厂商来说,所用的系统均是定制版的android系统。

本文日历应用就是某厂商手机内置软件之一,针对用户需求与商业化需求,对日历的功能划分为三大部分。

基础部分包括日期功能、备忘录功能以及设置功能;运营部分包含各种卡片,每个卡片对应一个功能。

其它部分包括小工具、适配、mock测试框架等。

这些功能让日历应用更加的全面,同时日历应用也不再是传统的工具类应用,更接近互联网类应用。

为满足上述需求,对日历的首页设计分为了三大部分。

ActionBar部分用来控制视图切换、日期跳转与推算、设置功能。

视图部分分别为月视图、周视图、日视图、日程视图,每次只能展示一个,他们的功能都是满足基础需求。

基于Android平台的日历系统的设计

基于Android平台的日历系统的设计

基于Android平台的日历系统的设计基于Android平台的日历系统的设计摘要:针对智能手机用户对日历的需求,基于Android内核和架构,设计了自定义控件和相关算法,实现了对日历的查看、日期切换、节日查询等多项功能,并附加了记事本、身体健康数据记录等常见功能,体现了日历系统的实用性和方便性。

关键词:Android;日历查看;节日查询中图分类号:TP311 文献标识码:A 文章编号:1009-3044()12-0058-021 概述这是一个移动互联网应用越来越普遍的年代,智能手机的用户群体越来越广大,随处可见拿着手机的人群。

随着生活节奏的加快,人们对信息需求量越来越大,对信息准确性要求越来越高,这些都要基于对时间和日期的更高和更多的需求,传统的日历已经不能满足人们的要求,手机平台上的日历系统应运而生,用户能够随时经过手机掌握日期和节日等信息。

本设计的预期目标为:1)功能强大:除了日历的基本功能(查看日期)外,还实现了农历阴历互转、健康查询、日期查询、每日签到等功能。

2)操作方便:对于Android手机用户来说,本软件使用方便简单,功能使用方法一看便知,大大减少了用户的操作难度。

2 关键性技术2.1 Android平台Android是一种开放源码的操作系统,是现在智能手机采用的主流操作系统。

Android操作系统最初由AndyRubin开发,最初只能使用Java语言进行基于Android平台的应用程序的开发,随着技术的成熟,Android快速发展,现在已经能够使用其它编程语言来进行基于Android平台的应用程序开发,因此越来越多的设计开发人员投入到基于Android平台的应用程序开发中,Android平台得到发展,充分体现其开放性。

2.2 XML技术XML,即可扩展标记语言,用于标记电子文件使其具有结构性的标记语言,能够用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

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

基于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世纪——移动互联网高速发展的时代,人们每时每刻都在使用移动终端,智能机已经被普及,大量进入人们手中,人们不管在何时何地都能利用移动终端来查看各类消息等,当然无论在任何时候,人们需要准确地掌握日期、节日,提醒等重要消息,手机版日历提醒系统就在这样的大背景下被开发出来。

概要设计说明书(安卓日历

概要设计说明书(安卓日历

概要设计说明书1引言1.1编写目的这份概要的目的是扼要地为项目开发人员说明迷你备忘日历这个项目的设计方案1.2背景说明:a.软件的名称是:迷你备忘日历;b.此项目的任务提出者是第六开发小组、开发者是第六开发小组、用户是安卓2.3及以上系统的手机用户,用安卓2.3及以上系统运行该软件。

1.3定义1.API :Application Programming Interface 。

2.Android:是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如手机,平板电脑;在本文中Android等同于安卓。

3.E-R图:Entity--Relationship Diagram,即是实体--联系图。

4.GridView:网络视图,是服务器控件。

5.流程图:是以特定的图形符号加上说明,表示算法的图。

6.省级行政区:包括23个省,5个自治区,4个直辖市,和2个特别行政区。

7.数据结构:计算机存储,组织数据的方式。

8.数据库:(Database)是按照数据结构来组织、存储和管理数据的仓库。

9.类:是对某种类型的对象定义变量和方法的原型。

10.接口:是一种规范和标准,可以类的行为。

11.封装:是面向对象编程的三大特性之一,用于隐藏对象的属性和实现细节,仅对外公开接口以调用。

1.4参考资料1.疯狂android 讲义2.Android API 文档2.总体设计2.1需求规定本系统的主要的输入项目有: 1. 文本输入 2. 城市选择 3. 节日选择 4. 铃声选择 输出项目:1.备忘记录及提醒铃声2.所选城市的天气3.所选节日的本年的日期处理的功能要求:1. 具有编辑记事功能和选择是否开启闹铃提示功能2. 用下拉框显示各个省级行政区域,再对所选的项目用下拉框显示对用的各个城市1.北京2.河北 。

34.江西3. 用gridview 布局月视图,用下拉框显示主要的节日,按所选节日跳转到对应的月视图 月视图如下:铃声1 铃声21.南昌2.九江 。

基于Android的日历系统

基于Android的日历系统

第一章引言1.1项目背景现在的智能手机已经非常普遍,而且其在生活中所占据的分量以及发挥的作用也是越来越重要,而且,查看时间、日期等功能也越来越完善。

基于Android操作系统的智能手机具有非常完善的数据读取功能,这样的优势就可以非常方便的设计日历。

同时,Android操作系统源代码都是公开的,可以在很多平台免费获取相应的资源,所以这些信息就可以很轻易的得到。

很多用户都需要一个日历系统,方便随时方便的查询时间日期等,这也是所有手机都具有的基本功能。

在开发新的日历系统时,一定要保证具有稳定的性能以及很好的客户体验,很好的将这些系统打造成日常生活不可或缺的产品以及方便稳定的工具,这样的生活助手在生活中一定具有很广阔的市场前景,同时也要保证外形美观,功能丰富。

本文主要阐述了Android操作系统的开发环境,发展现状以及主要组成模块等,对于该系统的开发应用程序进行了分析,还阐述了其在将来市场环境中具有前景以及不足进行了分析。

本次开发的操作系统,可以实现查看日期等基本功能,还可以查询指定日期以及将相应的日期进行阳历与农历的转换。

对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,设备备忘录等。

1.2选题意义本文开发的日历系统基于Android操作系统,能够实现原来设计的基本功能,包括查询日期以及显示制定日期等,而且能够针对阳历转换为相应的农历日期,还有日期管理功能。

对于特殊节日的管理,系统也有相应的应对功能;对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,设备备忘录等。

该系统人机界面良好,操控性能好。

第二章 Android操作系统简介2.1 Android操作系统基本结构Android操作系统可以划分为四层结构,从最底层开始依次是应用层、应用框架层、系统运行库层以及Linux内核层,基本结构如图1-1.图2-1 Android操作系统基本结构(1)应用层(App1ication)应用层主要用来与用户进行交互,也就是一个人及操作界面,允许用户通过点击等动作完成相应的操作。

Android向系统日历添加日程提醒事件

Android向系统日历添加日程提醒事件

Android向系统⽇历添加⽇程提醒事件在项⽬开发过程中,有时会有预约提醒、定时提醒等需求,这时我们可以使⽤系统⽇历来辅助提醒。

通过向系统⽇历中写⼊事件、设置提醒⽅式(闹钟),实现到达某个特定的时间⾃动提醒的功能。

这样做的好处是由于提醒功能是交付给系统⽇历来做,不会出现应⽤被杀情况,能够做到准时提醒。

⼀般来说实现向系统⽇历中读写事件⼀般有以下⼏个步骤:(1)需要有读写⽇历权限;(2)如果没有⽇历账户需要先创建账户;(3)实现⽇历事件增删改查、提醒功能;1.权限申请<uses-permission android:name="android.permission.READ_CALENDAR" /><uses-permission android:name="android.permission.WRITE_CALENDAR" />2.⽇历相关uriprivate static String CALENDER_URL = "content://com.android.calendar/calendars";private static String CALENDER_EVENT_URL = "content://com.android.calendar/events";private static String CALENDER_REMINDER_URL = "content://com.android.calendar/reminders";3.具体实现import android.content.ContentUris;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.graphics.Color;import .Uri;import android.os.Build;import android.provider.CalendarContract;import android.support.annotation.RequiresApi;import android.text.TextUtils;import java.util.Calendar;import java.util.TimeZone;public class CalendarReminderUtils {private static String CALENDER_URL = "content://com.android.calendar/calendars";private static String CALENDER_EVENT_URL = "content://com.android.calendar/events";private static String CALENDER_REMINDER_URL = "content://com.android.calendar/reminders";private static String CALENDARS_NAME = "boohee";private static String CALENDARS_ACCOUNT_NAME = "BOOHEE@";private static String CALENDARS_ACCOUNT_TYPE = "com.android.boohee";private static String CALENDARS_DISPLAY_NAME = "BOOHEE账户";/*** 检查是否已经添加了⽇历账户,如果没有添加先添加⼀个⽇历账户再查询* 获取账户成功返回账户id,否则返回-1*/@RequiresApi(api = Build.VERSION_CODES.N)private static int checkAndAddCalendarAccount(Context context) {int oldId = checkCalendarAccount(context);if( oldId >= 0 ){return oldId;}else{long addId = addCalendarAccount(context);if (addId >= 0) {return checkCalendarAccount(context);} else {return -1;}}}/*** 检查是否存在现有账户,存在则返回账户id,否则返回-1*/private static int checkCalendarAccount(Context context) {Cursor userCursor = context.getContentResolver().query(Uri.parse(CALENDER_URL), null, null, null, null);try {if (userCursor == null) { //查询返回空值return -1;}int count = userCursor.getCount();if (count > 0) { //存在现有账户,取第⼀个账户的id返回userCursor.moveToFirst();return userCursor.getInt(userCursor.getColumnIndex(CalendarContract.Calendars._ID));} else {return -1;}} finally {if (userCursor != null) {userCursor.close();}}}/*** 添加⽇历账户,账户创建成功则返回账户id,否则返回-1*/private static long addCalendarAccount(Context context) {TimeZone timeZone = TimeZone.getDefault();ContentValues value = new ContentValues();value.put(, CALENDARS_NAME);value.put(CalendarContract.Calendars.ACCOUNT_NAME, CALENDARS_ACCOUNT_NAME);value.put(CalendarContract.Calendars.ACCOUNT_TYPE, CALENDARS_ACCOUNT_TYPE);value.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, CALENDARS_DISPLAY_NAME);value.put(CalendarContract.Calendars.VISIBLE, 1);value.put(CalendarContract.Calendars.CALENDAR_COLOR, Color.BLUE);value.put(CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_OWNER); value.put(CalendarContract.Calendars.SYNC_EVENTS, 1);value.put(CalendarContract.Calendars.CALENDAR_TIME_ZONE, timeZone.getID());value.put(CalendarContract.Calendars.OWNER_ACCOUNT, CALENDARS_ACCOUNT_NAME);value.put(CalendarContract.Calendars.CAN_ORGANIZER_RESPOND, 0);Uri calendarUri = Uri.parse(CALENDER_URL);calendarUri = calendarUri.buildUpon().appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true").appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, CALENDARS_ACCOUNT_NAME).appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE, CALENDARS_ACCOUNT_TYPE).build();Uri result = context.getContentResolver().insert(calendarUri, value);long id = result == null ? -1 : ContentUris.parseId(result);return id;}/*** 添加⽇历事件*/@RequiresApi(api = Build.VERSION_CODES.N)public static void addCalendarEvent(Context context, String title, String description, long reminderTime, int previousDate) { if (context == null) {return;}int calId = checkAndAddCalendarAccount(context); //获取⽇历账户的idif (calId < 0) { //获取账户id失败直接返回,添加⽇历事件失败return;}//添加⽇历事件Calendar mCalendar = Calendar.getInstance();mCalendar.setTimeInMillis(reminderTime);//设置开始时间long start = mCalendar.getTime().getTime();mCalendar.setTimeInMillis(start + 10 * 60 * 1000);//设置终⽌时间,开始时间加10分钟long end = mCalendar.getTime().getTime();ContentValues event = new ContentValues();event.put("title", title);event.put("description", description);event.put("calendar_id", calId); //插⼊账户的idevent.put(CalendarContract.Events.DTSTART, start);event.put(CalendarContract.Events.DTEND, end);event.put(CalendarContract.Events.HAS_ALARM, 1);//设置有闹钟提醒event.put(CalendarContract.Events.EVENT_TIMEZONE, "Asia/Shanghai");//这个是时区,必须有Uri newEvent = context.getContentResolver().insert(Uri.parse(CALENDER_EVENT_URL), event); //添加事件if (newEvent == null) { //添加⽇历事件失败直接返回return;}//事件提醒的设定ContentValues values = new ContentValues();values.put(CalendarContract.Reminders.EVENT_ID, ContentUris.parseId(newEvent));values.put(CalendarContract.Reminders.MINUTES, previousDate * 24 * 60);// 提前previousDate天有提醒values.put(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT);Uri uri = context.getContentResolver().insert(Uri.parse(CALENDER_REMINDER_URL), values);if(uri == null) { //添加事件提醒失败直接返回return;}}/*** 删除⽇历事件*/public static void deleteCalendarEvent(Context context,String title) {if (context == null) {return;}Cursor eventCursor = context.getContentResolver().query(Uri.parse(CALENDER_EVENT_URL), null, null, null, null);try {if (eventCursor == null) { //查询返回空值return;}if (eventCursor.getCount() > 0) {//遍历所有事件,找到title跟需要查询的title⼀样的项for (eventCursor.moveToFirst(); !eventCursor.isAfterLast(); eventCursor.moveToNext()) {String eventTitle = eventCursor.getString(eventCursor.getColumnIndex("title"));if (!TextUtils.isEmpty(title) && title.equals(eventTitle)) {int id = eventCursor.getInt(eventCursor.getColumnIndex(CalendarContract.Calendars._ID));//取得idUri deleteUri = ContentUris.withAppendedId(Uri.parse(CALENDER_EVENT_URL), id);int rows = context.getContentResolver().delete(deleteUri, null, null);if (rows == -1) { //事件删除失败return;}}}}} finally {if (eventCursor != null) {eventCursor.close();}}}4.测试添加事件CalendarReminderUtils.addCalendarEvent(this,"学校读书","吃了饭再去",System.currentTimeMillis()+3600*24*1000*2+10000,2); 5,效果注意:6.0 以上需要申请权限才可以使⽤哦。

基于Android的日程管理APP设计与实现

基于Android的日程管理APP设计与实现

1540 引言近年移动端的功能逐渐多样化,人们对于手机端的依赖性飞速提升,而安卓应用端开发的市场十分广阔,吸引了很多人才和资金。

但从现在的市场软件发布情况来看,面向学生的移动端开发并不多。

而在课程+日程安排方面[1-2]的移动端软件就更加稀缺了。

目前大多数APP基本上只能处理课程部分的问题,在日程管理安排、推荐的方面上很少有进行开发。

目前国际上开发的此类应用可简称为时间管理工具,市面上出现的一些时间管理工具有滴答清单、超级课程表和时间规划局等。

但根据研究发现,这些时间管理工具面向的对象仍然不能精确定位到学生层面,在解决课程与事件冲突、智能推荐方向仍然不够完善。

通过产品的研究和资料的学习,我们决定开发一个既可以满足课程、日程与便签功能,同时可解决日程安排方面问题的APP。

1 相关时间管理工具根据平台的不同,目前市场上的时间管理APP可以分为以下两大类:1.1 面向ios平台的APP如:时间规划局APP,在该APP中,用户可以添加任何纪念日和相关的事件日期,但是只有用户使用了或者记录相关事件之后,才会开始计时及提醒,缺少了人机交互。

1.2 面向ios和Android平台的APP如:滴答清单,该APP可以将待办事项按照优先度进行陈列,但是展示功能无法完全贴合大学生的日常生活。

超级课程表是一款面向学生,可以为学生提供课程表及上课地点的软件,但是该软件没有时间管理和待办事项查询的功能。

通过调研发现,无论是ios还是Android平台上的时间管理工具都不能够将课程、日程和便签相结合,并且不提供日程规划的功能,帮助在校大学生更好地管理时间,解决日程与课程的冲突。

2 系统架构设计针对调研结果,本文设计了基于Android的日程管理APP,从层次上可以分为数据层、服务层和交互层。

2.1 交互层包括注册登录、记录便签、日程、课程的展示和查询功能。

其中便签、日程、课程表类的交互模式主要以可视化方式呈现。

(1)便签显示用户自定义添加的时间+事件片段,按照截至日期、时间顺序或用户自定重要性进行排序显示,用户完成后可将便签删除,起到提示作用。

基于android的日历系统的设计与实现

基于android的日历系统的设计与实现

毕业设 计(论文) `院 系 控制与计算机工程学院计算机系 专业班级 软件工程1001班 学生姓名 指导教师 二○一四年六月 题 目 基于Android 的日历系统 的设计与实现基于Android的日历系统的设计与实现摘要Android系统凭借其良好的用户体验、低廉的成本及高开放性产生了巨大的应用量和广阔的应用面。

如今,基于Android系统的应用极为丰富,从输入法到影音播放器,从系统工具到网页浏览器,从社交网络客户端到学习办公助手工具,以及形式繁多的游戏应用,都有力体现了Android平台的强大的适应性和发展潜力。

而日历应用作为智能终端的出厂必备控件,更是Android系统中不可或缺的一部分。

而应用开发商力求为客户带来更好的用户体验,将日历这一原本普通的生活用品打造成植于移动终端中的生活助手,且界面风格迥异,功能也是趋于多样化和一体化。

本文通过论述对基于Android的日历系统的开发的全过程,研究了Android系统的开发环境、核心构架、主要组件,展示了开发移动应用的一般过程,并对Android平台的背景、现状和发展前景进行了讨论。

本次项目所实现的日历系统,除了最基本的日期信息查询功能外,还具备了公历转换农历功能、指定日期跳转功能、当天日期定位功能和日程管理功能。

通过转换功能,用户可将希望查询的公历日期转为农历日期;如果用户想知道某一天或某个月有什么节日,可以使用跳转功能;在主界面没有显示当月日期时,用户可通过定位功能回到当天日期;而日程管理功能则为用户提供了类似备忘录的平台。

关键词;Android;移动终端;手机日历;移动应用开发THE DESIGN AND IMPLEMENTATION OF CALENDER BASED ON ANDROIDSYSTEMAbstractAndroid system has been achieved a great number of users because of its excellent user experience,low cost and high openness.Nowadays,there are plenty of smartphone applications based on android system such as input methods,audio/video players,system tools,web browsers,social networks,school/office softwares,games,etc,which show great adaptation and development potential of Android.Calender has become a necessary widget in intelligent terminals and also a quite important part of Android system.App developers strive to improve the user experience so that they change the calender,a commonplace articles for daily use,into a kind of assistant for users,with different kinds of interface.And its function becomes more and more diversified and incorporate.This article is about the whole development process of calender based on Android system, the development environment,the core framework and the main module of Android.Also,we will discuss the background,the current situation and the development potential.The Calendar we enforce in this project contains functions not only the most basic date information inquire,but also other functions such as gregorian-lunar transformer,current date locator,events ers are able to transform gregorian dates they want to lunar dates by using gregorian-lunar transformer;If users want to check out festivals of dates,the skip function will help;Users could skip back to current date with the help of date locator when the main interface doesn ‘t show;And the events manager provides a kind of platform like memorandum.Keywords: Android; The mobile terminal; Smart mobile Calender;Mobile application development目录摘要 (I)Abstract (II)目录 (3)1绪论 (1)1.1课题背景 (1)1.2发展现状 (1)1.2.1Android SDK发布里程碑 (1)1.2.2Android市场发展轨迹 (3)1.3Android系统的发展前景 (3)1.4课题研究意义 (4)1.5 本文主要结构 (5)2Android系统核心技术概述 (6)2.1Android的体系结构 (6)2.2Android系统组件 (8)2.3Android主要控件 (9)2.4本章小结 (11)3基于Android的日历系统 (12)3.1需求分析 (12)3.1.1系统目标 (12)3.1.2功能需求描述 (12)3.1.3界面需求分析 (12)3.1.4运行需求分析 (12)3.2系统概要设计 (12)3.2.1系统功能结构 (12)3.2.2系统界面布局 (13)3.3主要算法与核心代码实现 (14)3.3.1主界面 (14)3.3.2菜单项目操作 (16)3.3.3日程管理功能实现 (18)3.3.4农历、闰年、节日算法 (19)3.4软件测试 (20)3.4.1测试平台 (20)3.4.2软件安装 (20)3.4.3程序运行情况 (21)3.5本章小结 (23)4总结 (24)4.1 论文工作总结 (24)4.2 问题与展望 (24)参考文献 (26)致谢 (27)1绪论1.1课题背景Android一词最早出现在法国作家威利耶德利尔·亚当的科幻小说中,作者将外表像人的机器称为“Android”[1]。

基于Android的日历系统

基于Android的日历系统

第一章引言1.1项目背景现在的智能手机已经非常普遍,而且其在生活中所占据的分量以及发挥的作用也是越来越重要,而且,查看时间、日期等功能也越来越完善。

基于Android操作系统的智能手机具有非常完善的数据读取功能,这样的优势就可以非常方便的设计日历。

同时,Android操作系统源代码都是公开的,可以在很多平台免费获取相应的资源,所以这些信息就可以很轻易的得到。

很多用户都需要一个日历系统,方便随时方便的查询时间日期等,这也是所有手机都具有的基本功能。

在开发新的日历系统时,一定要保证具有稳定的性能以及很好的客户体验,很好的将这些系统打造成日常生活不可或缺的产品以及方便稳定的工具,这样的生活助手在生活中一定具有很广阔的市场前景,同时也要保证外形美观,功能丰富。

本文主要阐述了Android操作系统的开发环境,发展现状以及主要组成模块等,对于该系统的开发应用程序进行了分析,还阐述了其在将来市场环境中具有前景以及不足进行了分析。

本次开发的操作系统,可以实现查看日期等基本功能,还可以查询指定日期以及将相应的日期进行阳历与农历的转换。

对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,设备备忘录等。

1.2选题意义本文开发的日历系统基于Android操作系统,能够实现原来设计的基本功能,包括查询日期以及显示制定日期等,而且能够针对阳历转换为相应的农历日期,还有日期管理功能。

对于特殊节日的管理,系统也有相应的应对功能;对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,设备备忘录等。

该系统人机界面良好,操控性能好。

第二章 Android操作系统简介2.1 Android操作系统基本结构Android操作系统可以划分为四层结构,从最底层开始依次是应用层、应用框架层、系统运行库层以及Linux内核层,基本结构如图1-1.图2-1 Android操作系统基本结构(1)应用层(App1ication)应用层主要用来与用户进行交互,也就是一个人及操作界面,允许用户通过点击等动作完成相应的操作。

基于Android的日程管理APP设计与实现

基于Android的日程管理APP设计与实现

一、需求分析
一、需求分析
在健康管理系统APP设计和实现过程中,首先需要对用户需求进行分析。通过 市场调研和分析,我们发现用户需要以下功能:
一、需求分析
1、身体指标监测:用户可以实时监测自己的体重、血压、血糖等身体指标; 2、健康数据分析:APP可以分析用户的健康数据,为其提供可视化的健康数 据分析结果;
1、易用性:日程管理APP应该易于使用,用户应该能够在短时间内掌握如何 创建、编辑、删除和查看他们的日程。
基本内容
2、灵活性:应用程序应该能够适应不同的日程需求,包括个人、团体和商业 日程。用户应该能够根据需要自定义日程的详细信息。
基本内容
3、提醒功能:为了确保用户不会错过任何重要的日程,应用程序应该具备强 大的提醒功能。例如,可以在日程开始前发送提醒通知。
1、用户表:存储用户信息,如用户名、密码、电子邮件等。
通过以上步骤,我们已经成功地设计和实现了一款基于Android的日程管理 APP。这款APP不仅满足了基本的功能需求,而且具有易用性、灵活性和可视化等 特点。尽管在实现过程中遇到了一些挑战,但通过合理的规划和精细的设计,我 们成功地克服了这些挑战。这款日程管理APP的成功实现标志着我们在移动应用 开发领域的又一重要突破。
基本内容
在架构设计阶段,我们需要确定应用程序的主要组成部分和它们之间的关系。 这主要包括以下几个部分:
基本内容
1、用户界面(UI):用户与应用程序交互的界面,应直观易用。 2、业务逻辑层:这一层处理所有与日程相关的操作,如创建、编辑、删除和 查看日程。
基本内容
3、数据访问层:这一层负责与数据库交互,包括读取和写入数据。 4、数据库:用于存储用户日程信息的数据库。我们选择SQLite作为本地数据 库,并使用Firebase进行云端数据同步。

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

基于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的记事提醒软件的设计与实现

沈阳航空航天大学课程设计报告课程设计名称:嵌入式系统综合课程设计课程设计题目:基于Android的记事提醒软件的设计与实现院(系):计算机学院专业:计算机科学与技术班级:学号:201204xxxx姓名:xxx指导教师:xxx说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。

报告和电子数据必须作为实验现象重复的关键依据。

学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。

尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。

与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。

报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。

本人签名: 日期:年月日目录1 题目介绍和功能要求 (1)1.1题目介绍和功能要求 (1)1.2可行性分析 (1)1.2.1课题调研 (1)1.2.2可行性分析 (1)1.2.3安卓系统架构和工作流程 (2)2 开发环境的安装和配置 (3)2.1开发包及其工具的介绍 (3)2.2A NDROID开发平台搭建步骤: (3)3 软件各部分设计 (4)3.1记事本组件的设计 (4)3.2记事本逻辑设计 (4)3.2记事本存储实现 (5)4 重要部分设计与实现 (7)4.1布局文件的设计与实现 (7)4.2提醒日期和时间设计与实现 (7)4.3列表监听器的设计与实现 (9)4.4选择菜单的设计与实现 (10)4.5闹钟的设计与实现 (10)5 程序部分效果图 (12)5.1记事列表和菜单 (12)5.2操作菜单 (13)5.3时间提醒设置 (14)参考文献 (15)附录(关键部分程序清单) (16)1 题目介绍和功能要求1.1 题目介绍和功能要求本次课程设计的题目是基于Android的记事提醒软件的设计与实现,是在安卓手机上独立自主开发一个实用的APP的小项目,这是一个具有提醒功能的记事工具软件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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手机上都有一款相同功能的软件。

Android操作系统作为目前最风靡与社会中的手机操作系统,按照当前Android的市场占有率而言,本款软件非常具有市场应用价值。

1.3 国内发展状况当前,国内的Android开发事业还是以程序应用开发为重点,主要分成3类:为各个企业开发应用程序、开发通用应用程序以及开发游戏程序。

第一类开发人员一般身处财力较雄厚的大公司,这些公司主要为自己公司品牌或者其他著名品牌设计移动终端的总体方案。

除了根据用户需求对系统进行特定的修改意外,更多的工作是为这些移动终端编写特别定制的应用程序。

第二类开发者,一般处于自主创业型或者是自主开发者,他们的盈利模式主要有2种:为一些大型公司进行外包服务,或者通过Google平台的移动终端广告,通过其他用户来点击广告从而获得广告点击分成。

而理论上利用付费下载的模式来取得盈利的,目前国内基本没有成功的例子。

1.4研究内容为了实现基于Android平台的日历提醒软件,本文主要围绕基于Android平台的开发应用程序的整体思路,设计开发、实现功能等流程做了具体的描述,并对农历的日历算法做了简洁明了的描述。

2 相关技术介绍2.1 Sqlite技术2.1.1 Sqilte介绍SQLite,是一款小型的数据库,是遵从ACID的关联式模式的数据库管理系统,它的设计目标是基于嵌入式的小型数据库的,而且目前它已经被运用到很多嵌入式产品中,它占用系统资源非常少,在一些嵌入式设备中,几百KB的内存就能够满足系统的需要。

它支持Windows/Linux/Unix等许多的主流操作系统,同时与很多程序语言能够结合,比如Xml、PHP、C#、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL 这两款开源程序语言界最著名的数据库管理系统来说,它的处理速度比他们快的多[3]。

SQLite第一个Alpha版本于2000年5月诞生. 到目前已经12年了,SQLite也发布了一个新的版本SQLite 3。

2.1.2 Sqlite支持的SQL语句SQLite虽然相对于其他数据库非常的小,但是支持Sqlite的SQL语句绝对不会比其他开源数据库差劲,它所支持的SQL语句包括:ATTACH DATABASE 、BEGIN TRANSACTION 、comment 、COMMIT TRANSACTION 、COPY 、CREATE INDEX 、CREATE TABLE 、CREATE TRIGGER 、CREATE VIEW 、DELETE 、DETACH DATABASE 、DROP INDEX 、DROP TABLE 、DROP TRIGGER 、DROP VIEW 、END TRANSACTION 、EXPLAIN 、expression 、INSERT 、ON CONFLICT clause 、PRAGMA 、REPLACE 、ROLLBACK TRANSACTION 、SELECT 、UPDATE。

2.1.3 Sqlite的特征1.ACID事务。

2.零配置–无需进行复杂的安装和繁琐管理配置。

3.一个完整的数据库中能够存储一个存在在单一磁盘中的文件。

4.在不同字节顺序的机器间能够自由地共享数据库文件。

5.数据库大小能够拓展到2TB。

6.规模足够小小,只要3万行C代码即能实现功能,大小约为250K。

7.在大部分的普通数据库中的操作要比在一些流行数据库中快。

8.简单,轻松的API。

9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定。

10.良好注释的源代码,并且有着 90%以上的测试覆盖率。

11.独立: 没有额外依赖。

12.Source完全的Open,你可以用于任何用途,包括出售它。

13.支持多种开发语言,C, PHP, Perl, Java, C#, Python。

2.2WebService技术2.2.1WebService简介WebService是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。

Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service 可以执行从简单的请求到复杂商务处理的任何功能。

一旦部署以后,其他Web Service 应用程序可以发现并调用它部署的服务系统功能需求。

2.2.2WebService技术和规则1.XML:描述数据的标准方法。

2.SOAP:表示信息交换的协议[4]。

简单对象访问协议,简单对象访问协(SOAP)是一种轻量的、简单的、基于XML的协议,SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。

它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

它是用来交换结构化和固定在网络上的信息。

3.WSDL:是Web Service的描述语言:用于描述Web Service的接口信息等。

4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种基于XML语言的独立于平台之外的用于在描述互联网上的商务的协议。

2.3Android平台2.3.1 Android平台简介Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统[5]。

刚开始的时候,是一个名为Android的公司来进行开发的,谷歌在2005年收购Android公司以后,继续进行对Android系统的开发以及运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。

Linux内核只提供底层功能,其他的应用软件则由各个使用Android来进行开发的公司进行自行开发,部分程序以Java语言来编写。

2.3.2Android应用程序框架Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序、日历、地图、浏览器,联系人管理程序等[7]。

利用Java语言编写其他所有应用程序。

核心应用程序所使用的API框架可以完全被开发人员所访问。

该应用程序的架构设计简化了组件的重用;任何应用程序都可以发布其功能、发布任何其他块的应用程序,可以利用他们发布的功能块(需要遵循的安全限制的框架)。

同样,用户可以利用应用的程序重用机制更方便的替换程序组件。

Android应用程序背后都隐藏了许多服务其中包括:视图(Views),可以用来构建应用程序,它包括文本框(text boxes),按钮(buttons),列表(lists),网格(grids),甚至可以将这些元素嵌入到Web浏览器。

内容提供器(Content Providers),共享它们自己的数据时都需要内容提供器的服务,或者当一个应用程序想要访问另一个应用程序的数据(如联系人数据库)。

资源管理器(Resource Manager),它可以提供如图形和布局文件( layout files )非代码资源的访问[8]、本地字符串。

通知管理器(Notification Manager),自定义的提示信息显示在应用程序可以在状态栏中。

活动管理器( Activity Manager),用来管理应用程序生命周期,并提供常用的导航回退功能,是Android开发中的重要的服务系统。

Android 具有一个能够分层的环境,在Linux 内核的基础上构建,它包含了各种功能。

UI 子系统包括:窗口,视图。

Android与iPhone 的Mobile Safari 浏览器具有同样以WebKit 为基础的包括一个构建在WebKit 基础上的可嵌入浏览器,。

Android 提供多种连接选项,包括WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如GPRS、EDGE 和3G)[9]。

链接到Google 地图是Android 应用程序中一项流行的技术。

并不是所有的Android 设备都配备了必需的硬件,但是Android软件栈还提供对基于位置的服务(例如GPS)和摄像支持,另外还有加速计的支持。

相关文档
最新文档