专业课程设计II报告_09002829.doc_第1页
专业课程设计II报告_09002829.doc_第2页
专业课程设计II报告_09002829.doc_第3页
专业课程设计II报告_09002829.doc_第4页
专业课程设计II报告_09002829.doc_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通达学院专业课程设计II题 目: 短信发送平台 专 业 计算机科学与技术(计算机通信) 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 计算机学院计算机科学与技术系日 期 2012.11.12-2012.11.23 教师评语同学出勤率(满勤、较高、一般,较低),学习态度(端正、较端正、一般、较差),程序设计基础(好、较好、一般、较差),演示程序(已经、没有)达到了基本要求,算法设计(好、较好、一般),界面友好程度(好、较好、一般),答辩过程中回答问题(准确、较准确、错误率较高),撰写报告格式(规范、一般)、内容(丰满、简单)、表述(清晰、一般、不清楚),(圆满、较好、基本)完成了课题任务。 教师签名: 年 月 日成绩评定备 注短信发送平台一、 课题内容和要求基本功能: 1、输入任意手机号码,实现短信发送功能; 2、对手机号码进行分组管理; 3、支持定时发送、群组发送; 4、根据用户等级支持不同权限发送功能,界面友好。二、概要设计 导入第三方提供的API包主函数调用API代码抓取调用API的返回值进行判断在我们的主程序中需要调用到一些函数,不仅仅是JAVA 自身的,还需要第三方提供给我们的,这些函数都保存在一个包中,我们需要自己导入。导入相应的模块和包中的函数 import java.util.*; import java.io.*; import .*; import java.io.UnsupportedEncodingException; import mons.httpclient.Header; import mons.httpclient.HttpClient; import mons.httpclient.NameValuePair; import mons.httpclient.methods.PostMethod;我们输入的字符串是不能再网络中传输的,需要通过一定的方式进行转换才可以,以下的代码就是帮我们实现转化的功能。/在头文件中设置转码 HttpClient client = new HttpClient(); PostMethod post = new PostMethod(); post.addRequestHeader(Content-Type,application/x-www-form-urlencoded;charset=gbk);官方提供的API是不能在界面中输入的,之后在后台代码进行设置,我们为了便捷,需要在界面中输入,于是针对需求,我们简单话的做了一个界面,然后针对用户的输入的内容读入到代码中。Scanner scanner=new Scanner(System.in); System.out.print(t请输入您的用户名:); String UserName=scanner.next(); System.out.print(t请输入您的密码:); String Password=scanner.next(); System.out.print(t请输入接收短信的手机号码:); String Mobiles=scanner.next();System.out.print(t请输入短信内容:); String Content=scanner.next();重新定义API,以便把我们输入的变量帐户、密钥、号码、内容重新赋值 NameValuePair data = new NameValuePair(Uid, UserName), new NameValuePair(Key, Password), new NameValuePair(smsMob,Mobiles), new NameValuePair(smsText,Content); post.setRequestBody(data); client.executeMethod(post); Header headers = post.getResponseHeaders();定义返回值,并且抓取返回值,以便在输出界面得到短信发送后的信息反馈提示 String result = new String(post.getResponseBodyAsString().getBytes(gbk); 三、详细设计 源程序代码:/导入相应的模块和包中的函数 import java.util.*; import java.io.*; import .*; import java.io.UnsupportedEncodingException; import mons.httpclient.Header; import mons.httpclient.HttpClient; import mons.httpclient.NameValuePair; import mons.httpclient.methods.PostMethod;/主程序开始public class SMS public static void main(String args)throws Exception /在头文件中设置转码 HttpClient client = new HttpClient(); PostMethod post = new PostMethod(); post.addRequestHeader(Content-Type,application/x-www-form-urlencoded;charset=gbk);/简单化的界面,提示用户输入对应的内容 System.out.println(n); System.out.println(t*欢迎使用09002829陈健亚的短信发送平台*t); System.out.println(n);Scanner scanner=new Scanner(System.in); System.out.print(t请输入您的用户名:); String UserName=scanner.next(); System.out.print(t请输入您的密码:); String Password=scanner.next(); System.out.print(t请输入接收短信的手机号码:); String Mobiles=scanner.next();System.out.print(t请输入短信内容:); String Content=scanner.next(); NameValuePair data = new NameValuePair(Uid, UserName), new NameValuePair(Key, Password), new NameValuePair(smsMob,Mobiles), new NameValuePair(smsText,Content); post.setRequestBody(data); client.executeMethod(post); Header headers = post.getResponseHeaders(); /屏蔽掉开放的API中对我们来说无用的语句 /int statusCode = post.getStatusCode(); /System.out.println(statusCode:+statusCode); for(Header h : headers) /System.out.println(h.toString(); /定义返回值,并且抓取返回值 String result = new String(post.getResponseBodyAsString().getBytes(gbk); System.out.println(n); /对获取到的返回值进行判断,并且给出提示 if (result.equals(1) System.out.println(t短信发送成功!t); if (result.equals(-1) System.out.println(t没有该用户账户!t); if (result.equals(-2) System.out.println(t密码错误!t); if (result.equals(-3) System.out.println(t短信数量不足!t); if (result.equals(-11) System.out.println(t该用户被禁用!t); if (result.equals(-14) System.out.println(t短信内容出现非法字符!t); if (result.equals(-4) System.out.println(t手机号格式不正确!t); if (result.equals(-41) System.out.println(t手机号码为空!t); if (result.equals(-42) System.out.println(t短信内容为空!t); System.out.println(n);/屏蔽掉开放的API中对我们来说无用的语句 /System.out.println(result); /post.releaseConnection(); 四、测试数据及其结果分析这一部分分为两部分介绍,第一部分介绍官方提供给我们的信息,第二部分介绍调用官方API后我们运行的结果展示。1.1官方提供的API截图1.2开放的API JAVA版本调用代码1.3官方提供的信息发送后返回值参照表2.1程序运行界面显示,短信成功发送2.2 当输入的帐号有误时,程序运行的结果2.3 当输入的所用帐号短信量不足时,程序运行的结果2.4 当输入的手机号有误时,程序运行的结果2.5 当输入的帐号密码有误时,程序运行的结果2.6很多时候我们发短信都是群发,本软件支持群发功能,只要在号码输入的时候,把多个号码之间用半角符号的逗号隔开即可。(下图由于短信不足,所以无法成功发送,但是群发功能已经通过,没有报错)五、课程设计总结在刚刚接到这个课程设计的题目的时候,自己都不敢相信自己的课题会这么的难,感觉要是能把这样的课题做好不仅仅是自己能力的一个提升,更重要的是在以后的生活中,都会给自己带来很多的便捷。因为PC端是我们经常使用的平台,而手机端又是我们生活中尤为重要的移动平台。怎么样实现这两个平台的短信交流是一个尤为有意义的的课题。带着对自己的不自信开始了自己的课程设计周。在刚刚开始的时候,对这个课题完全是迷茫的,不知道从哪入手,和班级同样课题的同学讨论,已没有的得出一个明确的方向和方法。在最后,实在没有方向的时候,找到了指导老师,通过和指导老师的一番交流,得到了做这个课题的大致方向。老师说,这个课题其实并不是让我们自己去写一个完完全全的客户端,然后去实现短信的发送功能,而是让我们去寻找第三方平台,借助第三方的力量,来达到我们的目的。比如借助飞信开放的API,我们通过调用API来借助移动的力量实现我们发短信的功能。有了这样的方向以后,我就开始朝着这样的方向开始琢磨。但是,在经历的方向问题后,研究的进展并没有很顺利的继续下去。但自己在飞信API的调用上花了很多时间后,却得知,飞信的API早在一年前就已经被关掉了,现在无法调用这样的功能。课题研究又一步陷入困境。于是我自己思考,既然飞信是属于第三方,那我们不能找其他的第三方平台呢?于是,我便开始了寻找可用的第三方开放的API,终于功夫不负有心人,在寻找到第四个平台:中国网建SMS短信平台。在这个平台上我找到了希望。在调用了他提供的API后终于实现了发短信的功能。至于之后一些小的问题就不在此费诉了。经历过这次课程设计的研究,我有以下几点收获:1、 要对自己有信心。困难再大,终会有发放去解决,但是我们首先要对自己有信心,如果对自己失去信心,就失败了一半;2、 遇到困难时,不能轻易放弃,往往成功就在最后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论