版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Andriod平台的时间管理软件设计目录TOC\o"1-2"\h\u18588基于Andriod平台的时间管理软件设计 113123引言 127812研究背景 1173942.1系统的开发背景 195742.2系统开发内容和意义
213792Android系统核心技术概述
2258903.1
Android架构分析
2306583.2Android应用的构成和工作机制 3223673.4Android系统的优势 518433备忘录软件设计 615004.1系统设计需求 688191、主界面模块
6312072、时间管理的添加模块
673813、时间管理的修改模块
6259504、时间管理的删除模块
6123455、备忘时间到达提醒模块
7309666、时间管理数据存储模块
77877结论 2131096参考文献 21引言进入21世纪以来,我们正处在一个经济强劲发展的时代信息.发展移动通信平台的速度越来越快,技术越来越广泛成熟。在中国,Android手机的数量远远超过其他类型的手机。Android移动系统以其开放的平台、许多免费应用程序、便捷的界面,友好的操作而深受消费者的青睐。对于不少人来说,随身带个本子记录一些事情,笔记已经形成了一种习惯,从这之中就出现了时间管理。基于Android平台的时间管理可以让我们随时随随地记录自己的生活状态和一些重要的事情,随时翻阅"。因此,本文采用Java语言,利用Android和SQyang数据库开发一个基于Android平台的时间管理系统,用来给人们的生活带来便利。研究背景2.1系统的开发背景随着Android系统逐渐占据市场,Android在智能手机已经代替iOS成为用户量最多的操作系统。智能手机也逐渐成为日常人们获取信息的主要来源设备,尤其是在青年群体中中的表现最为突出。Android的应用已经渗透到了人们日常生活中,人们的生活离不开各种应用。这些应用为消费者带来了便利也让开发者带来了利益。通过Android智能手机,人们可以便捷的获取各种消息。因此,基于Android平台的便捷服务类应用将会有很好的发展机会和空间,手机随身时间管理就是它们中的一员。在Android系统下的时间管理软件中,可以为用户提供非常方便的备忘事件查询和提醒功能,为快节奏的生活提供高效率的保障。另外,由于Android平台是开放的,平台使用成本基本可以忽略不计,所以能够很好的控制软件的成本,为此类时间管理的普及做出贡献。2.2系统开发内容和意义
通过对现在市场上应用的IOS、Android等这些主流的平台的状况进行分析。研究和分析了Android平台的组件以及系统架构,然后也析解了Android应用的生命周期机制。并在此基础上设计开发了基于Android平台的时间管理系统。本时间管理系统界面友好、方便操作,具有良好的扩展性和和维护性。本系统经过测试,运行稳定,满足人们对于时间管理的使用要求。
Android系统核心技术概述
3.1
Android架构分析
Android的操作系统是一个由软件组件的栈。在Android在架构中可以分为四个主要层。从下层到上层依次为Linux内核层、系统运行库层、应用程序框架层和应用程序层。Linux内核层提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。同时,内核处理所有Linux所擅长的工作提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。同时,内核处理所有Linux所擅长的工作。Linux内核层是Android平台的基础,比如ART虚拟机最终是调用最底层的Linux内核来执行功能。Linux内核的安全机制也为Android的应用提供相应的保障,同时允许设备制造商为内核开发硬件驱动程序。系统运行库层包括了专门为Android开发的基于Java的程序库。这个类别程序库的示例包括应用程序框架库,如用户界面构建,图形绘制和数据库访问。分为程序库和Android运行库。程序库,在Android中包含一些C/C++库,这些库可以被Android系统中不同的组件使用。它们通过\t"/item/Android%E7%B3%BB%E7%BB%9F%E6%9E%84%E6%9E%B6/_blank"Android应用程序框架为开发者提供服务。Android运行库Android运行库中包含了一个核心库,这个核心库提供了JAVA编程语言的大部分功能。每一个Android应用程序都按照它自己的进程运行,拥有一个独立的Dalvik虚拟机实例,它依赖于linux内核的一些功能。应用程序框架层以Java类的形式为应用程序为用程序开发者提供许多高级的服务。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的作用,每一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块,但是要遵循框架的安全性。同样的该应用程序重用机制也方便用户替换程序组件。在每个应用后面都有一系列的服务和系统。应用层是Android会和一系列核心应用程序包一起发布,Android的应用程序包包含了email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。通常情况下它们都是使用Java语言进行编写。所有的Android应用程序都将被安装在这层应用层。3.2Android应用的构成和工作机制 一个完整Android应用程序通常是由四种构造块:ActivityIntent,Receiver,Service,ContentProvider组织而成的,但不是每一个Android应用程序都需要全部四个构造块。在一些时候,我们只需要这四个构造块中的一部分组合成应用。我们需要明确开发的应用需要哪些构造块,这些构造块要在AndroidManifest.xml中记录。AndroidManifest.xml是一个XML配置文件,这个配置文件是每一个Android应用所必需的。这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。Activity构造块是Android中最基础的一种。在应用中,一个activity构造块就是一个单独的屏幕。每一个activity构造块都会被实现成为一个独立的类。这个activity类会显示出由控件组成的视图,并且对事件做出响应。很多的应用会包含多个的屏幕。在默认情况下,Android应用会保留从主屏幕到每一个应用的运行屏幕。IntentReceiver构造块是在想要Android应用能够对一个外部的事件做出响应的时候来使用。虽然IntentReceiver构造块会在事件发生时,会使用NotificationManager来告知用户,但它不可以自己生成一个UI。IntentReceiver需要在AndroidManifest.xml中注册,也可以在代码中使用Context.registerReceiver()进行注册。当intentreceiver构造块被触发时,应用可以不去请求调用intentreceiver。Service构造块是一段长生命周期的,这个构造块是没有用户界面的程序的。Service构造块用来执行后台程序。每当Activity构造块需要进行操作的时候,在离开用户界面后,就会启用Service构造块的特殊服务。开发人员通常把Service构造块作为在底层运行的守护进程,用来定义一个远程过程中的调用接口。Service构造块还可以使其他组件用它来传递命令和检索数据,还可以用来记录回调函数。ContentProvider构造块在应用程序中可以将数据保存到相应的文件、SQL数据库中。当需要应用中的数据与其它的应用共享时,可以使用ContentProvider构造块。ContentProvider构造块能够让其它应用保存或读取在这个ContentProvider构造块处理的各种数据类型。Android应用的构成和工作流程如图1:图1Android的工作流程3.4Android系统的优势(1)Android操作平台的优势主要在于Android的开放性。Android平台是允许所有移动终端的厂商加入并对Android平台进行开发。其中包括底层操作系统、用户界面和应用程序。移动终端所有需要的软件都包含在应用程序中。各种各样的应用程序共同构成了Android这个平台。同时也可以在虚拟机上运行相应的应用程序,让开发者体验应用的功能,进一步优化应用程序。Android的开放性可以帮助平台获得更多的用户。在用户和应用日益增长的时代,让Android这个操作平台迅速发展起来。Android平台的开放性为它的发展,集聚了人气,其中包括各种厂商和消费者。对于消费者,丰富多彩的软件资源是他们所看重的。对于开发者,为了获取更多的用户,他们需要在这个开放的平台开发出方便用户的软件。在这样的背景下,Android平台快速发展了起来,并被众人认可。(2)Android平台所有的应用程序包括第三方的应用之间是平等的。消费者可以使用第三方的软件来代替系统的默认软件。例如:用户可以使用微信这个软件来代替系统默认的短信。(3)Android应用程序之间无界限。Android的开发人员能够将在手机本地的电话、联系人、位置、时间等信息与网络上的数据结合起来,让用户可以有更好的体验。(4)Android平台给开发者提供便捷的库和工具。开发者只需要几行简单的代码就可以快速地在Android平台创建应用程序。(5)Android平台中有一个轻量级的SQLite数据库。这个SQLite数据库
是嵌入式的数据库引擎。SQLite数据库是专门在资源有限的设备上进行数据存储的。例如:手机、平板等这些物理存储比较小的。SQLite具备检索效率高,系统开销小等优点。备忘录软件设计4.1系统设计需求 4.1.1需求分析 本课题在研究了Android平台的开发流程和人们日常使用手机软件的习惯,以Java为开发语言,Androidstudio为开发环境,实现了时间管理系统。包括主界面、删除模块、数据存储模块、修改模块和时间到达提醒模块。各个模块的主要功能如下:
1、主界面模块
在用户进入应用后,在主界面可以看到所有事项,包括添加,查看,删除和各个事项的内容和时间。
2、时间管理的添加模块
在用户在进入主界面后,点击添加按钮,就会弹出相应的添加界面,用户可以根据提示依次输入备忘事项的标题、设置提醒日期、提醒时间、以及备忘事项的具体内容。内容添加完成后,点击保存按钮,时间管理添加成功。返回主界面后,即可看到刚刚添加的备忘事件。
3、时间管理的修改模块
用户进入主界面后,可以看到所保存的备忘事项一览表,找到需要修改的备忘记录并长按,会弹出时间管理修改界面,用户可以对备忘的标题、日期、时间、和备忘具体内容进行修改。修改完成后,点击保存按钮,备忘时间即被修改成功。
4、时间管理的删除模块
用户进入主界面后,在备忘事项一览表中找到想要删除的事件,并长按,会弹出修改菜单,点击删除按钮,所选备忘时间即被删除,系统提示删除成功。
5、备忘时间到达提醒模块
当用户所保存的备忘事项时间到达后,系统会发出通知提醒,开启手机声音提醒,并在手机桌面通知栏处显示备忘事件时间到达通知,提醒用户有待办事项。
6、时间管理数据存储模块
时间管理的最重要功能就是记录和保存用户容易遗忘的日期和事件,为了持久地将用户的时间管理信息保存下来,需要将这些信息存储在数据库中。时间管理需要保存的信息有:编号(ID)、标题(Title)提醒日期(Date)、提醒时间(Time)、提醒内容(Content)、创建时间(Create
Date)等.
4.1.2下载开发资源 (l)首先下载最新的AndroidSDK。国内基本是用Windows系统,所以就选择Windows版本的SDK。下载后直接解压缩就可以使用,为了在控制台中直接使用SDK中的工具,把SDK目录添加到Windows的path环境变量中。图4环境变量配置(2)接着设置JDK环境变量Java_home,classPath,path)。(3)最后是打开开发Android的IDE。4.1.3更新Ec1ipse并下载ADT(Android开发插件) (1)启动Eclipse,选择Help>softwareupdates>findandInstall。(2)弹出对话框后,选择Searchfornewfeaturestoinstall,然后点击Next。(3)点击NewRemoteSite。(4)在编辑框中输入更新插件的地址:/android/eclipse/,点击OK。(5)看到一个更新的列表,点击Finish。(6)在返回的对话框中选择Androidplugin>EclipseIntegration>AndroiddevelopmentTools并且点击Next。(7)选择Accepttermsofthelicenseagreement,点击Next。(8)点击Finish。(9)选择InstallAll。(10)重新启动Eclipse。(11)重启后设置Android属性中的AndroidSDK目录(不包括SDK下的Tools):①选择Window→Preferences打开编辑属性窗口。②选择Android属性面板。③点击Browse…,选择加入AndroidSDK的目录。④选择Apply,最后点击OK。图5AndroidPreferences4.1.4使用Ec1ipse开发Android应用 使用EclipseIDE开发一个Android应用。首先是创建一个Android工程,然后设置应用启动配置。然后可以编辑代码,启动,调试应用。(l)创建一个Android工程。ADT插件提供了一个新的工程向导帮助快速的建立Android工程和编辑现存的Android项目的代码。按照下面的步骤建立Android工程:①选择File>New>project。②选择Android>Androidproject,点击Next。③设置工程的用途:选择createnewprojectinworkspace可以建立一个新的Android工程,输入工程的名字,代码的开发包的名字,应用界面的类名字,应用程序的标题的名字。选择createprojectfromexistingsource可以根据现存的代码建立一个工程.通过这个选项可以建立并运行现存的Google提供的ExampleApplication(在AndroidSDK的目录中可以找到)。④点击Finish。ADT插件将会为工程建立src/代码文件存放的目录、res/资源文件目录和AndroidManifest.xml应用工程的主配置文件。(2)创建Android虚拟机点击windows>androidSDKandAVDManager,选中VirtualDevices,选择new按钮,填写需要创建的name,并且选择Target,从Android1.5-2.2版本。填写虚拟机的sd卡内存(如设置size为256MB),然后点击CreateAVD。就完成对应版本的android虚拟机创建。图6虚拟机创建(3)调试应用程序。一旦建立了工程启动配置就可以按照如下的步骤调试程序:从Eclipse的主菜单中选择Run>Run或Run>Debug或者点击工程文件右键选择runas>AndroidApplication。如果需要还可以重新配置启动参数,比如选择其他的程序界面作为启动的主界面。4.2备忘录软件程序中各类组件 4.2.1PackageExplorer中的组件 (1)src文件夹包含示例应用程序的包,即mars.xingzuo。(2)R.javaAndroidDeveloperTools自动创建这个文件,它提供访问Android应用程序的各种资源所需的常量。(3)res文件夹包含应用程序的资源,包括:图标,布局文件,字符串。(4)AndriodManifest.xml示例应用程序的部署描述符。4.2.2应用程序的资源 正如前面提到的,Android中的资源放在项目的res子目录中。资源分为三类:(1)Drawables:这个文件夹包含图形文件,比如图标和位图。(2)Layouts:这个文件夹包含表示应用程序布局和视图的XML文件。后面会详细研究这些文件。(3)Values:这个文件夹包含strings.xml文件。这是为应用程序实现字符串本地化的主要方法。4.2.3布局文件main.xml 图7main布局fill_parent:使视图元素占满可用的空间。也可以认为这就是“拉伸”。wrap_content:这个值让Android把元素一个接一个地排列,不进行拉伸。在构建期间对所有资源进行编译。编译过程的输出之一是R.java文件,这个文件向应用程序的其余部分提供资源。4.2.4AndroidManifest.xml 图8Manifest文件AndroidManifest.xml文件是Android应用程序的部署描述符。这个文件列出应用程序中包含的所有活动、服务、内容提供器和接收器,以及应用程序支持的IntentFilter。4.3备忘录软件设计实现 AndroidManifest.xml清单文件见附录。所有代码和布局文件见附录。4.3.1数据存储实现 为了持久地将用户的备忘录信息保存下来,需要将这些信息存储在SQLite数据库中。以下将设计存储数据表以及创建ContentProvider来实现数据的增、删、查、改等操作。数据库表设计备忘录要保存的信息有:编号(ID)、提醒日期(Date1)、提醒时间(Time1)、提醒内容(Content)、是否启用(ON_OFF)、是否声音提醒(ALARM)、创建时间(CREATED)等.在操作备忘录数据表时,一些属性在几个类中使用,为此我们将其定义为一个常量类,在该常量类中声明。常量类名称为TaskList,该类有个内部类Tasks实现了BaseColums接口,在该类中声明URI和列表常量等,方便后面使用。BaseColums接口中只有2个被定义为publicstaticfinal类型的数据域,他们是_COUNT、_IDTask,分别代表目录的行数和每行的ID,Tasks类里定义了上面列举的备忘录要保存的信息。备忘录ContentProvider实现为了使备忘录数据表具有通用的数据共享访问机制,需要通过ContentProvider来实现。这里定义一个TaskListProvider类,该类继承ContentProvider,实现了onCreat、query、getType、insert、delete、update等方法,来支持数据的增、删、查、改等操作。在该类内部还定义了一个DatabaseHelper内部类继承SQLiteHelper,该类提供了常见或打开数据库、创建或删除表的功能。具体请看附件中的代码。图9是代码缩略图。图9TaskListProvider类缩略图4.3.2备忘录列表展示 用户可能要创建很多条备忘录信息,并且需要维护这些备忘录信息,例如删除、修改等功能。这里通过一个ListView来展示备忘录列表,通过选项菜单提供维护数据接口。 为了实现这一功能,这里定义一个TaskListActivity类,该类继承ListView来显示备忘录列表。该类主要功能有三个:一是通过前面定义的TaskListProvider查询备忘录列表,到Cusor游标,通过Cusor游标构建SimpleCusorAdapter,并通过ListView显示;二是响应ListView单击事件,当用户单击某备忘录信息时,显示该条备忘录的详细信息;三是提供选项菜单添加和删除备忘录信息。图10是代码,图11是运行结果。图10主界面代码缩略图在onCreat方法里,首先调用Intent里的getIntent方法得到Intent对象,接着使用getData方法得到数据,当未取到数据时使用setData方法将数据设置成Tasks类里对应的uri。然后使用getListView取到用来显示数据的组件,使用managedQuery方法得到一个Cusor类对象,用来创建一个SimpleCusorAdapter对象,并将其作为参数传递给setListAdapter方法,最后为列表项创建单击事件监听器使用setOnItemClickListener方法。 接着用onCreatOptionMenu方法创建选项菜单,以及用onOptionsItemSelected方法创建选项菜单单击方法。此Activity对应main.xml文件,图11为运行结果。图11主界面4.3.3备忘录维护 当用户单击主界面的一个列表时会在4.3.2列表展示中提到的setOnItemClickListener方法中响应,此方法体中定义一个Intent对象,使用setClass方法实现界面跳转到此TaskDetailActivity所对应的界面.结果如图13。图12备忘录维护代码缩略图备忘录维护时该应用程序的核心,提供了添加、修改备忘录信息的功能。备忘录信息业通过ListView来显示,ListView的每一项通过自定义View来实现。单击ListView的每一项来设置备忘录信息。图12为代码缩略图。图13为运行结果。图13列表单击响应图12中init方法用来初始化接收的来自TaskListActivity类传递过来的数据信息;在onCreate方法中首先使用getListView方法取到ListView,接着使用getLayoutInflater方法实例化LayoutInflacter,接着设置ListView适配器,使用Calendar中的静态方法getInstance获得Calendar实例,得到当前日期、时间。使用setOnItemClickListener响应单击事件,里面重写的OnItemClick方法里面来处理某一个选项被单击后的响应。当日期、时间、内容项被单击后的显示结果分别如下图14至16。图14日期项被单击图15时间项被单击图16内容项被单击4.3.4定时提醒 为了更好地提醒用户在特定的时间做某项工作,设置语音或振动提醒是必不可少的。此功能通过定义A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年危急值报告与处理流程课件(培训讲义版)
- 2026年生物样本库管理规范课件(专题深化版)
- 2026年病毒性肝炎防治宣教课件
- 2026 年致敬白衣天使学习医者奉献精神课件
- 2026 年标准化建设赋能百姓日常生活课件
- 文化经纪人班组评比能力考核试卷含答案
- 耐火纤维制品整型工安全专项评优考核试卷含答案
- 煤矿智能开采员安全应急竞赛考核试卷含答案
- 涂料涂覆工安全演练测试考核试卷含答案
- 铣粉工改进评优考核试卷含答案
- 虚拟现实技术导论完整全套教学课件
- 观察土壤-探究土壤质地课件人教版(2019)必修一2024-2025学年高一上学期
- NB-T31007-2011风电场工程勘察设计收费标准
- 门店餐厅装修设计
- 沥青路面就地冷再生技术
- 团员组织关系转接介绍信(样表)
- 公司新员工入职登记表实用文档
- 中医内科学痹症课件
- 中国的地下山脉纵横交织
- 井下中央变电所岗位责任制度
- 绪论材料分析方法哈工大
评论
0/150
提交评论