1、图书分类号:密 级:毕业设计(论文)基于android电子备忘录设计和实现The DesignAnd Realization Of ElectronicMemoBased On Android学生姓名学院名称信电工程学院学号班级专业名称计算机科学和技术指导老师05月23日徐州工程学院学位论文原创性申明本人郑重申明: 所呈交学位论文,是本人在导师指导下,独立进行研究工作所取得结果。除文中已经注明引用或参考内容外,本论文不含任何其它个人或集体已经发表或撰写过作品或结果。对本文研究做出关键贡献个人和集体,均已在文中以明确方法标注。本人完全意识到本申明法律结果由本人负担。论文作者署名: 日期: 年 月
2、 日徐州工程学院学位论文版权协议书本人完全了解徐州工程学院相关搜集、保留、使用学位论文要求,即:本校学生在学习期间所完成学位论文知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家相关部门或机构送交学位论文纸本复印件和电子文档拷贝,许可论文被查阅和借阅。徐州工程学院能够公布学位论文全部或部分内容,能够将本学位论文全部或部分内容提交至各类数据库进行公布和检索,能够采取影印、缩印或扫描等复制手段保留和汇编本学位论文。论文作者署名: 导师署名: 日期: 年 月 日 日期: 年 月 日摘要对于大多数人来说,随身带个小本子来统计部分立即要处理事情是很有必需,从而出现了备忘录。有了随身备忘录,就能够
3、将自己生活和工作事情安排井井有条,能够在有限时间内按时高效完成自己工作。当今,智能手机已经走进千家万户,大家对于智能手机依靠性愈来愈强,逐步地成为大家取得信息最关键设备,也是大家获取信息最方便、最快捷路径之一。所以,对于大多数智能手机用户来说,把记事本功效集成在手机上使用是极好选择。她们能够便捷经过手机备忘录来实现关键事情统计和提醒,省去了随身携带纸笔麻烦。据12月调查显示,现现在搭载Android系统平台手机已占有超出78.1%市场份额,所以,使用Android系统下电子备忘录软件,用户能够很方便进行统计备忘事件,为用户工作、出游、生活中琐碎事情提供整理统计和提醒功效。开发一款基于Andro
4、id系统,且操作简便,使用方便备忘录是很有必需。本课题为基于android系统平台开发备忘录,目标是为了预防用户忘记一些未来要做关键事情,进行统计并在设定时间经过手机闹铃,文字或振动来通知提醒用户。关键词 备忘;查询;通知;androidAbstractFor a lot of people, at any time with a small notebook to record some things is very necessary things, and thus a memorandum. With the memorandum, you can have your own work
5、 and life more organized, in a limited time to complete the most important, the most urgent thing.Nowadays, smart phones have entered innumberable families, people for intelligent mobile phone dependence is getting stronger, gradually become for people to obtain information of the main equipment, wh
6、ich people obtain information is the most convenient and quickest way of. Therefore, for the majority of smart phone users, the use of Notepad feature integrated on the phone is an excellent choice. They can easily through a mobile phone memorandum to achieve the important things record and reminder
7、, eliminating the trouble with carrying a pen and paper pen. According to the survey in December , now equipped with the Android platform, the mobile phone has occupied over 78.1% of the market share, so using the Android system electronic memo software, users can very convenient for memo recording
8、events and for users work, travel, life trivial things provide documented and reminders. Development of a Android based system, and easy to operate, easy to use memo is very necessary.This topic is based on Android platform development memorandum. The purpose is to prevent users forgetting the impor
9、tant work of some time, record and at a specific time by voice, words or vibration to inform to remind the user.Keywords :Memo; query; notice目录目录III1 绪论11.1 研究背景11.2 系统开发内容和意义11.3 论文组织结构12 Android系统关键技术概述22.1 Android架构分析22.2Android特点22.2.1开放性22.2.2应用程序平等性32.2.3应用程序之间界限32.3 SQLite数据库33系统总体方案设计43.1 需求
10、分析43.2 系统设计思想53.2.1 整体模块设计53.2.2 用户注册模块63.2.3 备忘录添加模块83.2.4 备忘录删除模块93.2.5 备忘录修改模块103.2.6 备忘录拍照统计模块113.2.7注册表和备忘事件信息表E-R图123.3 数据库设计133.3.1 数据库表设计134系统具体设计154.1系统环境搭建154.1.2JDK下载154.1.3 JAVA_HOME154.2 界面设计164.2.1 注册和登录模块164.2.2主界面功效模块184.2.3添加备忘录功效模块194.2.4备忘录通知模块214.2.5备忘录删除模块224.2.6拍照统计模块:244.2.7备忘
11、录修改模块255 软件测试275.1软件测试关键性及目标275.1.1软件测试关键性275.1.2 软件测试目标275.2 测试平台275.3 软件安装285.4测试内容295.5测试小结31结论32致谢33参考文件341 绪论1.1 研究背景伴随Android系统在市场上强大爆发,在智能手机领域已经成为用户量最多操作系统。Android智能手机也正在成为大家日常获取信息关键设备,尤其在“学生一族”和青年群体中表现最为突出,而且经过Android智能手机,她们可方便捷获取多种所需信息。所以,基于Android智能手机便捷服务类应用会有一个很好发展机会和发展空间,手机随身备忘录就是它们中一员。
12、在该系统下备忘录软件中,能够为用户提供很方便备忘事件查询和提醒功效,为快节奏生活提供高效率保障。另外,因为Android平台是开放,平台使用成本基础能够忽略不计,所以能够很好控制软件成本,为这类备忘录普及做出贡献。1.2 系统开发内容和意义 经过对现在市场上应用 Symbian、WindowsPhone、IOS等主流平台现实状况进行分析和比较。进而研究并分析了Android平台组件和系统架构,接着解析了Android生命周期机制。在此基础上设计并开发了Android平台下电子备忘录。本备忘录系统界面友好、操作方便,含有良好扩展性和和维护性。该系统经过模拟器和真机测试,运行稳定,满足大家对于备忘
13、录操作和使用要求。1.3 论文组织结构本论文是对备忘录系统开发进行具体介绍和叙述。本篇文章一共分为五个章节各个章节具体内容以下:第一章 :绪论。简明介绍了该课题研究背景,系统开发背景和意义。 第二章 :对Android系统开发工具和相关技术进行了简明介绍。第三章 : 提出系统总体设计方案,并对备忘录系系统进行需求分析,并具体叙述了各个模块功效需求。为软件实现铺垫。第四章 :对电子备忘录系统进行实现,并具体介绍了界面设计和实现过程。 。第五章 :对备忘录系统各个模块进行真机测试,提出预期测试结果,并统计下真是测试结果,二者对比,得出测试结果。并依据测试结果进行分析和处理。2 Android系统关
14、键技术概述2.1 Android架构分析从架构图看,Android分为四个层,从下层到上层依次为Linux内核层、系统运行库层、应用程序框架层、应用程序层。具体组成图2-1所表示: 图2-1Android系统架构图2.2Android特点2.2.1开放性提到Android操作平台最先想到就是它开放性,Android联盟许可全部移动终端厂商加入其中进行Android平台开发。同时包含底层操作系统、用户界面和应用程序,其中相关应用程序,移动终端所需要全部软件也全部包含在其中,以前专有权阻碍移动产业创新,现在这些将不会存在。开放性优势能够帮助该平台获取到更多开发者,在用户和应用全部在日益增加今天,A
15、ndroid这个年轻操作平台将会很快发展成熟。Android开放性相对于它发展而言,更有利于积累人气,其中包含消费者和厂商。从消费者方便考虑,丰富多彩软件资源让消费者受益最大。当然对于开发者来说,开放平台含有更大竞争力,这么,手机等设备价格将廉价,更易于消费者接收。2.2.2应用程序平等安卓全部应用程序之间是平等,一系列应用程序组成了Android平台。在虚拟机上运行全部应用程序,虚拟机全部会提供一系列用于应用程序和硬件资源间API。 不考虑虚拟机情况下,Android其它全部应用,其中包含第三方应用和关键应用间全部是平等。所以,用户能够用第三方软件来替换系统中默认软件,比如将第三方短信发送软
16、件替换掉系统中默认短信软件。用户甚至还能够将系统主界面上内容改变,或是用用户所需要应用程序来替换掉系统中任意不需要应用程序。2.2.3应用程序之间无界限Android应用程序之间无界限,安卓开发者能够将Internet上数据信息和手机当地联络人、短信、日历、地理位置等信息结合在一起,发明出来全新愈加好用户体验。一个应用程序不仅能够经过API访问系统提供对应功效,还能够供其它应用程序调用本身申明功效。Android为其开发者提供了很多使用库和工具,而且无缝结合谷歌应用。现在谷歌已经有快要历史,已经慢慢渗透到了大家日常生活中,比如谷歌地图、新闻、邮件等已经将用户和互联网紧紧地联络在了一起。这些应用
17、也将带给开发者已便利,开发人员能够快速创建应用程序。比如,在别手机平台上开发基于地图应用是很困难,而Android平台将谷歌Map集成进来,开发者能够使用几行简单代码就能快速方便开发出基于地图应用程序。2.3 SQLite数据库Android系统集成了一个轻量级数据库SQLite,它是嵌入式数据库引擎,专门使用在资源有限设备上做适量数据存放,如手机、iPad等。SQLite含有检索效率高,系统开销小等特点。SQLite实现对数据库存取操作过程是,由程序直接调用对应API来实现。它是D 理查德希普使用一个小型C库,开发出来一个强有力嵌入式关系数据库管理体制。SQLite实现了可嵌入、完备、零配置
18、SQL数据库引擎。3系统总体方案设计3.1 需求分析本课题在充足研究了android开发步骤和日常大家使用手机操作习惯,以Java为开发语言,eclipse为开发环境,实现了电子备忘录主界面事项一览模块、备忘录添加模块、备忘录删除模块、备忘录数据存放模块、备忘录修改模块、备忘录拍照统计模块和备忘时间抵达提醒模块。各个部分关键功效以下:1、 主界面功效模块用户在点击进入程序以后,进入主界面能够看到所保留事项一览表,和各个事项所设定提醒日期和具体时间。2、 备忘录添加模块用户在进入主界面后,点击主界面上备忘录添加按钮,就会弹出备忘录添加界面,用户能够依据提醒依次输入备忘事项标题、设置提醒日期、提醒
19、时间、和备忘事项具体内容。内容添加完成后,点击保留按钮,备忘录添加成功。返回主界面后,即可看到刚刚添加备忘事件。3、 备忘录修改模块用户进入主界面后,能够看到所保留备忘事项一览表,找到需要修改备忘统计并长按,会弹出备忘录修改界面,用户能够对备忘标题、日期、时间、和备忘具体内容进行修改。修改完成后,点击保留按钮,备忘时间即被修改成功。4、 备忘录删除模块用户进入主界面后,在备忘事项一览表中找到想要删除事件,并长按,会弹出修改菜单,点击删除按钮,所选备忘时间即被删除,系统提醒删除成功。5、 备忘时间抵达提醒模块当用户所保留备忘事项时间抵达后,系统会发出通知提醒,开启手机声音提醒,并在手机桌面通知栏
20、处显示备忘事件时间抵达通知,提醒用户有待办事项。6、 备忘录数据存放模块 备忘录最关键功效就是统计和保留用户轻易遗忘日期和事件,为了持久地将用户备忘录信息保留下来,需要将这些信息存放在数据库中。备忘录需要保留信息有:编号(ID)、标题(Title)提醒日期(Date)、提醒时间(Time)、提醒内容(Content)、创建时间(Create Date)等.7、 备忘录拍照统计模块 当用户所需输入信息较为繁琐时候,比如想把用户名片作为备忘录内容时,文字手动输入就较为繁琐,此时用户能够选择进行拍照统计表,省去了用户繁琐输入操作,只需选择拍照按钮,系统就会调用手机拍照功效,用户即可方便统计信息,当用
21、户需要查看名片时,既能够进入备忘录查看,也能够经过手机文件浏览器查看原图。本软件在做到基础备忘事件统计和声音提醒同时,还提供了简单修改和删除和通知栏通知等功效,方便用户对备忘录立即更新,提升了用户办事效率。而且尤其添加了备忘录拍照统计功效,一定程度上减轻了用户操作量。而且该软件在Android模拟器上成功运行,因为设备限制,只能在部分安卓手机上进行真机测试,但一样也运行稳定,取得了很好运行效果。3.2 系统设计思想3.2.1 整体模块设计该备忘录应用程序关键实现了以下七个子模块,它们分别为:用户注册模块、添加备忘录模块、修改备忘录模块、删除备忘录模块、备忘录拍照统计模块、用户登录模块、主机面功
22、效等模块。电子备忘录结构图图3-1所表示: 图3-1 系统整体结构图3.2.2 用户注册模块在注册新用户界面下,用户要依据提醒输入信息包含:账号、密码等信息。注册信息填写成功后,用户所填写信息将会被送到数据库中,而且保留下来。用户注册步骤图图3-2所表示: 图3-2 用户注册界面步骤图进入登录界面,用户需要填写之前注册过信息,如:用户名和密码。假如用户名和密码输入无误,就会成功进入系统。用户登录系统步骤图图3-3所表示: 图3-3 用户登录步骤图3.2.3 备忘录添加模块在该模块中,用户能够添加备忘录具体内容,如:备忘事件标题、备忘事件具体内容、备忘事件提醒日期和具体时间(正确到分钟,延时5秒
23、)。以后发送请求,将备忘统计保留在数据库中。备忘录添加模块步骤图图3-4所表示: 图3-4 备忘录添加步骤图3.2.4 备忘录删除模块进入备忘录删除模块,先选择要删除统计,点击删除按钮后,系统将所要删除备忘统计和数据库中统计进行匹配,假如匹配成功,所选备忘统计就会从数据库中删除,假如没有则提醒删除失败。备忘录删除模块步骤图图3-5所表示: 图3-5 备忘录删除模块步骤图 3.2.5 备忘录修改模块用户进入备忘录主界面后,选择需要修改备忘统计,即可对备忘录标题、提醒时间、提醒日期和具体内容进行重新输入,输入完成后系统将刚刚输入数据在数据库中进行更新操作,替换掉原来内容。备忘录修改模块步骤图以下图
24、3-8所表示: 图3-6 备忘录模块步骤图3.2.6 备忘录拍照统计模块用户在添加备忘录时,能够选择拍照方法添加备忘内容。其步骤为选择拍照功效,系统调用手机相机功效,用户选择适宜角度拍好照片,选择完成或放弃,若完成拍照,则照片保留成功,若放弃,返回拍照功效继续拍照。备忘录拍照统计模块步骤图图3-7所表示: 图3-7 备忘录拍照统计模块步骤图3.2.7注册表和备忘事件信息表E-R图 注册表E-R图关键包含账号、密码。图3-8所表示: 图3-8注册表E-R图备忘事件信息表E-R图关键包含备忘事件ID、标题、内容、提醒日期、提醒时间、创建日期和路径。图3-9所表示: 图3-9备忘事件信息表E-R图3
25、.3 数据库设计3.3.1 数据库表设计本系统关键由两张表组成,分别为用户信息表和备忘事件信息表。备忘事件信息表用来统计事件信息,关键包含标题、备忘内容、闹钟提醒日期时间和创建时间等信息。备忘事件信息表如表3-1所表示: 表3-1备忘事件信息表序号字段名字段说明类型长度NULL1 ID备忘事件IDint10NOT2title标题varchar50NOT3content内容varchar200NOT4createDate创建日期varchar10NOT5noticeDate通知日期varchar10NOT6noticeTime通知时间varchar5NOT7path 路径 varchar100
26、用户信息表功效是统计每个用户信息。关键包含编号(ID)、账号、密码信息。用户信息表结构如表3-2所表示: 表3-2 用户信息表序号字段名字段说明类型长度NULL1 id编号int10NOT2username用户名archar100NOT3password密码varchar100NOT 4系统具体设计4.1系统环境搭建4.1.1Eclipse开发平台Eclipse是著名跨平台IDE(自由集成开发环境),起初大全部是用来做Java语言开发。Eclipse本身只是一个框架平台,而众多插件支持使Eclipse含有灵活性,这是其它功效相正确IDE软件极难含有。Eclipse是一个开放源码项目,因为其开放
27、性,任何人全部能够无偿使用,并在其基础上开发各自插件。本系统中Eclipse配置成Android平台,进行管理系统编程及运行。4.1.2JDK下载JDK下载地址:JDK(Java Development Kit)是整个Java关键。包含一系列Java开发东西,安装完成需要在电脑中配置一下环境变量。4.1.3 JAVA_HOMEJDK安装路径,这个环境变量本身不存在,需要创建,创建完则能够利用%JAVA_HOME%作为统一引用路径,其值为:jdk在你电脑上安装路径。PATH属性已存在,可直接编辑。作用是用于配置路径,简化命令输入,其值为:%JAVA_HOME%bin。详情图4-1所表示: 图 4
28、-1 环境变量配置4.2 界面设计4.2.1 注册和登录模块首先,用户进入系统时会弹出用户登陆界面,用户有登录和注册两个选择。已经注册用户能够直接在输入栏依据提醒输入自己用户名和密码,系统会和后台数据库进行用户信息字段匹配,确定无误后,用户即可直接登录,系统提醒登陆成功并直接进入备忘录主界面。假如用户输入信息和数据库中用户信息不一致,则系统提醒登录失败,用户需要重新输入。用户登录界面图4-2所表示: 图4-2 用户登录界面用户登录部分代码以下:若用户为新用户,则需要进行用户名、密码注册,用户只需点击注册按钮,此时会跳转到用户注册界面,用户填写用户名、密码,点击注册按钮,用户即可注册成功。系统会
29、弹出注册成功提醒。用户注册界面图4-3所表示: 图4-3 用户注册界面注册界面实现代码以下:4.2.2主界面功效模块当用户完成登录以后,系统会跳转到备忘录主界面,在主界面,用户能够直接看到已经保留过备忘事件,点击单个事件能够看到备忘时间具体日期、时间、和备忘内容等。主界面显示图4-4所表示: 图4-4 主界面显示界面4.2.3添加备忘录功效模块该模块为整个备忘录关键模块,用户经过添加备忘事件来预防自己错过关键事情。在该模块,用户经过点击添加备忘录按钮能够依据自己需要统计事件,填写备忘事件标题、选择日期、时间、和具体内容。填写完成后,点击保留按钮,系统提醒保留成功,并在主界面中显示已经保留备忘事
30、件。添加备忘录界面图4-5、图4-6所表示: 图4-5 备忘录添加界面备忘录添加实现代码以下:public void onClick(View view) ContentValues value = new ContentValues(); String title = etTitle.getText().toString(); String content = etContent.getText().toString(); String noticeDate = etDate.getText().toString(); String noticeTime = etTime.getText()
31、.toString(); value.put(title, title); value.put(content, content); value.put(noticeDate, noticeDate); value.put(noticeTime, noticeTime); SQLiteDatabase db = databaseHelper.getWritableDatabase(); long id = 0; long status = 0; if(bundle!=null) id = bundle.getLong(id); status = db.update(tb_bwl, value,
32、 id=?, new Stringbundle.getLong(id)+); else status = db.insert(tb_bwl, null, value); id = status; if(status!=-1) setAlarm(id); Toast.makeText(AddBwlActivity.this, 保留成功, Toast.LENGTH_LONG).show(); else Toast.makeText(AddBwlActivity.this, 保留失败, Toast.LENGTH_LONG).show(); ; 图4-6 备忘录添加提醒时间和提醒日期选择界面添加时间日
33、期代码以下: protected Dialog onCreateDialog(int id) Calendar cal = Calendar.getInstance(); cal.setTime(new Date(); switch(id) case DATE_DIALOG_ID: DatePickerDialog dpd = new DatePickerDialog(this,dateSetListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH); dpd.setCanc
34、elable(true); dpd.setTitle(选择日期); dpd.show(); break; case TIME_DIALOG_ID: TimePickerDialog tpd = new TimePickerDialog(this, timeSetListener, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true); tpd.setCancelable(true); tpd.setTitle(选择时间); tpd.show(); break; default: break; return null; 4.
35、2.4备忘录通知模块该模块经过获取添加备忘录模块发出广播信息,来唤醒设备。同时会发出声音提醒用户备忘事件时间应经抵达。而且在手机通知栏里会显示备忘时间通知、标题、内容已经时间戳等信息,用户点击通知栏会跳转到备忘录详情页面。以此方法来实现备忘录提醒效果。备忘录通知界面截图图4-7所表示: 图4-7 备忘录通知界面通知界面实现代码以下: public void onReceive(Context context, Intent intent) mIntent = intent; Bundle bundle = mIntent.getExtras(); mNotificationManager =
36、(NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE); / mIntent = new Intent(context,AddBwlActivity.class); mIntent.setClass(context,AddBwlActivity.class); mPendingIntent = PendingIntent.getActivity(context, 0, mIntent, 0); mNotification = new Notification(); mNotification.ico
37、n = R.drawable.ico; mNotification.tickerText=备忘录; /设置默认声音、默认振动、和默认闪光灯 mNotification.defaults = Notification.DEFAULT_ALL; /点击通知后自动取消 mNotification.flags |= Notification.FLAG_AUTO_CANCEL; mNotification.setLatestEventInfo(context, bundle.getString(title), bundle.getString(content), mPendingIntent); mNo
38、tificationManager.notify(1,mNotification); /一个状态条图标 /在拉伸状态栏窗口中显示额外信息和开启一个ApplicationIntent 4.2.5备忘录删除模块用户使用电子备忘录以后,经过闹铃提醒功效使用户能够正确把握事物处理时间,提升了办事效率,不过,一旦备忘事件抵达提醒时间以后,也就失去了它存在意义。所以,为方便用户处理已经过期备忘事件统计,为此添加了备忘录删除功效。具体使用方法为:用户进入备忘录主界面,找到需要删除备忘事件,长按两秒,会弹出操作菜单,点击删除按钮,即可删除所选择备忘事件。系统提醒删除成功。删除备忘录界面截图图4-8所表示: 图4-8 删除备忘事件界面备忘录删除模块实现代码以下:public boolean onContextItemSelected(MenuItem item) AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo(); switch(item.getItemId() case 4: database