基于Android免费个性短信通的设计和实现.doc

上传人:laozhun 文档编号:2393848 上传时间:2023-02-17 格式:DOC 页数:26 大小:281KB
返回 下载 相关 举报
基于Android免费个性短信通的设计和实现.doc_第1页
第1页 / 共26页
基于Android免费个性短信通的设计和实现.doc_第2页
第2页 / 共26页
基于Android免费个性短信通的设计和实现.doc_第3页
第3页 / 共26页
基于Android免费个性短信通的设计和实现.doc_第4页
第4页 / 共26页
基于Android免费个性短信通的设计和实现.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于Android免费个性短信通的设计和实现.doc》由会员分享,可在线阅读,更多相关《基于Android免费个性短信通的设计和实现.doc(26页珍藏版)》请在三一办公上搜索。

1、海 南 大 学课 程 论 文(设计)题 目: 基于Android免费短信通的设计和实现 学 号: 20090902320075 姓 名: 季浩 年 级: 2009级 学 院: 应用科技学院 系 别: 09网络工程 专 业: 网络工程 指导教师: 郑兆华 完成日期: 2013年 3 月 30 日 摘 要 随着智能手机的飞速发展,使用智能手机的人越来越多,其中在智能手机中有着举足轻重地位的android系统自然是首选。Android是Google于2007年11月5日宣布的基于Linux平台开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移

2、动平台。Android在中国的前景十分广阔,首先是有成熟的消费者,其次在国内Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。经过使用发现Android自带的短信发送功能还不是十分完善,然而Android开源的特性给开发者提供了一个完美的平台。基于Android平台的短信通弥补了市场的空白,把短信发送,短消息提示,短消息群发,查询发送状态四个功能整合在一起,对Android手机短信发送功能很好的进行完善。采用面向对象的方法进行系统构思、需求获取、系统分析、系统设计、数据库设计和类设计,实现短信发送,短消息提示,短消息群发,查询发送状态四个功能。关键词:安卓;短

3、信;群发;定时AbstractWith the rapid development of intelligent mobile phone, more and more people use intelligent mobile phone, which has play a decisive role in intelligent mobile phone status of the Android system is naturally preferred.Android is Google on November 5, 2007 announced the Linux-based ope

4、n-source mobile operating system platform, the platform is make up with the operating system, middleware, user interface and application software, which is the first mobile device built for the truly open and complete mobile platform. Android has bright future in China, the first is a mature consume

5、rs, followed by the Android community is very prosperous in the country, these communities for the popularity of Android in China to do a very good promotional effect.After using text messages found Android self-contained function is very simple, and does not support single-number bursts, time messa

6、ging and other functions, however, the characteristics of Android open-source provide a perfect platform for developers. SMS-based Android platform make up for gaps in the market, the single number of bursts, number of segments bulk SMS, sms group sending, timer sms sending, improving the sending te

7、xt messages function of the Android phone. Object-oriented concept for system design, requirements capture, system analysis, system design, database design and class design to achieve a single number of bursts, number of segments bulk SMS, bulk SMS and regular text messages list. Keywords: android;

8、sms; group sending,; send timer目 录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定

9、时短信界面分析247.程序调试与测试307.1程序调试307.2 程序测试307.2.1 测试目的307.2.2 测试内容308.总结31致 谢31参考文献321 引言1.1课题研究的背景目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个短信通。本次设计运用android平台手机作为研究开发对象,配合Ja

10、va语言程序设计以及面向对象思想设计了一种手机短信通。本设计完成后,能够实现以下功能:短信发送,短消息提示,短消息群发,查询发送状态。在设计时,按照设计的要求,从安全性,经济性,可靠性三个方面进行考虑,通过设计方案的比较,确定出来一套既经济又可行的方案。1.2课题研究目标及意义安卓在手机上的应用使得手机的功能有了很大改善,这使得越来越多的人主要依靠手机查询大量信息,而用户们不断提高的需求也决定了越来越多的基于安卓平台的应用软件及系统的产生。经过使用发现Android自带的短信发送功能十分简单,不支持单号码连发、定时短信等功能,然而Android开源的特性给开发者提供了一个完美的平台。本设计完成

11、后,能够实现以下功能:短信发送,短消息提示,短消息群发,查询发送状态2.主要技术简介 Java是由Sun Microsystems公司于1995年推出的Java程序设计语言和Java平台的总称。Java语言是Android开发人员所选的工具。Android运行时使用自己的虚拟机Dalvik,这并不是多数程序开发人员使用的普通Java虚拟机。Dalvik支持Java编程语言的大部分功能-但并不是全部。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Ja

