长沙理工大学
毕业设计(论文)开题报告
题目: 基于Android的短信发送程序的设计
课 题 类 别: 设计 论文 □
学 生 姓 名:
学 号:
班 级: 0
903
专业(全称): 计算机科学与技术
指 导 教 师:
2013年 3月
一、本课题设计(研究)的目的:
随着计算机技术和通信技术的深入发展,移动通信设备和PDA不再是奢侈品,已经走进了普通老百姓的生活。短信发送是每部手机的一项基本功能,但是它们功能单一,没有特色,我们有时会感到使用不方便。我们可以在原来基础上加进一些特色功能, 如: 定时短信, 短信过滤, 节日短信等, 只有想不到, 没有做不到。
Android是Google于2007年推出的一款开放的嵌入式操作系统平台,由于其完全开源的特性,Android正以空前的速度吸引大批开发者加入。因此,掌握Android平台的相关知识,提高手机开发水平,具有特别重要的意义。
本课题是开发一个短信发送程序。开发这样一个系统主要需要完成以下一些方面的内容:熟悉Android手机操作系统;掌握Android软件开发工具;掌握面向对象的程序设计技术;使用Java语言完成短信发送程序的编写和调试。
目前,由于Android开源的特性,全球的开发者都积极加入Android系统的研究。Android的各种应用层出不穷。操作方式新颖,可玩性高。而且价格低廉适合工薪阶层。Android出现之前,智能手机OS市场中Symbian和WM两者占据大部分市场份额,但在移动互联网的快速发展,终端+应用的趋势逐渐成为主流的情况下,两者的劣势逐渐突出。Symbian由于发展多年,底层架构较为陈旧且对触摸屏支持不佳,用户体验较差;再加上系统较为封闭,支持的应用较少。WM系统同样较为封闭,对终端厂商来讲引入成本较为昂贵,娱乐性平平,多用于商务机型。而Android系统,拥有低廉的引入成本,良好的用户体验开放性较强的特点,加上Android Market和众多第三方应用商店做后盾,在应用方面的资源也非常丰富;虽然Android目前存在安全性和版本混乱等问题,但由于其适应了移动互联网的发展趋势,切合了移动互联网产业链各方的发展变化需求,所以取得了迅猛的发展。移动互联网的蓬勃发展促使手机终端产业链变化,应用和服务逐渐成为竞争的焦点。无论是电信运营商,终端厂商还是应用开发商,目前都在向操作系统领域进军,试图对内容的聚拢和对应用体系的把控,稳固或加强自己在产业链中的影响力。在这一过程中Android系统因多方面因素逐渐受到各方的青睐。电信运管商方面,通过产业链优势比如销售渠道优势、用户优势、资源整合优势,向操作系统领域进行扩张,达到控制更多产业链话语权的目的是现阶段移动互联网发展的必然趋势。相对于其他系统Android的开放性和可定制性使得运营商从系统层面打造自己的用户界面,并内置增值服务更加容易[1]。中国移动专门为定制了基于Android的OPhone平台,并与索爱,三星及摩托罗拉等厂商联合推出了多款OPhone终端;联通方面uPhone也呼之欲出。运营商的这一举动,不仅加强了其产业链上的话语权,同时也会极有利于Android系统手机向中低端大众市场推广。终端厂商方面,企业纷纷开始从单纯出售手机向终端加服务和应用的业务模式转型,操作系统作为承载应用的平台,对于智能手机终端厂商的重要性不言而喻。在Android问世之前,智能手机大多使用WM平台,不仅成本较高,而且系统封闭应用体验较差。而Android 系统除了低廉的成本和良好的用户体验外,因采用了开源的平台,给予了终端厂商和开发者更大的灵活性,开发者在程序的开发移植上更为方便且不需要考虑厂商端内容审核等问题,终端厂商则可以按需深度定制系统开发本地化应用环境,用户可选择的应用资源将会进一步丰富[2]。Android的以上特点吸引了众多终端厂商,从2010年第2季度起,摩托罗拉、HTC及三星等厂商的专注于Android的发展策略成效颇丰,据Gartner统计,2010年第2季度Android销量约占全球整个智能手机市场份额的17.2%,相比之下在第一度该份额为9.6% 。而在国内三星、摩托罗拉等手机厂商也延续着这一策略,纷纷推出Android新机,摩托罗拉发布多款全新“明”系列智能手机,三星SPhone在国内上市,同时HTC也于3季度正式宣布进军中国市场。而在国产智能手机方面由于Android低廉的成本和可定制的特性,现在已有联想,天语中兴等近20家厂商在逐渐采用和进行定制;伴随新机产品的推出,各Android机制造商也投入了大量资源进行产品营销,加上之前新上市的Android手机在各级渠道开始大范围铺货,刺激了Android在2010第2-3季度销量的快速增长,易观智库Enfodesk近期发布《2010年第3季度中国手机市场季度监测》数据显示,Android在中国市场2010年第3季市保有量已达861.2万部。另外,在终端厂商、电信运营商和第三方应用开发商的推动下,包括摩托罗拉智件园,三星乐园,机锋网等各大Android应用商店呈现百花齐放的态势。带给了应用开发者更多的机遇和极具诱惑力的利润分成,在各应用商店间的移植改造成本也相对较低[3]。随着应用商店的不断发展和开发者的涌入,Android平台的应用资源优势正在逐步的扩大。除过终端厂商,电信运营商和应用开发者外,一些有实力的互联网企业也开始基于Android进军手机操作系统领域,例如创新工厂旗下的点心操作系统。未来这些企业可能会凭借Android的特性,定制针对细分应用市场的OS,推动Android的多样化发展。而从用户的角度考量,Android良好发展前景主要源于优秀的用户体验和高性价比这两个方面,根据易观在2010第3季度进行的用户研究可以发现:首先,目前90%以上的Android用户都对Android的操作体验表示满意,这个数据稍高于Symbian和WM 十个百分点左右;其中用户对Android的触屏操作体验,应用体验和上网体验这三项满意度最高;用户不满意的地方以电池续航能力为主,但目前该现象普遍存在于包括使用WM,iOS和Symbian平台的触屏手机中,电池续航能力已经成为阻碍智能手机发展的因素之一[4]。其次,中国手机用户对价格较为敏感,在电信运营商,国产终端厂商和瑞芯微等芯片厂商推动下Android手机在各智能手机平台中最先走向平民化;如华为,中兴等厂商都在运营商的推动下于2010年第3季度推出了千元Android机种,中国移动也在近期完成了600万台TD终端的采购,其中大部分为1500元以下的Android手机终端;而WM和iOS的机种目前市场价普遍在2000元以上,Android如此的价格定位,对占大多数的中低端消费者有很大吸引力[5]。而根据各大手机卖场的回馈情况表示,55%的计划换机的用户都对Android手机表示了较强的购买意愿。所以,Android在未来的一段时间内前景良好[6]。
2.2 Android架构
Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
Linux Kernel:Android基于Linux 2.6提供核心系统服务,例如:内存、安全管理、网络堆栈、进程管理、驱动模型。Linux Kernel也可以作为硬件和软件之间的抽象层,它能隐藏具体硬件细节而为上层提供统一的服务。分层的好处就是使用下层提供的服务使上层提供统一的服务,屏蔽本层及以下各层的差异,当本层及以下各层发生了变化不会影响到上层。各层会各尽其职,各层会提供固定的SAP,因为只是做应用开发,所以不需要深入了解Linux Kernel层[7]。
Android Runtime:Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可以用到的功能。每一个Android应用程序都是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计而成在一个设备可以高效地运行的多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex的格式是专为Dalvik设计的一种压缩格式,适合内存有限和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有各的优劣,一般而言,基于栈的机器则需要更多的指令,而基于寄存器的机器指令则会更大。dx是一套工具,可以把Java .class转换成.dex格式。一个dex文件通常会有多个.class文件。但dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理[8]。
Libraries:Android包含一个C/C++库的集合,可以供Android系统的各个组件使用。这些功能会通过Android的应用程序框架暴露给开发者。系统C库由标准C系统库的BSD衍生,调整为基于嵌入式Linux的设备。媒体库是基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行音频和视频格式,以及静态图像文件,包括H.264、MPEG4、MP3、AAC、AMR、JPG、PNG界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore是新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图 SGL--基本的2D图形引擎 3D库--基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType 是位图和矢量字体渲染 SQLite --所有应用程序都可以使用的强大而轻量级的关系数据库引擎[9]。
Application Framework:通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能但需要服从框架执行的安全限制[10]。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括:视图是丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者是使应用程序能访问其他应用程序的数据,或共享自己的数据 资源管理器是提供访问非代码资源,如本地化字符串、图形和布局文件。通知管理器是使所有的应用程序能够在状态栏显示自定义警告 活动管理器是管理应用程序生命周期,提供通用的导航回退功能[11]。
Applications:Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发! 从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序[12]
三、设计(研究)的重点与难点,拟采用的途径(研究手段):
首先查阅大量的资料熟悉Eclipse平台,下载并安装Eclipse平台。学习Eclipse平台的搭建。由于是用Eclipse进行Android开发,所以要从网络上学习如何下载并配置JDK和Android SDK。然后要翻阅大量的资料,学习JAVA语言。掌握JAVA的基本语法,熟悉JAVA后,编写Android手机短信发送的代码,模拟调试,并最终下载到手机上演示。
用JAVA语言进行代码编写,首先要获取接收方手机的号码,进行判断是否是数字,如果是数字则进行下一步。如果不是数字跳回获取接收方手机号码这步。然后就开始获取短信内容,进行判断是否超出运营商规定的字数范围。如果超出了范围,跳回上一步。如果没有超出范围则进行下一步发送。如图3-1就是系统的流程图。
图1 系统流程图
四、设计(研究)进度计划:
1. 第1-4周 查询相关资料和文献,撰写开题报告
2. 第4-5周 需求分析和可行性分析
3. 第6-7周 总体设计工作
4. 第8-10周 详细设计工作
5. 第11-13周 根据所有设计工作进行系统实现
6. 第13-14周 调试测试系统
7. 第14-15周 撰写论文
8. 第16-17周 毕业论文答辩
五、参考文献:
[1] 林上杰,林康司编著. JSP 2.0技术手册. 北京:电子工业出版社, 2004.5
[2] 石志国,薛为民,董洁编著. JSP应用教程. 北京:清华大学出版社, 2004.10
[3] 孙佳, 刘中兵, 李伯华编著. JSP+Oracle动态网站开发案例精选. 北京:清华大学出版社, 2005
[4] Vivek Chopra, Jon Eaves, Rupert Jones等著. JSP程序设计(英文版). 北京:人民邮电出版社, 2006
[5] 赛奎春主编. JSP工程应用与项目实践. 北京:机械工业出版社, 2005
[6] 赛奎春主编. JSP信息系统开发案例精选. 北京:机械工业出版社, 2006.1
[7] 鲁晓东, 李育龙, 杨健 编著. JSP软件工程案例精解. 北京:电子工业出版社, 2004.12
[8] 阎毓杰. JSP数据库编程入门. 长春:吉林电子出版社, 2004
[9] Jeffrey A. Hoffer,University of Dayton,Joey F. George. Modern Systems Analysis and Design, Third Edition. Pearson Education, 2003.5
[10] 黄明, 梁旭编著. JSP信息系统设计与开发实例. 北京:机械工业出版社, 2004
[11] [美]Brian Wright Michael Freedman. JSP在数据库中的应用与开发(英文版). 北京:北京希望电子出版社, 2001.1
[12] 参看《计算机应用》,《计算机学报》,《软件学报》和《计算机研究与发展》上的相关论文
[13] Hwin Patterson B.Sc(Hons). MySql Explained. Database and Network Journal A.P.Publications volume 34.Ltd.Old Exchange House,Marford Road ,Wheathampstead,2004.1 3-5
指导教师意见
签名:
月 日
教研室(学术小组)意见
教研室主任(学术小组长)(签章):
月 日