基于安卓的手机日程管理系统毕业论文.docx
- 文档编号:11602378
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:50
- 大小:398.95KB
基于安卓的手机日程管理系统毕业论文.docx
《基于安卓的手机日程管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《基于安卓的手机日程管理系统毕业论文.docx(50页珍藏版)》请在冰点文库上搜索。
基于安卓的手机日程管理系统毕业论文
基于安卓的手机日程管理系统毕业论文
第一章绪论
1.1课题背景
当今社会是信息社会,人们无论何时、无论何地都是在与信息打交道,您阅读的报纸是信息、看到的广告是信息、电视传播的是信息、上网浏览的是信息,当代人简直生活在“信息海洋”中。
这么多的信息哪些是有用的,哪些是无用的,人们在信息丰富的社会中,难免会忘记一些重要信息,有时会掉一个寻呼机,有时会掉一个本或笔记本什么的,这些“信息载体”也许包含着重要的个人信息。
如何将这些有用的信息存储起来避免忘记或丢失,如何对这些有用信息进行有序地组织、管理以资对生活决策提供帮助,这正是信息管理软件要解决的问题。
进入21世纪以来,无所不在的计算将打破传统意义上的计算机概念:
使用更方便、移动更容易、功能更多样化的各种具有计算机功能的设备大量出现,并且在需要时,可以随时通过无线方式连接到移动数据通信网络中,以便高效地交换信息和获得各种服务。
这种设备人们称之为无限设备(MobileDevice)。
移动设备最根本的特征是移动性,即能够利用无线电波、微波或红外线等传输介质允许通信中的设备在一定围自由移动,其位置不受束缚,从而实现通信双方至少有一方在移动中进行信息传输和交换的目的。
移动设备从产生到现在的历史并不长,然而其发展速度却远远超出人们的预料。
现如今,移动设备大行其道,全球有超过十亿部移动正在被使用,并且这个数目正在逐渐增加。
在除美国之外的每个发达国家,拥有手机的人数比拥有计算机的人数更多。
而目前,随着移动设备越来越普及及移动硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来。
目前国最常见的移动开发平台有Symbian,iPhone,WindowsPhone以及Android。
如今国外都有非常多的Android系统的用户。
自从2011年第一季度,Android在全球份额首次超过Symbian,跃居全球第一。
截止2012年2月据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
考虑到如今手机系统的发展现状,以及Android平台系统自身所拥有的优势。
因此,基于安卓平台开发一款手机应用软件具有较大的意义和可行性。
1.2安卓平台简介
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
目前,最新版本为Android4.0IceCreamSandwich(冰激凌治)以及还在测试中的Android5.0JellyBean(果冻豆)。
1.2.1安卓平台特色介绍
1.开放性
在优势方面,Android平台首先就是其开放性,开放的平台允许任何移动终端厂商加入到Android联盟中来。
显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开发性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。
开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
2.挣脱运营商的束缚
在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。
自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。
随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。
3.丰富的硬件选择
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。
功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。
好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。
4.不受任何限制的开发商
Android平台提供给第三方开发商一个十分宽泛、自由的环境。
因此不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。
但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。
1.2.2安卓系统编程语言
在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:
python、lua、tcl、php等等),还有其他诸如:
Qt(qtforandroid)、Mono(monoforandroid)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。
另外,谷歌还在2009年特别发布了针对初学者的AndroidSimple语言,该语言类似Basic语言。
而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。
在Android系统底层方面,Android使用C/C++作为开发语言。
而Android应用层的开发,基本上全部是采用Java开发。
但和我们一般互联网上应用的JAVA还是有些区别的。
此”JAVA"是google自己做的一套实现来实现,和SUN的底层是不太一样的。
不过对开发应用区别不大。
1.3安卓开发的现状
目前国的Android开发还是主要以应用开发为主,主要分成3类:
为企业开发应用、开发通用应用(放到AndroidMarket或者其他AppMarket销售)以及游戏开发(放到AndroidMarket或者其他AppMarket销售)。
第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。
除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。
第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:
为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。
而理论上的通过付费下载的形式来盈利的,现在国鲜见成功者。
第三类开发者,目前和第二类开发者类似。
下图是开发者提交的应用和游戏的数目所占的比例图,从中也可以看出应用开发数目远超游戏开发。
第二章系统开发环境与相关技术
2.1系统开发的环境
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1)Eclipse
(2)JDK
(3)AndroidSDK
(4)ADT(AndroidDevelopmentTools)
2.2系统开发软件的简介
2.2.1Eclipse的简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如容管理系统。
2.2.2其他软件的简介
(1)JDK
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
(2)AndroidSDK
SDK:
(softwaredevelopmentkit)软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,AndroidSDK指的既是Android专属的软件开发工具包。
(3)ADT(AndroidDevelopmentTools)
目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
2.3安卓环境的搭建
2.3.1软件下载准备
分别下载JDK、Eclipse、AndroidSDK,并首先解压Eclipse完成安装。
2.3.2JDK安装
首先按提示完成SDK安装,然后设置环境变量(非必须)。
1.我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
2.JAVA_HOME值为:
E:
\Android\Java\jdk1.6.0_21(我所安装JDK的目录)
3.CLASSPATH值:
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
4.Path:
在开始追加%JAVA_HOME%\bin;
安装完成之后,检查JDK是否安装成功。
打开cmd窗口,输入java–version查看JDK的版本信息。
出现下面的画面表示安装成功了,如图2-1:
图2-1安卓环境设置JDK效果测试图
2.3.3AndroidSDK安装
下载完成后解压到任意路径(我的解压路径为E:
\Android\android-sdk-windows)
运行SDKSetup.exe,点击AvailablePackages。
选择希望安装的SDK及其文档或者其它包,按需点击下面选项(开始下载安装所选包)
在用户变量中新建PATH值为:
AndroidSDK中的tools绝对路径(本机为D:
\AndroidDevelop\android-sdk-windows\tools)。
完成按“确定”后,重新启动计算机。
重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行android–h出现以下的画面,表明安装成功,如图2-2:
图2-2安卓环境设置SDK效果测试图
2.3.4ADT安装
打开Eclipse,进入菜单中的"Help"->"InstallNewSoftware"
点击Add...按钮,弹出对话框要求输入Name和Location:
Name自己随便取,Location输入dl-ssl.google./android/eclipse。
确定返回后,在workwith后的下拉列表中选择我们刚才添加的ADT,点击下面出现的DeveloperTools,展开它会有AndroidDDMS和AndroidDevelopmentTool,勾选他们,然后按步骤完成。
完成之后:
选择Window>Preferences...在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
E:
\Android\android-sdk-windows点击Apply。
配置完成。
2.3.5创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD。
1、在Eclipse中。
选择Windows>AndroidSDKandAVDManager
2、点击左侧面板的VirtualDevices,再右侧点击New
3、填入Name,选择Target的API,SDCard大小任意,Skin随便选,Hardware目前保持默认值
4、点击CreateAVD即可完成创建AVD
综上一切完成后安卓环境搭建完成。
2.4系统开发编程语言的简介
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的存空间,使得程序员不用再为存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java平台是基于Java语言的平台。
。
Java的特点:
1.平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界围共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
5.健壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵存减少了存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。
并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。
6.解释型
我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。
Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。
字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。
7.动态
java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。
第三章系统需求分析及概要设计
3.1系统的需求分析
该系统是一个基于安卓平台的手机日程管理软件。
它是为本软件的持有者提供日程管理方面服务的,它包括日历的查看、日历上日期对应日程的查看、总日程的查看、日程的增加、日程的删除、日程的修改、对本软件的设置以及软件相关信息的查看等。
本软件有助于人们记住重要的日程并给予提醒,也有助于人们更好的调节自己的时间来减轻生活上的一些负担,更轻松及有效的过好每一天。
3.2系统的概要设计
3.2.1系统的功能模块说明
(1)日历查看模块:
拥有一个完整的日历界面,包括头部的年月日、生肖、闰年的显示,还有每个日期上都分别有阳历和阴历的日期显示,并且日历中包含了各个重要的节日或纪念日等。
在日历界面上每个日期都会跳到当前日期的日程添加界面或者是日程显示界面。
日历界面上还有对存在日程的标记,有利于人们更好的管理日程。
(2)日程管理模块:
在本模块中包括总的日程显示页面和日历页面所跳转到的日程显示界面或者是日程添加界面。
总日程显示界面每一个日程都会有它所包含的日期、时间、日程类型、重复类型和日程容。
日历日期所对应的日程显示界面也是相应的显示。
而在日程添加界面中包含了显示界面所对应的各项数据、添加日程成功后会有对应日历日期的标记。
另外也有对日程的一系列管理操作的功能。
(3)设置界面模块:
在设置中包括了对日程的类型和重复类型的默认设置。
(4)关于界面模块:
关于界面中包含了本软件的设计信息及一些基本信息。
3.2.2系统的功能模块结构图
在程序设计分析的基础上,结合实际情况,得出本程序的功能模块结构图。
在结构图中包括了功能模块的表示及其中部分功能的实现原理。
首先是一个总的功能模块的结构图,其中包括了系统设计时的总体功能概括,如图3-1。
图3-1总系统功能模块
然后在总体的功能模块后面是主体功能的详细模块显示。
在日历界面显示上可分为几个部分,详细见图3-2,
图3-2日历显示模块
还有就是日程的功能模块的详细介绍。
总体书写了日程添加界面的功能点,结构图如图3-3所示,
图3-3日程界面模块
第四章系统的详细设计
4.1系统主界面的设计和实现
4.1.1系统主界面的头部菜单栏
制作这个头部菜单栏是为了提升软件的可操作性,我用的是TabHost+RadioGroup相结合的方法来制作这个部分的。
菜单栏的底部位置是通过TabHost这个布局来实现的,然后是LinearLayout的线性布局来布置容。
部的选项卡是通过TabWiget来实现
首先建立好Android工程(我的工程名为:
ScheduleManager),在工程下的res/layout下建立一个名为main的空xml文件,然后在这个文件里按照思路来添加布局代码。
主界面的菜单选项使用RadioGroup来建立,在这里的布局中RadioGroup里容纳4个RadioButton,而RadioButton是单选按钮。
在这种情况下就只有也只能有一个RadioButton能被选择,并且在开始时默认了第一个按钮被选中。
其中RadioButton的实现方式是在设置了部的文字,然后再按钮的顶部上添加上图片,实现的代码如下:
android: text="string/main_date" android: drawableTop="drawable/tab_date" android: id="+id/radio_button0" android: checked="true" style="style/main_tab_bottom"/> 从上述代码可以看到,在菜单的每个选项卡样式都是调用了style上的main_tab_bottom来实现样式的,而main_tab_bottom的背景background的值是drawable/btn_bg,btn_bg不是一个简单的背景图片,而是一个xml文件,通过这个文件可以实现菜单选项卡切换时的背景切换的效果,使得这个菜单栏更加的美观,代码是使用了安卓的selector来实现,在这里是通过不停的条件来判断使用哪一个item的,里面包括了几个属性值,如是否获得焦点、是否响应事件、是否点击三个条件。 实施的代码如下: xmlns: android="schemas.android./apk/res/android"> state_focused="true"android: state_enabled="true"android: state_pressed="false"android: drawable="drawable/btn_bg_s"/> state_enabled="true"android: state_pressed="true"android: drawable="drawable/btn_bg_s"/> state_enabled="true"android: state_checked="true"android: drawable="drawable/btn_b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手机 日程 管理 系统 毕业论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)