1、1毕 业 论 文设计题目 基于 Android 的短信管理应用的设计与实现 2目录摘要 .1ABSTRACT .21. 绪论 .11.1. 开发背景 .11.2. 国内发展现状及趋势 .11.3. 系统特色介绍 .21.4. 开发环境 .31.5. 开发技术 .31.6. 内容安排 .42. 系统需求与分析 .52.1. 系统总体需求 .52.2. 系统整体流程 .62.3. 用户用例分析 .62.2.1. 收短信模块 .62.2.2. 发短信模块 .72.2.3. 系统设置模块 .92.2.4. 账号相关模块 .92.2.5. 云备份模块 .102.2.6. 日程相关模块 .112.2.7.
2、 联系人分享模块 .112.2.8. 在线即时通讯模块 .122.2.9. 短信其他操作模块 .132.4. 非功能需求 .133. 系统设计 .143.1. 系统设计原则 .143.1.1. 易用性 .143.1.2. 可维护性和可扩展性 .143.1.3. 可修改性 .143.2. 功能模块设计 .143.3. 系统物理架构设计 .153.4. 数据库设计 .163.4.1. 安卓系统联系人数据库 .1633.4.2. 安卓系统短信数据库 .193.4.3. 服务端数据库 .203.5. 详细设计 .233.5.1. 账号注册 .233.5.2. 短信发送 .243.5.3. 短信接收 .
3、253.5.4. 短信云备份 .263.5.5. 短信数据恢复 .273.5.6. 联系人分享 .283.5.7. 扫描二维码导入联系人 .283.5.8. 语音发短信 .293.5.9. 群发回复自动统计功能 .304. 系统关键技术 .314.1. 多线程下载技术 .314.2. 异步任务处理技术 .314.3. 跨应用数据处理技术 .325. 系统实现与测试 .335.1. 系统实现 .335.1.1. 功能实现 .335.1.2. 系统部署 .395.2. 系统测试 .405.2.1. 系统功能与兼容性测试 .405.2.2. 性能测试 .416. 结论与展望 .426.1. 结论 .
4、426.2. 未来的展望 .42致谢 .43参考文献 .441基于 Android 的短信管理应用的设计与实现摘要:随着即时通讯的发展,人们使用传统的手机短信功能的次数越来越少。但传统短信在一些特殊场景,如手机号身份验证、广告短信推送、收发祝福、收取火车票通知等情况下依然有着广泛的应用。而如何针对这些特殊场景如何进行管理功能上的优化,并同时挖掘出短信数据内容本身的一些价值,从而使短信的管理能发挥出更大的作用是一个值得研究的课题。本文将设计并实现一款基于 Android 操作系统的新型手机短信智能管理 APP 应用。文章首先介绍了开发背景和目前短信软件的发展情况,然后再重点对系统的需求进行了分析
5、,对系统的数据库和模块细节进行了设计。同时对系统所使用到的关键技术进行了说明。最后通过系统截图和测试数据对系统实现情况进行了展示。该应用在系统基本短信收发功能的基础上,从用户的短信使用习惯和生活中的实际需求出发,针对群发的通知回复情况统计、短信日程通知管理、数据备份、与短信联系的联系人数据的导入、广告短信显示等在使用中会遇到的实际生活场景,提供了一套智能化的解决方案,为用户提供一个更方便好用的管理软件。系统整体采用 CS 架构,客户端使用 Android 开发技术进行开发,服务端使用Java EE 技术和 tomcat 进行开发部署,数据库为安卓系统原生 SQLite 数据库与 MySQL 相
6、结合。关键词:安卓 短信 管理 生活场景2Design and implementation of SMS management applications based on AndroidAbstract: With the development of instant communication, the number of people using traditional SMS function less and less. However, the traditional message in some special scenarios, such as phone number a
7、uthentication, pushing advertising messages, sending and receiving blessings, receiving notification of the train and so on, still has a wide range of applications. And how to optimize the management for these special scenarios, and at the same time to mine some of the value of the message data itse
8、lf, so that the message management can play a greater role is a subject deserving of study.The paper will design and implement a new kind of app based on Android, which can help users manage sms more intelligently. Firstly, the article introduces the development background and development of the cur
9、rent messaging software, and then the requirements of the system are analyzed mainly. After that, the article designed the database and details of each module. At the same time, key technologies used in the system are described. Finally, screenshots of the system and test data are shown.Based on bas
10、ic functions of sms, the application considers the users real-life needs and usage habbits, and provides a set of intelligent solutions and a user-friendly product for the users, which focused on some actual situations, such as counting replies to the notification, managing notificaitions of schedul
11、e from message, back-up of data, importing data of contacts related to sms ,display of sms advertisements and etc. The system is based on CS architecture .The client is developed in the Android platform, while the server-side implementation is completed with Java EE and the system uses tomcat for de
12、ployment. The used database is combination of Android native database SQLite and MySQL database.Keyword:Android SMS Management Usage scenarios11. 绪论1.1. 开发背景自短信功能在手机通信业务上产生以来,便以其使用便捷的特点受到广大用户欢迎。而短信功能本身也经历了较大的发展。从简单的一对一文本收发,到加入一对多群发的书写与读取,短信功能得到了进一步的加强。但随着智能手机系统的不断普及,各种即时通讯软件 App 如 QQ,微信等社交工具以其友好的界面和
13、免费的使用模式,得到迅速流行和用户喜爱。但基于现实世界中相互强关联关系的通讯录和短信业务在市场中仍然显得非常重要。在我们日常使用智能手机的短信功能时,大量通知类信息,服务类信息充斥着我们的收件箱, 想要去查看群发短信回复情况,却要花上十几秒滑动屏幕,所谓的智能化形同虚设。如何将其进行一个更好的显示和功能扩展是一个问题。而对于生活场景中,如社团活动中常见的群发通知,工作开会时有时候不方便回短信等问题,也需有一个比较好的利用智能手机的特性去解决问题的方案。与即时通讯相比,短信存在资费高的问题,用其作为沟通工具有着一定的成本。另外随着手机用户的不断增长,特别是智能手机(Android)的大规模普及,
14、用户对手机使用的特点,如操作便捷,交互人性化等方面有了更高的要求。1.2. 国内发展现状及趋势目前国内的短信管理产品主要以各大手机厂商自己的系统短信应用为主。其一般主要注重短信通信的基础功能,对由短信扩展出来的功能没有太多重视。市场上也有多款不同的软件供用户选择,差异主要体现在样式上。软件功能虽有些不同,但大同小异,且基于国内实际生活场景进行优化的管理功能并没有太多。但是随着小米系统等新的带有互联网思维的系统出现,短信产品也有着越来越多的创造性,如利用智能技术对联系人称谓进行预处理等等,以方便用户平常节假日祝福短信的发送。随着自然语言处理和人工智能技术的不断发展,软件的发展趋势都是变得更加智能
15、化、生活化,通过对使用场景的分析做出定制优化,通过对已2产生数据的利用产生新的价值。而短信作为目前还没有大范围应用智能化的软件部分,在之后的发展中应该会变得越来越易用和智能。如利用数据挖掘技术对大量短信数据进行处理,从而实现拦截垃圾短信和识别诈骗短信的功能。目前基本的短信软件开发技术已比较成熟,Android 系统版本已经更新到 6.0,而国内的手机厂商也在不断对 Android 系统进行不断的改造和优化,目前成果丰硕,且国内 Android 开发技术书籍和论坛也非常多,技术较为成熟。1.3. 系统特色介绍本文章将介绍的管理软件以系统原生短信基本功能为基础,从目标群体的短信使用情景出发,利用网
16、络技术、文本匹配等技术,针对用户群发通知需要收费、群发的回复情况查看复杂、无法进行多选回复、通知类短信繁多导致管理不便、换手机后数据丢失等在短信使用中会实际遇到的问题,为用户提供一套智能化的解决方案。如在节日时,用户群体同样也会收到来自亲朋好友的大量的祝福短信。不回复会显得不够礼貌,但是如果像传统的回复情况一样逐条回复,是一件费时的事情。因此针对用户回复某一特定情景下的短信时所回复内容比较相似的情况,可以通过多选所要回复的短信,统一进行回复。如用户收到含有日期时间,地点内容等的通知短信时,可以一键直接将短信生成相应日程提醒。系统将自动调用日程软件,并根据短信内容中的日期直接定位到当天,并将地点
17、内容等信息提取并填入所需要的日程信息中,用户根据个人需要修改需要提前提醒的时间后,即会生成相应的日程安排。学生社团团体等用户群体,经常需要通过短信去给成员发送通知,而这一过程有着短信资费昂贵和回复统计困难的问题。本系统支持通过账号系统形成一个即时通讯应用,对于在线的收件方可以通过网络发送消息,不在线再使用短信通道。同时通过图表的方式将回复情况进行统计和展示。用户在生活中常有更换手机或者手机遗失的情况,而手机更换后,原手机的数据就丢失了。针对这一问题,本系统支持通过账号进行手机联系人和短信数据的云备份和恢复。31.4. 开发环境硬件:PC 机编译器:Android Studio 1.5 和 My
18、Eclipse Professional 2014数据库:MySQL服务器:Tomcat8浏览器:Google Chrome版本管理工具:Git测试手机:华为 C8815 与华为荣耀 4C 1.5. 开发技术A. Android 操作系统安卓是一款基于 Linux 开源的部署在移动平台上的操作系统,普通开发者和手机厂商都可以按照一定的规则自由地对其进行定制开发。同时 Google 提供了一整套的规范化的开发平台和开发体系,方便开发者通过 Google 提供的系统 API 和系统机制开发出各种各样的应用软件。1所以通过 Android 平台,我们可以对系统短信应用进行重新定制或者二次开发,达到我
19、们个性化需求开发的目的。B. 科大讯飞开放语义 API科大讯飞开放语义平台,是一套集语义解析、智能问答入于一体的技术接入平台,面向广大开发者提供一站式语义解决方案。该平台覆盖多垂直领域的语义通用场景,支持 Andriod、IOS 等多种应用平台,通过规范和多样的 API,满足应用的个性化定制需求。在本系统中就需要使用到该 API,对用户输入的语音进行语义解析,获取解析结果后生成发短信任务,从而实现语音发短信功能。C. 极光推送 IM SDK极光 IM 为 App 开发者提供易用可靠的即时通信云服务,搭建应用用户间自由的交流通道,增强产品社会化属性。极光 IM 提供单聊,群聊的方式。聊天内容支持
20、文本,图片,语音以及自定义消息等多种格式。终端平台覆盖 Android,iOS 以及 Web 客户端。极光 IM 以极光推送的大规模、高并发、稳定的推送服务为技术基础;4共享极光推送的多区域分布接入资源,采用一条连接同时维护 JMessage 与 JPush 两个服务。而在本系统中就需要到该 SDK,集成其即时通信的服务,并构建出一套用户系统,以此为基础去实现类似 WhatsApp 的网络消息与手机电信短信互相接合,无缝连接的效果。D. Java EE 技术Java EE 是 sun 公司推出的企业级应用程序版本,在 Java SE 的基础上构建,提供 Web 服务、组件模型、管理和通信 AP
21、I。通过使用 Java EE 和相应的 JDBC 等组件,我们能够轻松并规范地开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序,比如可以用来开发基于 Web 2.0 的 Java 网站和服务器端接口。2而本系统的服务端就是使用 Java EE 进行编写,既可以通过其编写 Web 页面的交互,也可以用其编写手机客户端请求的处理后台和数据库交互的部分。1.6. 内容安排本论文整体分为六个大章节。第一章为绪论,简要叙述了系统拥有的特色、发展现状及趋势、系统的开发背景,同时介绍了开发本系统所使用的开发平台工具和使用的技术。第二章系统需求与分析,该章节对系统的需求以用例图的方式进行了阐
22、述,并绘制了系统整体的业务流程图,限定了系统非功能上的需求。第三章系统设计,在简要介绍了系统设计的原则之外,对系统的功能架构进行了说明和划分。之后文章解释了所使用到的和与自主设计的数据库,同时以 UML 泳道图、UML 活动图的方式设计了各个复杂功能的详细交互流程。第四章系统关键技术,本文介绍了在系统开发过程中所使用到的有较高难度和设计思想的技术,包括多线程下载、异步任务处理、跨应用数据交互。第五章系统实现与测试,文章介绍了系统各功能的实现情况和部署过程,并对系统完成后的测试过程和测试结果进行了说明。第六章结论与展望,该章节对毕业设计的整个过程做了总结,并提出了不足的地方,同时也阐述了改进方向
23、。52. 系统需求与分析系统总体需求总体需求概括来说就是在提供基本短信服务的同时,再提供一些有特色的针对特定场景进行优化了的功能。A. 短信基本的收发服务和基本操作系统需要能进行基本的收取与查看短信、编辑和发送短信操作。另外系统需要支持对短信数据进行删除操作、转发操作、复制操作等基本的处理操作。B. 可进行短信系统的相关基本设置系统需要支持对短信相关功能的一些功能进行开启或关闭,并可以修改功能相应的参数设置。C. 服务和广告类短信与普通用户短信分隔显示系统可以将来自网络的服务类短信数据与日常普通的短信会话分隔开来,避免用户受太多垃圾短信的干扰。D. 针对特定类型的通知短信可以生成日程针对带有时间通知信息的短信,系统可以支持一键生成一条日程,插入到手机系统的日历中,作为提醒。E. 需有数据备份及保障数据安全系统需要支持对短信和联系人的数据进行备份,将数据保存到远程服务器中,并可以通过账号进行恢复。F. 可通过不同的途径生成发短信任务系统既可以通过传统的文本编辑产生短信任务,也可以通过说一句话的语音产生一个短信任务。G. 可以对系统联系人数据进行操作联系人是短信数据的重要部分,两者相辅相成。系统可以导入不同来源的联系人,并支持将本地的联系人数据通过二维码进行选择和分享操作。3