




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
android平台手机安卓短信通毕业设计论文目 录1 引言51.1课题研究的背景51.2课题研究目标及意义52.主要技术简介53.系统分析与设计63.1系统简要说明63.2系统可行性分析63.2.1 技术可行性63.2.2 经济可行性63.2.3 操作可行性73.3需求分析73.4功能模块分析84 系统应用分析84.1应用程序交互模型(时序图)84.2应用程序交互模型(活动图)95.数据库设计95.1概述95.2 数据库的特点95.3数据库表结构116系统实现126.1用户主界面分析126.2单号码连发界面分析146.3号码段发送界面分析186.4清单发送界面分析216.5定时短信界面分析247.程序调试与测试307.1程序调试307.2 程序测试307.2.1 测试目的307.2.2 测试内容308.总结31致 谢31参考文献32191 引言1.1课题研究的背景目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个短信通。本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机短信通。本设计完成后,能够实现以下功能:短信发送,短消息提示,短消息群发,查询发送状态。在设计时,按照设计的要求,从安全性,经济性,可靠性三个方面进行考虑,通过设计方案的比较,确定出来一套既经济又可行的方案。1.2课题研究目标及意义安卓在手机上的应用使得手机的功能有了很大改善,这使得越来越多的人主要依靠手机查询大量信息,而用户们不断提高的需求也决定了越来越多的基于安卓平台的应用软件及系统的产生。经过使用发现Android自带的短信发送功能十分简单,不支持单号码连发、定时短信等功能,然而Android开源的特性给开发者提供了一个完美的平台。本设计完成后,能够实现以下功能:短信发送,短消息提示,短消息群发,查询发送状态2.主要技术简介 Java是由Sun Microsystems公司于1995年推出的Java程序设计语言和Java平台的总称。Java语言是Android开发人员所选的工具。Android运行时使用自己的虚拟机Dalvik,这并不是多数程序开发人员使用的普通Java虚拟机。Dalvik支持Java编程语言的大部分功能-但并不是全部。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。2009年7月发布代号为GALILEO的3.5版等等,目前,最新是2011年6月22日发布代号为Indigo的3.7版。3.系统分析与设计3.1系统简要说明设计与实现一个在Android手机上运行的手机短信发送软件,实现手机短信的基本功能,包括:短信发送,短消息提示,短消息群发,查询发送状态等功能。 3.2系统可行性分析从技术性、经济性和操作性方面研究软件编写的可执行性,确保软件能够在后期顺利执行,它是软件开发的最前沿和基础。3.2.1 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求。本软件用的是Java开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此技术上是绝独可行的。软件方面:相关的开发软件,可以方便的从网上下载,易于获得,且可以满足系统需求。3.2.2 经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的软件系统、硬件平台等都易于获得,且不需要Android平台机器,用模拟器即可实现开发研究,开发成本低,容易实现,从经济角度来看,该系统可行。3.2.3 操作可行性该课题是利用自己的计算机,且使用Android模拟器,并且在本地上安装JDK、Android跟Eclipse作为软件的开发平台,使开发出来的系统有友好的用户界面、操作简单,因此在操作上是可行的。3.3需求分析根据手机功能使用调查显示,有八成以上的消费者使用手机短信功能。随着手机短信功能的不断加强与完善,手机短信对于人们的意义,已不仅仅只是简单的传递信息,而是向着个性化、人性化的方向发展。短信计数从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是个性化打造不同的短信设计模板,以实现每个人对短信不同的要求。该系统针对的主要用户是Android手机用户。Android手机短信通系统包括以下主要内容:单号码连发短信,号码段群发短信,清单发送短信,定时发送短信。要设计一个良好的手机短信通软件,就必须首先明确该应用环境对系统的要求。Android手机短信应用背景:方便用户快捷通讯。因此,该系统需要满足以下几方面的需求:(1)短信的发送:添加直接联系人的号码,编写短信内容后,点击“发送短信”发送。(2)短消息提示:收到信息后直接提示用户。(3)短消息群发:用户可以单击“添加联系人”按钮在系统的通讯录中选择需要添加的联系人,然后单击“发送”向之前选择的多个联系人发送信息。(4)查询发送状态:填入正确的电话号码及短消息后单击“发送短信”按钮,便会提示发送的状态。3.4功能模块分析短信的发送查询发送状态短消息群发短消息提示Android手机短信通功能模块图3-14 系统应用分析4.1应用程序交互模型(时序图) 主界面安卓短信接口短信界面用户移动运营商短信接收人显示选择调用交付发送返回图4-1用户4.2应用程序交互模型(活动图)进入短信通主界面进入短信通某一功能编辑短信 短信内容为空发送列表为空短信待发送发送短信5系统实现5.1系统功能分析5.1.1短信的发送功能分析短信的发送界面如图所示图4-3功能模块如下用例名称短信的发送简述对一个号码发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了短信发送的界面后置条件输入了短信接收人的手机号码和短信内容扩展用例无包含用例无触发事件用户点击主界面的发送短信项,用例开始基本操作流程1. 用户填写手机号码2. 填写要发送的短信内容,不能为空3. 点击发送按钮,开始发送短信图4-4部分代码如下:package wyf.ytl;Import android.app.Activity;./该处省略了部分类的引入代码Import android.widge.Toast;Public class Sample_11_1 extends ActivityPublic void onCreate(Bundle savedInstanceState)Super.onCreate(savedInstanceState);setContentView(R.layout.main);Button bdial=(Button)this.findViewById(R.id.Button01);Bdial.setOnClickListener( New View.onClickListener( ) EditText etTel = (EditText)findViewById(R.id.EditText02); String telStr = etTel.getText( ).toString( ); EditText etSms= (EditText)findViewById(R.id.EditText01); String smsStr = etSms.getText( ).toString( ); If(PhoneNumberUtils.isGlobalPhoneNumber(telStr) v.setEnabled(false); sendSMS(telStr,smsStr,v); Else Toast.makeText( Sample_11_1.this, “电话号码不符合格式!”, 5000 ).show(); );Private void sendSMS(String telNo,String smsStr , View v)PendingIntent pi = PendingIntent.getActivity(this,0,new Intent(this,Sample_11_1,class),0);SmsManager sms = SmsManager.getDefault();Sms.sendTextMessage(telNo, null , smsStr , pi , null);Toast.makeText( Sample_11_1.this, “恭喜你,短信发送成功!”, 5000).show();v.setEnabled(true);5.1.2短消息提示功能分析短消息提示界面如图所示图4-5功能模块如下所示用例名称短消息提示简述接收到消息后,以Toast的形式提示用户短信内容参与者用户,移动运营商,短信接收人前置条件用户手机处于开机状态后置条件用户收到了新的短信扩展用例无包含用例无触发事件收到新的短信后自动触发基本操作流程1. 用户收到新的短信2. 收到信息后直接到屏幕上提示用户短信发件人以及短信内容图4-6部分代码如下:package wyf.ytl;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.gsm.SmsMessage;import android.widget.Toast;public class MyBroadcastReceiver extends BroadcastReceiver public void onReceive(Context context , Intent intent) if(intent.getAction().equals(“vider.Telephony.SMS_RECEIVED”) Bundle bundle = intent.getExtras(); if (bundle != null) Object myObject = (Object )bundle.get(“pdus”); SmsMessage messages = new SmsMessage myObject.length; For( int i=0; imyObject.length; i+) messagesi = SmsMessage.createFromPdu(byte)myObjecti); For(SmsMessage tempSmsMessage : messages) sb.append(“收到来自: n”); sb.append(tempSmsMessage.getDisplayOriginatingAddress()+”n”); sb.append(“内容为 : n”); sb.append(tempSmsMessage.getDisplayMessageBody(); Toast.makeText(context , sb.toString(), Toast.LENGTH_LONG).show(); 5.1.3短消息群发功能分析短消息群发功能界面如图所示图4-7功能模块如下:用例名称清单群发短信简述对多个联系人同时发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了短消息群发的界面后置条件选择多个联系人,填写短信内容扩展用例无包含用例通讯录触发事件用户点击短消息群发项,用例开始基本操作流程1. 用户从通讯录中添加多个联系人2. 填写短信内容3. 点击发送按钮,开始发送短信可选操作流程无图4-8设计代码如下:Package wyf.ytl;import java.util.HashMap;.Import android.widget.Toast;Public class Sample_11_3 extends Activity implements OnClickListener Button select; Button send; EditText people; HashMap peoples = new HashMap(); Public void onCreate(Bundle savedInstanceState) Super.onCreate(savedInstanceState); setContentView(R.layout.main); select = (Button) this.findViewById(R.id.select); send = (Button) this.findViewById(R.id.sent); people = (EditText) this.findViewById(R.id.people); select.setonClickListener(this); send.setonClickListener(this); Public void onClick(View v) If( v = = select) Uri uri = Uri.parse(“content:/contacts/people”); Intent intent = new Intent( Intent.ACTION_PICK, uri); startActivityForResult(intent , 1); Else if(v = = send ) v.setEnabled(false); EditText etSms = (EditText)findViewById(R.id.smsBody); String smsStr = etSms.getText().toString(); Set keySet = peoples.keySet(); Iterator ii = keySet.iterator(); people.setText(“ ”); while(ii.hasNext() Object key = ii.next(); String tempName = (String)key; String tempPhone =peoples.get(key); If(PhoneNumberUtils.isGlobalPhoneNumber(tempPhone) SendSMS(tempPhone , smsStr ,v); private void sendSMS(String telNo , String smsStr ,View v) PendingIntent pi = PendingIntent.getActivity(this,0,new Intent(this,Sample_11_3.class),0); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(telNo,null,smsStr,pi,null); v.setEnabled(true);6.5查询发送状态功能分析查询发送状态界面原型图4-9定时短信功能模块如下:用例名称查询发送状态简述对短信息发送后的状态进行查询参与者用户,移动运营商,短信接收人前置条件用户打开短信的发送的界面后置条件填写联系人,填写短信内容,点击“发送短信”扩展用例无包含用例无触发事件用户点击短信的发送“发送短信”按钮后,用例开始基本操作流程1. 填写联系人,填写短信内容2. 点击“发送短信”3. 提示短信发送的状态可选操作流程无图4-10设计代码如下: package wyf.ytl; import android.app.Activity;import android.app.PendingIntent;import android.widget.EditText;import android.widget.Toast;public class Sample_11_4 extends Activity implememts OnClickListener EditText number; EditText body; Button send; Public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); send = (Button) this.findViewById(R.id.send); number = (EditText) this.findViewById(R.id.number); body = (EditText) this.findViewById(R.id.body); send.setOnClickListener(this); IntentFilter myIntentFilter = new IntentFilter(“SMS_SEND_ACTION”) ;MyBroadcastReceiver myBroadcastReceiver = new MyBroadcastReceiver();registerReceiver(myBroadcastReceiver,myIntentFilter);Public void onClick(View v) If(v = = send) Send.setEnabled(false); String strNumber = number.getText().toString(); String strBody = body.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); Intent intentSemd = new Intent(“SMS_SEND_ACTION”); PendingIntent sendPI = PendingIntent.getBroadcast(getApplicationContext(),0,intentSemd,0); smsManager.sendTextMessage(strNumber,null,strBody,sendPI,null); send.setEnabled(true); Public class MyBroadcastReceiver extends BroadcastReceiver public void onReceive(Context context , Intent intent) switch(getResultCode() case Activity.RESULT_OK: Toast.makeText(context, “发送成功”,Toast.LENGTH_LONG).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(context, “发送失败”,Toast.LENGTH_LONG).show(); break; default: Toast.makeText(context, “未知”,Toast.LENGTH_LONG).show(); break; 7.程序调试与测试7.1程序调试程序开发中难免会遇到各种问题,如语法的错误,程序设计的错误。程序开发是一个循序渐进的过程。开发完一个功能,需要及时的测试,待功能测试通过后,方可以进行下一个功能的开发,这样可以保证程序的质量。在程序开发中,使用了打印调试信息,debug调试等方法。7.2 程序测试7.2.1 测试目的 程序没有错误,代码正确不代表程序能够正常运行,或者按照设计者的思路来运行,所以程序测试是有必要的。程序测试就是在程序投入运行前,对程序的需求分析、设计规格说明和编码的最终复审,是保证程序质量的关键步骤,如果要给程序测试下定义,可以这样讲,程序测试时为了发现错误而执行程序的过程。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。7.2.2 测试内容(1)功能测试经测试:该软件系统的添加联系人功能、查看联系人、编辑联系人、查找联系人功能皆正常。软件的质量可以达到保证。 (2)健壮性测试经测试:该软件系统在异常情况下能正常运行的能力。如:直接退出,没有点退出菜单,程序数据不会受到破坏,在配置较低的手机上运行。(3)性能测试经测试:该软件系统处理事务的速度快捷。正常该软件时,安装在手机上面运行良好。8.总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对安卓短信系统的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本短信系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。在这次课程设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。对Java了解不够,不能很大发挥其语言功能,尤其在编写代码的时候不能够熟练使用,而是到处查阅资料,也不能够很准确的区别出相近功能指令的各自功能特点,使得在本系统的实现过程中,放弃了一些很好的设想和功能,也是一种遗憾。但是总的来说,这次的课程设计对我来说是一次非常难得的锻炼机会。使我对所学的专业课知识得到了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 唐雎不辱使命(原卷版)-2024年中考语文之文言文对比阅读
- 2025年度行政文员转正考核与述职报告模板定制服务合同
- 2025上海市公安局计划招录500名人民警察解读备考练习题库及答案解析
- 2025贵州遵义市红花岗区人民法院招募见习人员6人备考练习试题及答案解析
- 2025年江苏省高考历史真题卷含答案解析
- 2025广西玉林市兴业县公安局第二次公开招聘警务辅助人员94人笔试备考试题及答案解析
- 2025广东中山市水务局招聘雇员4人笔试备考题库及答案解析
- 2025福建漳州诏安县公安局招聘30人考试模拟试题及答案解析
- 2025年金融科技公司员工期权激励合同范本解析
- 2024德州市临邑县临南镇社区工作者招聘考试试题
- 重症医学科护士长竞聘
- 叙事护理学智慧树知到答案2024年中国人民解放军海军军医大学
- 第三单元 资产阶级民主革命与中华民国的建立(大单元教学设计)-2024-2025学年大单元视域下的历史同步教学(统编版·八年级上册)
- 2024年秋新人教版地理七年级上册全册教学课件(新教材)
- TCQJR 017-2024 重庆市“碳挂钩”贷款业务操作指南
- (高级)航空油料特设维修员理论考试题库(浓缩500题)
- 液化气站质量管理手册样本
- 产教融合育人协同创新模式
- 农资创业项目计划书
- 环境标志产品技术要求 房间空气调节器(HJ 2535-2013代替HJ-T304-2006)
- 矿山支护工安全培训课件
评论
0/150
提交评论