12、va 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系统简要说

13、明设计与实现一个在Android手机上运行的手机短信发送软件,实现手机短信的基本功能,包括:短信发送,短消息提示,短消息群发,查询发送状态等功能。 3.2系统可行性分析从技术性、经济性和操作性方面研究软件编写的可执行性,确保软件能够在后期顺利执行,它是软件开发的最前沿和基础。3.2.1 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求。本软件用的是Java开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此技术上是绝独可行的。软件方面:相关的开发软件,可以方便的从网上下载,易于获得,且可以满足系统需求。3.2.2 经济可行性开发

14、该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的软件系统、硬件平台等都易于获得,且不需要Android平台机器,用模拟器即可实现开发研究,开发成本低,容易实现,从经济角度来看,该系统可行。3.2.3 操作可行性该课题是利用自己的计算机,且使用Android模拟器,并且在本地上安装JDK、Android跟Eclipse作为软件的开发平台,使开发出来的系统有友好的用户界面、操作简单,因此在操作上是可行的。3.3需求分析根据手机功能使用调查显示,有八成以上的消费者使用手机短信功能。随着手机短信功能的不断加强与完善,手机短信对于人们的意义,已不仅仅只是简单的传递信息,而是向着个性化、人

15、性化的方向发展。短信计数从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是个性化打造不同的短信设计模板,以实现每个人对短信不同的要求。该系统针对的主要用户是Android手机用户。Android手机短信通系统包括以下主要内容:单号码连发短信,号码段群发短信,清单发送短信,定时发送短信。要设计一个良好的手机短信通软件,就必须首先明确该应用环境对系统的要求。Android手机短信应用背景:方便用户快捷通讯。因此,该系统需要满足以下几方面的需求:(1)短信的发送:添加直接联系人的号码,编写短信内容后,点击“发送短信”发送。(2)短消息提示:收到信息后直接提示用户。(3)短消息群发:用

16、户可以单击“添加联系人”按钮在系统的通讯录中选择需要添加的联系人,然后单击“发送”向之前选择的多个联系人发送信息。(4)查询发送状态:填入正确的电话号码及短消息后单击“发送短信”按钮,便会提示发送的状态。3.4功能模块分析短信的发送查询发送状态短消息群发短消息提示Android手机短信通功能模块图3-14 系统应用分析4.1应用程序交互模型(时序图) 主界面安卓短信接口短信界面用户移动运营商短信接收人显示选择调用交付发送返回图4-1用户4.2应用程序交互模型(活动图)进入短信通主界面进入短信通某一功能编辑短信 短信内容为空发送列表为空短信待发送发送短信5系统实现5.1系统功能分析5.1.1短信

17、的发送功能分析短信的发送界面如图所示图4-3功能模块如下用例名称短信的发送简述对一个号码发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了短信发送的界面后置条件输入了短信接收人的手机号码和短信内容扩展用例无包含用例无触发事件用户点击主界面的发送短信项,用例开始基本操作流程1. 用户填写手机号码2. 填写要发送的短信内容,不能为空3. 点击发送按钮,开始发送短信图4-4部分代码如下:package wyf.ytl;Import android.app.Activity;./该处省略了部分类的引入代码Import android.widge.Toast;Public class Samp

18、le_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)

19、; 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, “电话号码不符合格式!”, 5

20、000 ).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, “恭喜你,短信发

21、送成功!”, 5000).show();v.setEnabled(true);5.1.2短消息提示功能分析短消息提示界面如图所示图4-5功能模块如下所示用例名称短消息提示简述接收到消息后,以Toast的形式提示用户短信内容参与者用户,移动运营商,短信接收人前置条件用户手机处于开机状态后置条件用户收到了新的短信扩展用例无包含用例无触发事件收到新的短信后自动触发基本操作流程1. 用户收到新的短信2. 收到信息后直接到屏幕上提示用户短信发件人以及短信内容图4-6部分代码如下:package wyf.ytl;import android.content.BroadcastReceiver;import

