毕业设计(论文)-基于Android的日历提醒软件的设计和实现 联系客服

发布时间 : 星期四 文章毕业设计(论文)-基于Android的日历提醒软件的设计和实现更新完毕开始阅读f1423cbe88eb172ded630b1c59eef8c75fbf95b3

太原理工大学毕业设计(论文)用纸

但如果只是编译,我们可以使用antdebug生成Debug的.apk文件,这时生成的文件,会被放到bin/Hello-debug.apk。 此时生成的Hello-debug.apk,已经直接可以安装到Android设备上进行测试运行。我们也可以使用ant release来生成一个bin/Hello-release-unsigned.apk,而这时的.apk文件,则需要通过jarsigner对文件进 行验证才能进行安装。

通过antdebug这一编译脚本,我们可以看到详细的编译过程。我们可以看到,一个Android的工程,最后会是通过如图所示的方式生成最后的.apk文件。

2.2Android系统

Android是一种以Linux与JAVA为基础的开放源代码操作系统,主要使用于便携设备。中国大陆地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,被谷歌收购后则由Google公司和开放手机联盟领导及开发,主要支持手机与平板。

Android 4.4,是有Google公司制作和研发的代号为KitKat的手机操作系统,于北京时间2013年9月4日凌晨对外公布了该Android新版本的名称,为Android 4.4(代号 KitKat 奇巧);该代号来自雀巢的KitKat巧克力。“Kit Kat”原本是雀巢公司的一款巧克力名称。谷歌表示,他们非常感谢雀巢授权使用该名称,但使用的时候会将中间的空格去掉。

Android应用程序由四部分组成:Activity、Intent Receiver、Service、Content Provider。一旦决定使用哪个组件,需要把它们列出在名为AndroidManifest.xml的文件中。这是一个XML文件,其中声明了您的应用程序中所需要的组件以及它们的功能和需求。

1.Activity简介:

Activity是四个Android构造块中最基本的组件大多数应用程序包含多个屏幕。每一个这样的屏幕都将作为一个activity。切换屏幕是通过打开一个新的activity来实现的。在一些实例中,一个activity会将返回值返回给前一个activity,比如,一个允许用户选择图片的activity将返回选中的图片到调用方。

当一个新的屏幕打开,前一个屏幕将暂停并保存在历史堆栈中。用户在历史堆栈中可以回退到前一个屏幕。当屏幕不再使用时,还可以在历史堆栈中删除。Android将保留历史堆栈为从主屏幕开始的每一个应用。

2.Intent以及Intent Filters简介:

7

太原理工大学毕业设计(论文)用纸

Android使用一个名为Intent的类来完成屏幕间的切换。Intent类描述了应用程序想要做什么。一个intent的数据结构包含两个最重要的部分为action(动作)和data(数据)。典型的action有MAIN(activity的入口)、VIEW、PICK、EDIT等。data是以URI的形式表示的。还有一个相关的名叫IntentFilter的类。如果说intent是一个要做什么事的请求的话,那么IntentFilter则是用来描述一个activity能够操作哪些intent。屏幕间的切换是通过解析Intent实现的。当前向导航时,activity会自动调用startActivity(intent myintent)方法。系统会在所有应用程序中定义的IntentFilter中查找,选择最匹配myintent的Intent对应的activity。新的activity收到intent的通知后,开始运行。Intents解析过程在startActivity()方法被调用时发生,提供了两个好处:1.Activity能够通过简单的以Intent的形式发送请求来重用其他组件中的功能。2.Activity能够在任何时候由一个带有相同IntentFilter的Activity来替换。

Intent Receiver:IntentReceiver应用程序代码能够响应外部事件,如电话呼入、数据网络可用、处于晚上时。尽管IntentReceiver可以使用NotificationManager来提醒用户一些感兴趣的事件的发生,但是它并不显示用户界面。Intent Receiver在AndroidManifest.xml中完成注册,也可以在代码中通过Context.registerReceiver()方法完成注册。应用程序的触发不必调用intent receiver;系统会在需要的时候启动您的应用程序,当intent receiver被触发时。应用程序也可以通过Context.broadcastIntent()将自身的intent广播给其他应用程序。

3.Service简介:

Service的生命周期很长而且是没有用户界面的程序。 4.Content Provider简介:

SQLite数据库或者其他有效的机制中。一个Android应用程序结构其实是异常简单的。这五部分内容(其中META-INF和res是目录,其他是文件)除了 META-INF是这一.apk文件的校验信息,resources.arsc是资源的索引文件,其他三部分则构成了Android应用程序的全部。

从一个android应用程序的包文件内容,我们可以看到android应用程序的特点,这也是Android编程上的一些特征:

1.简单:最终生成的结果是如些简单的三种组成,则他们的编程上也不会有太大的困难性。这并不是说 Android系统里无法实现很复杂的应用程序,事实上Android系

8

太原理工大学毕业设计(论文)用纸

统拥有世界上仅次于iOS的应用程序生态环境,也拥有复杂的办公软件、大型3D游 戏。而只是说,如果要实现和构成同样的逻辑,它必然会拥有其他格式混杂的系统更简化的编程模式。

2.Java操作系统:既然我们编译得到的结果,classes.dex文件,是用于Java虚拟机 (虽然是Dalvik虚拟机,但实际上这一虚拟机只是一种特定的Java解析器和虚拟机执行环境 )解析执行的,于是我们也可以猜想到,我们的Android系统,必然是一个Java操作系统。我们在后面会解释,如果把Android系统直接看成 Linux内核和Java语言组合到一起的操作系统很不准确,但事实上Android,也还是Java操作系统,Java是唯一的系统入口。

使用MVC设计模式:所谓的MVC,就是Model,View,Controller的首字母组合起来的一种设计模 式,主要思想就是把显示与逻辑实现分离。Model用于保存上下文状态、View用于显示、而Controller则是用于处理用户交互。三者之间有着如 下图所示的交互模型,交互只到Controller,而显示更新只通过View进行,这两者再与Model交换界面状态信息:

图2-1 Controller和view交换界面

在现代的图形交互相关的设计里,MVC几乎是在图形交互处理上的不二选择,这样系统设计包括一些J2EE的应用服务器框架,最受欢迎的 Firefox浏览器,iOS,MacOSX等等。这些使用MVC模式的最显著特点就是显示与逻辑分离,在Android应用程序里我们看到了用于逻辑实 现的classes.dex,也看到用于显示的res,于是我们也可以猜想到在UI上便肯定会使用MVC设计模式。

9

太原理工大学毕业设计(论文)用纸

3 可行性分析和需求分析

3.1可行性分析

在设计系统初始,首先要进行系统的可行性分析。可行性分析的目的就是以最小的时间和金钱为代价,确定疑难问题是否能够妥善解决。通过可行性分析,对目前市场相关内容进行调查,在此基础上辩证软件的研发是否具备开发的必要性,对新的软件的研发技术、经济社会因素等多个方面进行相关的分析和研究,以避免造成不必要的资金事物,保证和提高新软件开发成功的把握。作为前期的投资,可行性分析综合论证一个项目在技术上是否先进,使用和可靠,在经济上是否合理,在财务上是否盈利,为投资决策提供科学的依据,同时可行性研究是项目考核和后期评估的重要作用,可行性分析对项目具有十分重要的作用。

近些年,移动设备告诉发展,中国已经逐步进入4G时代,移动网络通信以前所未有的惊人速度进入人们的生活,工作和学习各个方面,提高了工作和学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。手机APP软件伴随着手机智能化发展,已经基本可以满足不同的人群对不同的需求,根据人群的喜好选择适合自己的手机APP。Android日历基于移动安卓平台系统进行开发,帮助我们解决生活中的个人生活时间提醒,日程安排等问题。

可行性分析既不能以偏概全也不能过于追求细节,必须为决策提供有价值的信息和证据,软件的可行性分析主要考虑四个因素:技术可行性分析,经济可行性分析,法律可行性分析,开发人员与进程可行性分析。 3.1.1 经济可行性分析

从成本方面看,本系统的实现,计算机和网络已经拥有,由于安卓是个开发的平台,Eclipse与Android SDK都是免费提供,网络客户端所用软件也都已经配备,因此不需要经费预算。

3.1.2 技术可行性分析

建立合理的数据库,实现android日历安全性,高效性管理在技术上的可行性。安卓系统是基于Java编写,因此手机客户端采用Eclipse配上Android SDK,完全可以

10