基于安卓平台的个人记事本管理软件设计本科毕业论文Word下载.docx
《基于安卓平台的个人记事本管理软件设计本科毕业论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于安卓平台的个人记事本管理软件设计本科毕业论文Word下载.docx(63页珍藏版)》请在冰豆网上搜索。
notebook;
multifunctional;
note
第一章绪论
1.1课题研究背景及意义
伴随着Android智能手机与平板电脑已经在我们生活大量的使用,越来越多的基于Android开发平台的应用也随之而出,为丰富人们使用Android智能产品的用途,使其可以帮人们记录一些事情。
例如手机记事本,备忘录,便签等等,都在随着现代化的脚步的改变而改变,生活还是生活,但是需求却不一样。
传统的记事本管理软件采用的文本记事的方式记录各式各样的事件,但是这样的记事方式存在很多的缺点:
比如局限性,只能以文字的形式记录;
太单调,整款软件就一页内容,内容不够丰富;
功能不够强大,现在的生活中可以记录的东西是很多的,例如人物、风景、地点、生活中的一段事情。
所以Android记事本可以开拓的功能其实可以有很多。
文本记事、拍照记事、语音记事、视频记事等。
随着现在生活质量的不断提高,记事在我们的生活中已经渐渐演变成一个很重要的角色。
比如拍照之后,你可能还想说点什么来记录一下,比如,你希望将此刻这张有意义的图片记录下来,再比如你希望有更快捷的方式来记录当前的紧要事情等等。
现在的Android系统已经很普遍了,并且各种安卓应用层出不穷,Android本身提供的开发平台也很方便,简单,对开发人员基本要求并不是太高,但是目前来说系统自带的记事软件确实功能确实太单调,人们有各种各样的记事需求,所以,记事软件功能需要更加强大起来,才能满足现在人们的实实在在的需求。
单一的个人记事本已经成为过去,为了满足现在人们丰富的生活需求,就更应该丰富个人记事本的功能,去除传统的局限性,记事本不再只是最简单基本的软件,它将成为人们的依赖,成为人们的助力,成为人们生活中不可缺少的一部分。
现今的微信、QQ、人人网、等各种安卓APP都是讲究分享,讲究即时拍照、记事的,所以本次论文的主要方向也是要跟得上Android开发的脚步,跟Android各种可共享APP做对接,自己有效方便记事的同时,也能跟大家分享快乐的生活,甚至通过手机记事、发送功能达到一个短信群发的效果,使生活变得更有条理性。
从多方面角度来说,达到一个记事多元化的目的。
1.2国内外发展现状
1.2.1Android国内外发展现状
相信大家对Android的发展历史多少都有一些了解,Android曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份被Google收购,并从此踏上了飞速发展的道路。
经过这几年的发展,它已经发展成了一个平台、一个生态体系。
现在Android在移动领域已经得到了广泛的应用。
根据Google于2011年6
月份公布的数字,现在每天激活的Android设备高达50万台,比5月份的数据增加了0万台!
Google还透露目前已经与36家OEM厂商和215家运营商合作,共激活了超过1亿台Android设备。
相比于Symbian的日落西山,以及苹果的封闭、WindowsPhone的前途未卜,Android无疑代表了当前行业发展的主流趋势:
开放平台取代了封闭平台。
让参与者均能通过自己的努力而获益。
从2008年9月公布1.0版本以来,经过近6年的跨越式发展,现在Android已经发展到了4.x版本,这是一个针对平板电脑而做了大量优化的版本,包括对更大屏幕的支持的类库、多任务优化等。
目前市场上占主流的还是2.2版本,当然,相信随着时间的推移,4.x及后续版本会得到越来越多的设备的支持。
目前国内的Android开发还是主要以应用开发为主,主要分成3类:
为企业开发应用、开发通用应用(放到AndroidMarket或者其他AppMarket销售)以及游戏开发(放到AndroidMarket或者其他AppMarket销售)。
第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。
除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。
第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:
为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。
而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。
第三类开发者,目前和第二类开发者类似。
另外随着安卓手机的市场占有率的提升,安卓平台的应用需求也是在不断上升,对于手机应用的未来期望也很高,尤其是游戏、生活这两块,现今的安卓手机游戏的开发并不是很完善,仍然有许多触屏局限的地方。
现今的安卓市场许多大公司都投入大力的游戏这一块,所以生活这一块目前来说还是有很大可发展空间的,例如备忘录、
记事本、地图导航、语音搜索这些较为贴近生活的应用种类还并不是很多,国外已经有许多贴近生活的安卓应用诞生了,相信未来安卓的生活市场也会逐渐打开。
1.2.2Android记事本发展现状
目前国内外目前已经有四款比较火的记事本软件。
分别是Evernoto,小米便签,麦库记事。
Evernote在软件界面方面界面清爽,需注册登录后才可使用,图标布局比较协调;
记事笔记方便面可编写内容,添加标签,支持上传图片,音频,视频等,资源占用方面内存占最多,CPU占适中。
小米便签在软件界面方面界面功能简单,可查看和新建便签,菜单功能相对丰富,只支持文字内容及时,可选择桌面颜色,字体大小等,可以移进文件夹和分享、备份、还原和设置密码保护;
资源占用方面内存占用适中,CPU占用最少。
麦库记事界面比较精美,菜单功能相对简单;
可选分类,加标签、附件、支持拍照和实时录音。
特色是笔记搜索和分类,网络同步和笔记分享;
内存占用适中,CPU占用最多。
1.3设计方案概述
综合安卓记事本的功能需求和性能需求,以及安卓软件在对人视觉效果上面的影响,我们计划这次论文以实现记事本基本功能为主导方向,完善界面的UI设计,现今的一些安卓软件界面设计的效果主要以柔和清爽为主,所以本次安卓应用设计我们也采用柔和色调,界面尽量清爽一点,但是功能上面不可省略,在具备所有基本功能的前提下,包括文本记事、图片记事、语音记事、视频记事四大基本功能的增删改查、还有对四大记事内容的检索、对四大记事信息的分享,充分整合功能,避免界面设计太复杂,必要做到一看就懂,尽量符合现今安卓市场的APP元素。
在考虑前面所述的情况下,由于手机屏幕较为有限,一次可展示的内容不可过多,所以针对四大模块,不采用一个模块一个按钮来向导,而通过采用安卓界面左右滑动切换的模式来切换四大模块。
而四大模块的添加记事则是统一整合在一个按钮上,信息检索也统一整合在一个按钮上,每一单独记事的管理则通过长按的方式弹出单处处理的功能导向,例如,删除、编辑、发送(即分享)等功能都通过长按的方式展示。
1.4主要研究内容
按照上面的设计方案,在本次毕业设计中需要研究的内容主要有:
数据库表的设计,文本记事的功能实现、界面设计,图片记事的功能实现、界面设计,图片的缓存处理,摄像头的处理,语音记事的功能实现、界面设计,视频记事的功能实现、界面设计,一些检索结果的关键字的高亮处理,整体风格统一。
1.5论文结构
本文共分为七章
第一章介绍了课题研究的背景及意义、国内外发展现状、设计方案概述、以及主要研究内容。
第二章主要是介绍本次毕业设计用到的相关技术,JAVA,Android,用户界面布局,数据库。
第三章是需求分析,主要是对本次软件的功能需求,性能需求,可行性,安全性四个方面进行一个描述。
第四章是对系统的总体流程的设计,各个模块流程的设计以及对数据库设计的介绍。
第五章是论述对整个系统的详细设计。
第六章是对系统的功能测试。
第七章对本次毕业设计的结论与对未来的展望。
最后是致谢词和参考文献。
第二章
相关技术介绍
2.1Android-简介
Android是一种以linux为基础的开放源代码操作系统,主要使用于便携设备。
目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
Android操作系统最初由Andy
Rubin开发,最初主要支持手机。
2005年由google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry
OS。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
Android的系统架构和其它操作系统一样,采用了分层的架构。
android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。
在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:
python、lua、tcl、php等等),还有其他诸如:
QT(qt
for
android)、Mono(mono
android)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。
另外,谷歌还在2009年特别发布了针对初学者的Android
Simple语言,该语言类似Basic语言。
而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。
2.2Android-用户操作界面Activity
Android应用的所有界面都是通过Activity窗口化展示的,并且每一个Activity是单独的,用于处理用户操作。
几乎所有的Activity都要和用户打交道,所以Activity类创建了一个窗口,用户看的和操作的都在Acticity窗口上,开发人员可以通过setContentView(View)接口把设置好的UI界面放到Activity创建的窗口上。
在系统中的Activity被一个Activity栈所管理。
当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,就是展示在最顶端的窗口,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。
Activity有四种本质区别的状态:
在屏幕的最前(Activity栈顶),叫做可见状态或者活动状态或者运行状态(activeorrunning)
如果一个Activity失去焦点,但是依然可见,叫做暂停状态(Paused)。
一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉,通俗点说就是结束这个窗口。
如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。
它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被杀掉。
如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接杀掉它的进程。
当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
总结一下:
安卓就是通过堆栈的管理模式来管理所有的窗口即Activity(界面),当程序运行内存不足的时候,就自动杀掉非活跃状态的Activity,比如处于Stoped状态或者Paused状态,这样有效地保证了程序不会因为内存不足而无法运行新的进程。
下面的图显示了Activity的重要状态转换,矩形框表明Activity在状态转换之间的回调接口,开发人员可以重载实现以便执行相关代码,带有颜色的椭圆形表明Activity所处的状态。
图2-1Activity的生命周期
2.3Android-布局
为了适应各式各样的界面风格,Android系统提供了5种布局,这5种布局分别是:
1、LinearLayout(线性布局)
在一个方向上(垂直或水平)对齐所有子元素,一个垂直列表每行将只有一个子元素(无论它们有多宽),一个水平列表只是一列的高度(最高子元素的高度来填充);
2、TableLayout(表格布局)
把子元素放入到行与列中,不显示行、列或是单元格边界线,单元格不能横跨行,如HTML中一样表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。
TableRow可以添加子控件,每添加一个为一列。
3、RelativeLayout(相对布局)
相对布局的子控件会根据它们所设置的参照控件和参数进行相对布局。
参照控件可以是父控件,也可以是其它子控件,但是被参照的控件必须要在参照它的控件之前定义。
4、AbsoluteLayout(绝对布局)
绝对布局的子控件需要指定相对于此坐标布局的横纵坐标值,否则将会像框架布局那样被排在左上角。
手机应用需要适应不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用的相对较少。
5、FrameLayout(框架布局)。
框架布局是最简单的布局形式。
所有添加到这个布局中的视图都以层叠的方式显示。
第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。
这种显示方式有些类似于堆栈。
利用这五种布局,可以在屏幕上将控件随心所欲的摆放,而且控件的大小和位置会随着屏幕大小的变化作出相应的调整。
下面是这五个布局在View的继承体系中的关系:
图2-2界面布局
Android可以通过控制各个控件的属性达到想要的效果。
下面介绍一下RelativeLayout用到的一些重要的属性:
第一类:
属性值为true或false
android:
layout_centerHrizontal水平居中
layout_centerVertical垂直居中
layout_centerInparent相对于父元素完全居中
layout_alignParentBottom贴紧父元素的下边缘
layout_alignParentLeft贴紧父元素的左边缘
layout_alignParentRight贴紧父元素的右边缘
layout_alignParentTop贴紧父元素的上边缘
第二类:
属性值必须为id的引用名“@id/id-name”
layout_below在某元素的下方
layout_above在某元素的的上方
layout_toLeftOf在某元素的左边
layout_toRightOf在某元素的右边
layout_alignTop本元素的上边缘和某元素的的上边缘对齐
layout_alignLeft本元素的左边缘和某元素的的左边缘对齐
layout_alignBottom本元素的下边缘和某元素的的下边缘对齐
layout_alignRight本元素的右边缘和某元素的的右边缘对齐
第三类:
属性值为具体的像素值,如30dip,40px
layout_marginBottom离某元素底边缘的距离
layout_marginLeft离某元素左边缘的距离
layout_marginRight离某元素右边缘的距离
layout_marginTop离某元素上边缘的距离
2.4Eclipse+androidSDK构建开发平台
下载好AndroidSDK后,开始安装,AndroidSDK采用了Java语言,所以需要先安装JDK5.0及以上版本。
直接下载jdk安装文件安装更为方便。
AndroidSDK不用安装,下载后,直接解压即可,将下载后的SDK的压缩包解压到适当的位置,就这么简单;
SDK安装OK。
使用Eclipse进行android应用开发需要给Eclipse装adt插件,这样Eclipse就可以和androidsdk建立连接,可以在Eclipse中启动android模拟器进行程序调试等ADT插件安装这里不再累赘,插件的安装URL为:
也可以下载adt的zip包安装安装完插件后,需要做一些简单的配置:
1、在Eclipse中,选择Window>
Preference;
2、从左侧的菜单中,选择Android项;
3、设置SDKLocation,点Browse选择SDK的安装根目录;
4、完成。
2.5SQLite轻量级数据库
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
第三章需求分析
3.1功能需求
3.1.1文本记事
(1)基本增、删、改、查。
(2)发送:
将记事信息以短信或者微信、QQ、邮件的方式发送给联系人。
3.1.2图片记事
(2)相机即时拍照。
(3)从原有图库增加。
(4)相册功能:
新建相册、设置封面。
(5)发送:
将图片信息以微信、QQ、邮件的方式发送给联系人。
3.1.3语音记事
(1)播放语音。
(2)按住按钮,持续录音,松开按钮则停止录音并保存。
(3)删除录音文件。
(4)发送:
将语音文件以微信、QQ、或者邮件的方式发送给联系人。
3.1.4视频记事
(1)基本增、删、改。
(2)播放视频。
(3)发送:
将视频文件以微信、QQ、或者邮件的方式发送给联系人。
3.1.5内容检索
(1)将所有记事信息根据标题关键字检索出来。
3.2性能需求
在进行文本检索时,应该保证系统运行流畅,图片加载时也应该尽量减少内存消耗,注意释放内存。
加载音频和视频文件时,除了保证播放的流畅,还应当保证音质的品质,录音的质量。
另外视频的像素最大化。
整体风格要统一,清晰,清爽,一看就懂。
3.3可行性分析
3.3.1技术可行性
技术上的可行性分析主要分析现有技术条件是否能顺利完成开发,软件配置否满足开发者需要等。
这一特点非常适合计算机的特点,发挥计算机的数据处理速度快,准确率