22、 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(“android.

23、provider.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 temp

24、SmsMessage : 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功能模块如下:用例名称清单群发短信简述对多个联

25、系人同时发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了短消息群发的界面后置条件选择多个联系人,填写短信内容扩展用例无包含用例通讯录触发事件用户点击短消息群发项,用例开始基本操作流程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 Butt

26、on 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 = (EditT

27、ext) 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 = =

28、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 tempPho

29、ne =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

30、.sendTextMessage(telNo,null,smsStr,pi,null); v.setEnabled(true);6.5查询发送状态功能分析查询发送状态界面原型图4-9定时短信功能模块如下:用例名称查询发送状态简述对短信息发送后的状态进行查询参与者用户,移动运营商,短信接收人前置条件用户打开短信的发送的界面后置条件填写联系人,填写短信内容,点击“发送短信”扩展用例无包含用例无触发事件用户点击短信的发送“发送短信”按钮后,用例开始基本操作流程1. 填写联系人,填写短信内容2. 点击“发送短信”3. 提示短信发送的状态可选操作流程无图4-10设计代码如下: package wyf.y

31、tl; 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

32、(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”) ;MyB

33、roadcastReceiver 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 =

34、 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 Broa

35、dcastReceiver 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

36、: Toast.makeText(context, “未知”,Toast.LENGTH_LONG).show(); break; 7.程序调试与测试7.1程序调试程序开发中难免会遇到各种问题,如语法的错误,程序设计的错误。程序开发是一个循序渐进的过程。开发完一个功能,需要及时的测试,待功能测试通过后,方可以进行下一个功能的开发,这样可以保证程序的质量。在程序开发中,使用了打印调试信息,debug调试等方法。7.2 程序测试7.2.1 测试目的 程序没有错误,代码正确不代表程序能够正常运行,或者按照设计者的思路来运行,所以程序测试是有必要的。程序测试就是在程序投入运行前,对程序的需求分析、设计规

37、格说明和编码的最终复审,是保证程序质量的关键步骤,如果要给程序测试下定义,可以这样讲,程序测试时为了发现错误而执行程序的过程。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。7.2.2 测试内容(1)功能测试经测试:该软件系统的添加联系人功能、查看联系人、编辑联系人、查找联系人功能皆正常。软件的质量可以达到保证。 (2)健壮性测试经测试:该软件系统在异常情况下能正常运行的能力。如:直接退出,没有

38、点退出菜单,程序数据不会受到破坏,在配置较低的手机上运行。(3)性能测试经测试:该软件系统处理事务的速度快捷。正常该软件时,安装在手机上面运行良好。8.总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对安卓短信系统的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本短信系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。在这次课程设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了

39、设计系统的思维方法。对Java了解不够,不能很大发挥其语言功能,尤其在编写代码的时候不能够熟练使用,而是到处查阅资料,也不能够很准确的区别出相近功能指令的各自功能特点,使得在本系统的实现过程中,放弃了一些很好的设想和功能,也是一种遗憾。但是总的来说,这次的课程设计对我来说是一次非常难得的锻炼机会。使我对所学的专业课知识得到了融会贯通,得到了比任何一门课都大的提高和进步。在这期间也得到了指导老师和同学的支持和帮助。从毕业设计开始进行分析到最后的实现,总共用了三个多月的时间,前两个月在熟悉Android的设计思想、实现方法和进行短信通的需求分析和设计,后一个多月都在进行短信通的编码工作,并实现了短

40、信发送,短消息提示,短消息群发,查询发送状态四个功能。致 谢首先要由衷地感谢郑兆华老师。在这半年的时间里郑老师给我提供了很多参考资料,在程序设计上提出了很多指导意见,使我能够顺利地完成毕业设计,学到了很多Android系统应用软件开发知识。同时,郑老师还给我以后的人生道路提出了许多宝贵的意见和建议,使我在大学最后的时间里,再次上了一堂生动形象的课。在此还要感谢我的同学们的热心帮助,谢谢你们,正是因为你们的帮助,我才能克服一个个的困难。感谢院系老师对我的培育,让我学到了扎实的专业知识。感谢培育了我四年的大学。参考文献1 (美)哈希米.精通Android2开发移动系列. 人民邮电出版社, 2010

41、2 王向辉,张国印,沈洁.Android应用程序开发.清华大学出版社. 20103 韩超,梁泉.Android系统原理及开发要点详解. 电子工业出版社. 20104 姚尚朗.Google android开发入门与实践.人民邮电出版社,2009.75 (美)伯内特.Android基础教程.人民邮电出版社,2009 6 吴亚峰. Android核心技术与实例详解. 电子工业出版社, 北京, 1997 7 (英)梅尔 著,王鹏杰,霍建同译. Android高级编程. 清华大学出版社, 北京, 2010 8 (美)巴拉赫,(美)兰宝 著,车皓阳,杨眉 译. UML面向对象建模与设计(第2版). 人民邮电出版社, 北京, 2006 9 (美)弗里曼(Freeman,E.)等著,Oreily Taiwan公司译. Head First 设计模式(中文版). 中国电力出版社, 北京, 2007 10 谭云杰 著. Thinking in UML . 水利水电出版社, 北京

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号