电信增值业务开发实验wap制作
- 格式:doc
- 大小:1.07 MB
- 文档页数:13
中国电信BREW应用 测试规范 (V1.1)中国电信股份有限公司目录1.范围 (3)2.测试环境 (3)3.测试概述 (3)3.1.测试提交文档 (3)3.2.测试目的 (5)3.3.测试过程 (5)3.4.测试结果定义 (6)3.5.问题修改意见分类 (6)4.应用程序检查 (7)5.进入测试 (9)6.应用程序全面检测 (15)6.1 UI测试 (15)6.1.1 UI逻辑测试 (15)6.1.2UI内容 (16)6.1.3UI设计 (19)6.2功能测试 (23)6.2.1程序的启动与退出 (23)6.2.2使用许可 (24)6.2.2动态显示 (25)6.2.3数据存储 (26)6.2.4功能性按键 (28)6.2.5清除键 (30)6.2.6 6.2.7发送键 (32)6.2.7短信应用 (33)中国电信BREW增值业务测试规范6.2.8铃声下载应用 (35)6.2.9音乐下载应用 (37)6.2.10图片下载应用 (39)6.2.11声音连续播放 (41)6.2.12音量控制 (42)6.2.13定时器与报警 (43)6.2.14公共扩展类遍历测试(暂不测) (43)6.2.15BREW 自升级功能(暂不测) (44)6.3兼容性测试 (45)6.3.1语音呼叫 (45)6.3.2非应用短信 (46)6.3.3本地屏保 (47)6.3.4来电显示 (48)6.3.5中断/恢复 (48)6.3.6网络连接 (53)6.3.7服务丢失 (55)6.3.8文件系统限制 (57)6.3.8.1最大文件空间 (57)6.3.8.2应用回调 (58)7特殊类别应用探索测试 (59)7.1 社区类及搜索类应用 (59)7.2 养成类应用 (60)7.3 开机自动运行或后台运行类应用 (61)7.4 永远在线类应用 (63)8应用快速探索测试 (66)8.1 A类快速测试 (66)8.2B类快速测试 (66)中国电信BREW应用测试规范21.范围本标准规定了中国电信BREW应用测试的方法及依据。
WML 编程技术北邮3G 长沙分院WAP 开发环境及编程技术【实验目标】完成本章的内容以后,您将达到:◆ 掌握WML 运行环境的搭建 ◆ 熟悉WML 常用标记2G ——《移动通信增值业务开发》实验手册本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。
第一阶段——指导学习(50分钟)1. 练习WML标签准备工作:使用Eclipse新建一个web工程,工程命名为wap,将所要使用的图片image文件夹拷贝到webRoot1、编写第一个WML页面,并运行,观察显示效果1) 在webRoot下,新建一个名为test01.wml文件,输入以下代码:2)将工程发布到Tomcat中并启动Tomcat,在模拟器的地址栏里敲入http://localhost:9090/wap/test01.wml,观察运行效果:3)将card 标签中 title属性的属性值改为 title="首页" 并保存,观察运行效果:2、编写名为test02.wml,在其中包括两个card,并调换顺序进行显示,观察运行效果:WML 编程技术北邮3G 长沙分院3、掌握段落标签<p>及属性的使用:1) 编写名为test03.wml ,掌握<p>标签,align 属性的使用:2G ——《移动通信增值业务开发》实验手册2)编写名为test04.wml,掌握<p>标签,mode属性的使用,并观察运行效果:WML 编程技术北邮3G 长沙分院3)编写名为test05.wml ,掌握常见字符级标签的使用,并观察运行效果:2G ——《移动通信增值业务开发》实验手册4、编写名为test06.wml,学会在wml中使用table表格标签:WML 编程技术北邮3G 长沙分院5、编写名为test07.wml ,学会在wml 中使用图片<img>标签的使用,并显示:6、 编写名为test08.wml ,学会在wml 中使用跳转标签的使用:2G ——《移动通信增值业务开发》实验手册WML 编程技术北邮3G 长沙分院7、编写名为test09.wml ,学会在wml 中使用下拉列表框的使用,并显示:2G ——《移动通信增值业务开发》实验手册8、编写名为test10.wml,学会在wml中使定时标签的使用,并显示:2. 编写QQ仿真登录页面程序,并运行,观察显示效果。
彩信实验报告电信增值业务一电信增值业务一之彩信实验报告任课教师:实验地点:实验时间:小组成员:实验二网页版彩信发送页面(修改版)代码:Client.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title><script type="text/javascript">function actionEdit() {var phone =document.getElementById("phone").value;var produce =document.getElementById("produce").value;if (phone.length == 0) {alert("电话号码不能为空");return false}if (produce == -1) {alert("请选择产品");return false}return true;}</script></head><body><p align="center"> 彩信发送页面</p><form id="form1" name="form1" method="post"action="servlet/fileServlet"enctype="multipart/form-data"><table border="0" align="center"><tr><td width="35%" align="right"style="background-color: rgb(255, 128, 0);">手机号码:</td><td style="background-color: rgb(255, 128, 0);"><input type="text" name="phone" maxlength="150" size="50"></td></tr><tr><td align="right" style="background-color: rgb(255, 128, 0);">选择产品:</td><td style="background-color: rgb(255, 128, 0);"><select name="produce"><option value="-1">请选择</option><%List<String>list=(List)request.getAttribute("list");for(int i=0;i<list.size();i++){%><optionvalue="<%=list.get(i)%>"><%=list.get(i)%></option><%}%> </select></td></tr><tr align="center"><td align="right"style="background-color: rgb(255, 128, 0);"><inputtype="submit" onclick="javascript:return actionEdit()" value="发送"></td><td align="left"style="background-color: rgb(255, 128, 0);"><inputtype="reset" value="重置"></td></tr></table></form><p align="center"> 彩信填写</p><form id="form1" name="form1" method="post"action="servlet/fileServlet"enctype="multipart/form-data"><table border="0" align="center"><tr><td width="35%" align="right"style="background-color: rgb(255, 128, 128);">收件号码:</td><td style="background-color: rgb(255, 128, 128);"><input type="text"name="phoneto"maxlength="150" size="50"></td></tr><tr><td width="35%" align="right"style="background-color: rgb(255, 128, 128);">标题:</td><td style="background-color: rgb(255, 128, 128);"><input type="text" name="title" maxlength="150" size="50"></td></tr><tr><td width="5%" align="right"style="background-color: rgb(255, 128, 128);">内容:</td><td style="background-color: rgb(255, 128, 128);"><input type="text" name="test" maxlength="150" size="50"></td></tr><tr align="center"><td align="right"style="background-color: rgb(255, 128, 128);"><input type="submit" onclick="javascript:return actionEdit()" value="发送"></td><td align="left"style="background-color: rgb(255, 128, 128);"><input type="reset" value="重置"></td></tr></table></form><p align="center"> 附加文件选择</p><form id="form1" name="form1" method="post"action="servlet/fileServlet"enctype="multipart/form-data"><table border="0" align="center"><tr><td style="background-color: rgb(0, 255, 255);">上传人:</td><td style="background-color: rgb(0, 255, 255);"><input name="name" type="text" id="name"size="20" ></td></tr> <tr><td style="background-color: rgb(0, 255, 255);">上传文件:</td><td style="background-color: rgb(0, 255,255);"><input name="file" type="file" size="20" ></td> </tr> <tr><td style="background-color: rgb(0, 255,255);"></td><td style="background-color: rgb(0, 255, 255);"><input type="submit" name="submit" value="提交" ><input type="reset" name="reset" value="重置" ></td></tr></table></form></body></html>Index.jsp<%request.getRequestDispatcher("/http/MmsService").for ward(request, response);%>实验截图:实验三实验代码:MMS.javapackage com.cq.view;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.FlowLayout;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import javax.swing.*;import javax.swing.filechooser.FileFilter;import com.cq.main.ClientInit;import monUtil;import sun.misc.BASE64Encoder;public class MMS extends JFrame {private String sendAddress ="http://172.22.118.16:8080/mms/http/SendMms";private String userName = "2010214442";private String password = "123";private String serviceId = "2";private String channelId = "1";private String phone = "";private String subject = "重庆早报(20120114)";String filePath;JFrame jf = new JFrame("发彩信");//顶层容器JPanel jp = new JPanel(); //面板容器JLabel l_name = new JLabel("电话号码:");static JTextField t_name = new JTextField(10);JButton seleFile = new JButton("附件");JLabel lb = new JLabel("短信内容:");static JTextArea t_test = new JTextArea(12,18);JButton send = new JButton("发送");JButton cancel = new JButton("取消");public MMS() {jp.add(l_name);jp.add(t_name);jp.add(seleFile);jp.add(lb);jp.add(t_test);jp.add(send);jp.add(cancel);jf.add(jp);// 事件OK按钮监听seleFile.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {JFileChooser fileChooser = new JFileChooser("D:\\");int returnVal = fileChooser.showOpenDialog(fileChooser);filePath = fileChooser.getSelectedFile() .getAbsolutePath();// 这个就是你选择的文件夹的路径System.out.println(filePath);}});send.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {send(filePath);}});// 事件Cancel按钮监听cancel.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);}});jf.setVisible(true);jf.setSize(230, 350); j f.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);jf.setLocation(500, 270);}public void send(String filepath) {ClientInit client = new ClientInit();// 1.获取下发内容String content = client.getMMSContent(filepath);// "D:/test/mms.zip" // 2.下发StringBuffer sendParam = new StringBuffer();phone = t_name.getText();sendParam.append("phone=" + phone);sendParam.append("&userName=" + userName);sendParam.append("&password=" +CommonUtil.MD5Encode(password));sendParam.append("&serviceId=" + serviceId); sendParam.append("&channelId=" + channelId);sendParam.append("&subject=" + subject);sendParam.append("&content=" + content);String resp =CommonUtil.connectURL(String.valueOf(sendParam),sendAddress);System.out.println("Send MMS response:" + resp);}public String getMMSContent(String path) {String result = "";InputStream is = null;try {BASE64Encoder encoder = new BASE64Encoder();is = new FileInputStream(new File(path));byte[] bAry = new byte[is.available()];is.read(bAry);result = encoder.encode(bAry);} catch (Exception e) {System.out.println(e);} finally {if (null != is) {try {is.close();} catch (IOException e) {System.out.println(e);}}}return result;}public static void main(String[] args) {new MMS();}}ClientInit.javapackage com.cq.main;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import sun.misc.BASE64Encoder;import monUtil;public class ClientInit {private static String sendAddress ="http://172.22.118.16:8080/mms/http/SendMms";private static String userName = "2010214442";private static String password = "123";private static String serviceId = "2";private static String channelId = "1";private String phone = "187********";private String subject = "重庆早报(20120114)";public static void main(String[] args) {ClientInit client = new ClientInit();// 1.获取下发内容String content = client.getMMSContent("D:/test/mms.zip");// 2.下发StringBuffer sendParam = new StringBuffer();sendParam.append("phone=" + client.phone);sendParam.append("&userName=" + userName);sendParam.append("&password=" +CommonUtil.MD5Encode(password));sendParam.append("&serviceId=" + serviceId);sendParam.append("&channelId=" + channelId);sendParam.append("&subject=" + client.subject);sendParam.append("&content=" + content);String resp =CommonUtil.connectURL(String.valueOf(sendParam), sendAddress); System.out.println("Send MMS response:" + resp);}public String getMMSContent(String path) {String result = "";InputStream is = null;try {BASE64Encoder encoder = new BASE64Encoder();is = new FileInputStream(new File(path));byte[] bAry = new byte[is.available()];is.read(bAry);result = encoder.encode(bAry);} catch (Exception e) {System.out.println(e);} finally {if (null != is) {try {is.close();} catch (IOException e) {System.out.println(e);}}}return result;}} CommonUtil.javapackage com.cq.util;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import .HttpURLConnection;import .URL;import java.security.MessageDigest;public class CommonUtil {public static String connectURL(String commString, String address) {HttpURLConnection urlConn = null;String rec_string = "";URL url = null;try {url = new URL(address);urlConn = (HttpURLConnection) url.openConnection();urlConn.setConnectTimeout(30000);urlConn.setReadTimeout(30000);urlConn.setRequestMethod("POST");urlConn.setDoOutput(true);OutputStream out = urlConn.getOutputStream();out.write(commString.getBytes("UTF-8"));out.flush();out.close();BufferedReader rd = new BufferedReader(newInputStreamReader(urlConn.getInputStream(), "UTF-8"));StringBuffer sb = new StringBuffer();int ch;while ((ch = rd.read()) > -1) {sb.append((char) ch);}rec_string = sb.toString().trim();rd.close();} catch (Exception e) {rec_string = "-107";} finally {if (urlConn != null) {urlConn.disconnect();}}return rec_string;}public static String MD5Encode(String sourceString) {String resultString = null;try {resultString = new String(sourceString);MessageDigest md = MessageDigest.getInstance("MD5");resultString =byte2hexString(md.digest(resultString.getBytes()));} catch (Exception ex) {System.out.println(ex);}return resultString;}private static String byte2hexString(byte[] bytes) {StringBuffer bf = new StringBuffer(bytes.length * 2);for (int i = 0; i < bytes.length; i++) {if ((bytes[i] & 0xff) < 0x10) {bf.append("0");}bf.append(Long.toString(bytes[i] & 0xff, 16));}return bf.toString();}}JdbcUtil.javapackage com.cq.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcUtil {public static final int CONNTYPE_MYSQL = 1;public static Connection getConnect(String ip, String db, String user, String password) {return getConnect(CONNTYPE_MYSQL, ip, 3306, db, user, password);}public static Connection getConnect(int type, String ip, int port, String db, String user, String password) {Connection conn = null;String driver = null;String url = null;switch (type) {case CONNTYPE_MYSQL:driver = "com.mysql.jdbc.Driver";url = "jdbc:mysql://" + ip + ":" + port + "/" + db;break;}if (null != driver && null != url) {try {Class.forName(driver);conn = DriverManager.getConnection(url, user, password);} catch (Exception e) {System.out.println(e);}}return conn;}public static void closeConnect(Connection conn) {if (null != conn) {try {conn.close();} catch (SQLException e) {System.out.println(e);}}}public static ResultSet query(Connection conn, String sql) {Statement st = null;ResultSet rs = null;try {st =conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);rs = st.executeQuery(sql);} catch (Exception e) {System.out.println(e);}return rs;}}实验截图:实验四实验代码:Form1.csusing System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using ;using .Sockets;using System.IO;namespace demo{public partial class Form1 : Form{private static String sendAddress;private static String userName;private static String password;private static String serviceId;private static String channelId;public String phone;public String subject;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){textBox1.Text = "http://172.22.118.16:8080/mms/http/SendMms";textBox2.Text = "2010214787";textBox3.Text = "***";textBox4.Text = "2";textBox5.Text = "1";textBox6.Text = "186********";textBox7.Text = "重庆邮电大学欢迎您";textBox8.Text = "D:/mms.zip";comboBox1.SelectedIndex = 0;}public String getMMSContent(String path){string result="";byte[] b_data = new byte[2500];char[] c_data = new char[2500];try{lock (this){if (File.Exists(path) == false){MessageBox.Show("文件不存在", "提示信息");}else{FileStream fs = new FileStream(path, FileMode.Open);fs.Seek(0, SeekOrigin.Begin);fs.Read(b_data, 0, 2000);Decoder d = Encoding.UTF8.GetDecoder();d.GetChars(b_data, 0, b_data.Length, c_data, 0);result = new string(c_data);}}return result;}catch (IOException e){return(e.Message);}}private void button1_Click(object sender, EventArgs e){sendAddress = textBox1.Text.Trim();userName = textBox2.Text.Trim();password = textBox3.Text.Trim();serviceId = textBox4.Text.Trim();channelId = textBox5.Text.Trim();phone = textBox6.Text.Trim();subject = textBox7.Text.Trim();string path = textBox8.Text.Trim();string content = getMMSContent(path);IPEndPoint point = newIPEndPoint(IPAddress.Parse("172.22.118.16"), 8080);string sendParam = "phone=" + phone + "&userName=" + userName + "&password=" + password + "&serviceId=" + serviceId + "&channelId=" + channelId + "&subject=" + subject + "&content=" + content;try{switch (comboBox1.SelectedIndex){case 0:string data=CommonUtil.connectURL(sendParam, sendAddress); MessageBox.Show("成功发送:"+data,"结果");break;case 1:string msg=mySockets.send(sendParam, point);MessageBox.Show("返回:"+msg,"结果");break;default:MessageBox.Show("请选择正确的发送方式!", "提示信息");break;}}catch(Exception ex){MessageBox.Show(ex.Message,"警告信息"); }}private void button2_Click(object sender, EventArgs e){if (openFileDialog1.ShowDialog() == DialogResult.OK){ textBox8.Text = openFileDialog1.FileName;} }private void label2_Click(object sender, EventArgs e){ }private void label3_Click(object sender, EventArgs e){ } }}mySocket.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using ;using .Sockets;namespace demo{class mySockets{public static string send(string message,IPEndPoint point){ NetworkStream stream;byte[] buff=new byte[512];string msg = "";try{TcpClient client = new TcpClient();client.Connect(point);if (client.Connected){byte[] buff2 = Encoding.UTF8.GetBytes(message);stream = client.GetStream(); stream.Write(buff2, 0, buff2.Length);int bytes=stream.Read(buff,0,512);if(bytes>0){msg = Encoding.UTF8.GetString(buff);} client.Close(); }}catch(Exception ){throw new Exception();}return msg;} }} CommonUtil.csusing System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using ;using System.Security.Policy;namespace demo{public class CommonUtil{public static string connectURL(string cString, String address){ WebRequest wr = WebRequest.Create(address);wr.Method = "post";StringBuilder urlEncoded = new StringBuilder();byte[] somebytes = null;if (cString != null){somebytes = Encoding.UTF8.GetBytes(cString);Stream newStream = wr.GetRequestStream();newStream.Write(somebytes, 0, cString.Length);newStream.Close();}else。
WAP增值业务SP页面处理说明(Ver0.1)目录1前言 (3)2项目制作 (3)2.1项目和栏目 (3)2.1.1制作项目 (3)2.1.2制作栏目 (4)2.1.3制作一级栏目 (4)2.1.4制作二级栏目 (5)2.2栏目内容 (7)2.2.1添加图片栏目 (8)2.2.2添加音乐栏目 (10)2.2.3添加资讯栏目 (11)2.2.4添加视频栏目 (12)2.3页面的展示 (13)2.3.1手动制作的页面展示 (13)2.3.2根据栏目的信息展示 (16)3实例 (16)4总结 (17)1前言本文档将详细说明中国电信、中国移动、联合通信WAP增值业务一个项目的制作过程。
这里的项目是指接入运营商的一个W AP业务,是手机用户用手机进入中国电信互联星空主页后所看到的SP业务。
业务的属性可以是图片、铃声、视频的下载,业务也可以是一个资讯内容,本WAP平台都能轻松处理不同属性的内容。
系统设计在细节上无法满足各种不同的需求,如果需要定制则双方可以协商解决。
由于系统是4年WAP运营和技术开发的经验的总结,该平台在推出之前已经有了2年多的使用测试,在逻辑设计和易用性上都做了大量改进,希望平台能使您轻松接入各大运营商。
2项目制作您在制作一个项目之前,需要先将该项目涉及的资源上传到平台的资源管理后台,包括相应的图片、铃声或者视频,因资讯内容在项目之间重复利用的不多,故资讯只需上传到相应的项目就可以了。
2.1 项目和栏目2.1.1制作项目进入管理后台,点击项目制作管理,如下图:HELP:先添加项目,项目即业务图2点击项目制作管理点击项目管理图12.1.2制作栏目2.1.3制作一级栏目项目信息添加完毕后,在业务列表的右端点击制作栏目,如下图:点击制作栏目图3图4在这里添加项目的一级栏目信息,所添加的栏目信息包括栏目名称、栏目类别外,还会记录栏目在项目的首页页面的排版信息(手机页面的处理程序可以根据您填写的信息自动将您的栏目按您的要求输出),比如可以在栏目名称的前边、上边、左边显示一个小图标,可以定义栏目属性,免费试用或正常的计费栏目,可以定义栏目是否换行等。
中国电信WAP业务方案书(公司名称)2009年00月00日(公司LOGO)联系人:职务:电话号码:移动电话电子邮件:公司地址:邮政编码:网址:保密声明本业务方案书属商业机密,所有权属于(提供方)。
其所涉及的内容和资料只限于中国电信(接收方)使用,以增进接收方对提供方的了解,作为双方确立良好合作关系的基础。
公司名称目录1 摘要................................................................................................ 错误!未定义书签。
2 业务介绍........................................................................................ 错误!未定义书签。
2.1 业务详细描述..................................................................... 错误!未定义书签。
2.2 系统结构............................................................................. 错误!未定义书签。
2.3 功能及特征......................................................................... 错误!未定义书签。
2.4 业务设计和开发................................................................. 错误!未定义书签。
2.5使用方法2.6 业务测试............................................................................. 错误!未定义书签。
WAP(wml)开发教程WAP(无线应用协议)是在数字移动电话、因特网或其他个人数字助理机(PDA)、计算机应用之间进行通讯的开放全球标准。
它是由一系列协议组成,用来标准化无线通信设备,可用于Internet访问,包括收发电子邮件,访问WAP网站上的页面等等。
WAP将移动网络和Internet以及公司的局域网紧密地联系起来。
提供一种与网络类型、运行商和终端设备都独立的移动增值业务。
通过这种技术,无论你在何地、何时只要你需要信息,你就可以打开你的WAP手机,享受无穷无尽的网上信息或者网上资源。
如:综合新闻、天气预报、股市动态、商业报道、当前汇率等。
电子商务、网上银行也将逐一实现。
你还可以随时随地获得体育比赛结果、娱乐圈趣闻以及幽默故事,为生活增添情趣,也可以利用网上预定功能,把生活安排的有条不紊。
WAP协议包括以下几层:1、Wireless Application Environment (WAE)2、Wireless Session Layer (WSL)3、Wireless Transaction Layer (WTP)4、Wireless Transport Layer Security (WTLS)5、Wireless Transport Layer (WDP)其中,WAE层含有微型浏览器、WML 、WMLSCRIPT的解释器等等功能。
WTLS层为无线电子商务及无线加密传输数据时提供安全方面的基本功能。
WAP协议的诞生是WAP论坛成员多年努力的结果。
它是针对不同的协议层定义了一系列协议,这些协议使得各方面的厂商和公司可以协同工作,开发无线通信网络的应用。
目前有超过100个成员加入WAP论坛,包括有终端和基础设备的制造商,有移动通信的网络运营商,有业务提供商,有软件公司,也有网络内容提供商等,共同为移动设备开发服务和应用。
但是,目前由于无线网的带宽等等因素的限制,WAP手机的在多媒体上的应用如:可视会议、多媒体教学等等,还须一段时日。
中国电信SP业务申报要求一、申报时间要求(一)新增(短信、彩信、WAP、BREW)SP请通过SPOA系统(/)自行注册账号,并提交公司资质申请;新增互联网星空及全网声讯SP于线下提交公司资质,中国电信将对“申请时间”为每月2号(含2号)前申报的资质进行审批;(二)SP业务的申报分为普通业务的申报及任意指令及高资费业务(简称:特殊业务)申报;(三)普通业务及特殊业务申报均为每月6号0时至7号24时,其他时间或逾期未提交的业务申报材料不予受理;(四)业务申报期如遇节假日,将顺延为下一个工作日;(五)(短信、彩信、WAP、BREW业务)的SPOA填报注意事项请参见SPOA公告:《SPOA操作培训参考资料》和《SPOA填报指导手册》;(六)互联星空及全网声讯SP业务申报通过线下方式进行申报。
二、资质申报要求(一)企业法人营业执照原件彩色扫描件(需要最新年检章);(二)增值电信业务经营许可证原件彩色扫描件(必传首页及年检页);(三)中国电信客户服务方案书;(四)短消息类服务接入代码使用证彩色扫描件(首页及年检页);(五)接入资格其他文档(开户许可证、税务登记证打包上传)。
(六)入网信息安全保障责任书原件彩色扫描件对应上传《中国电信增值业务信息安全保障责任书》(加盖公司公章彩色扫描件上传)。
三、普通业务申报要求(一)新SP每条业务线可申报业务数量不超过5个(含5个);BREW老SP可申报业务数量不超过5个(含5个);其他业务线老SP 每条业务线可申报业务数量不超过2个(含2个);对于前期已获得接入资格,但尚未完成合同签署的SP,暂不受理其相应业务线的新业务申报;(二)短信、彩信、WAP每个业务只能申报一种计费方式,且申报业务名称不得相同。
BREW每个业务可申报多种计费方式,但按天计费和按次计费不可以同时申报;(三)新增SP业务通过率在50%(含)以上视其为申请接入成功;(四)WAP业务以下频道只允许存在1个业务:(铃声下载、音乐MV、精品靓图、动态美图、卡通动漫、聊天交友、博客、社区论坛、精品折扣、星座匹配、招聘、影视下载、新闻、时尚女性);(五)短、彩类业务的退订指令不允许使用“QX+数字”;(六)短、彩类业务点播指令(命令字)、点播方法应保证与本公司其他线上业务不冲突;(七)手机报类业务不在本次受理范围内,申报业务名称中不得出现“XX杂志”或“XX报”等字样;(八)业务审批时SP应提供正式上线的业务版本,故请各SP于申报当月的8号之前完成申报业务的所有开发工作。
中国电信WAP增值业务设计规范中国电信股份有限公司目录一、概述 (1)(一)目的 (1)(二)适用对象 (1)二、代码分配规则 (2)(一)企业代码 (2)(二)业务代码 (2)三、业务内容管理原则 (2)(一)一致性原则 (2)(二)规范性原则 (3)(三)专业性原则 (3)(四)用户体验原则 (3)(五)内容安全原则 (3)四、页面设计规范 (4)(一)终端适配规范 (4)(二)页面布局规范 (4)(三)页面元素规范 (7)(四)出错页面规范 (8)(五)页面链接规范 (8)(六)页面效果规范 (8)五、业务内容设计规范 (9)(一)浏览类业务 (9)(二)下载类业务 (10)(三)交互类业务 (11)六、业务计费规范 (11)(一)业务计费原则 (11)(二)业务计费要求 (12)七、业务性能要求 (13)八、接口和参数要求 (14)中国电信W AP业务开发规范I一、概述(一)目的本规范是对中国电信WAP SP业务设计所应遵循的原则之一。
本规范的目的是为了规范服务供应商(SP)在中国电信WAP门户上提供的应用服务而制定。
旨在提高WAP业务质量,引导SP设计出质量较高、内容较为丰富、用户体验较好、能够收费的WAP业务。
本规范是指导SP进行WAP业务设计的原则之一,提供WAP服务的SP同时必须遵循《中国电信移动增值业务合作管理办法》。
本规范将随着中国电信WAP SP业务的发展而进行修订,中国电信将及时把新修订的规范通知各服务供应商(SP),各SP应遵循当时的WAP业务设计规范进行业务设计。
本规范中未涉及到的议题,由中国电信和各SP本着相互尊重、平等互利的原则进行磋商。
本规范自颁发之日起执行。
本规范的解释权归中国电信股份有限公司所有。
(二)适用对象本规范适用于所有在中国电信WAP 门户上提供应用服务的服务供应商(SP)。
各服务供应商(SP)应按照当前版本的设计规范来开展业务。
中国电信各省分公司的WAP应用服务可参照此规范执行。
中国电信集团公司技术标准Q/CT XXXX.1-2008 中国电信BREW应用开发规范(V1.0)目录1.概述 (1)1.1.目的 (1)1.2.适用对象 (1)1.3.相关术语和缩略语 (1)2.开发前准备工作 (1)3.对用户界面要求 (2)3.1界面内容的要求 (2)3.2应用启动要求 (2)3.3屏幕布局的要求 (2)3.4界面等待处理的要求 (2)4.应用程序的要求 (3)4.1MIF设置要求 (3)4.2应用程序图标的要求 (3)4.3应用显示的要求 (4)4.4应用帮助功能的要求 (4)4.5应用关于项的要求 (4)4.6联网应用的要求 (4)4.7应用程序的兼容性要求 (5)4.8文本输入 (5)5.对特定应用的要求 (5)5.1音乐铃音应用要求 (5)5.2图片应用要求 (6)5.3定时器与报警应用要求 (6)1.概述1.1.目的本规范是对中国电信BREW业务SP业务开发所应遵循的原则之一。
本规范的目的是为了规范SP在中国电信BREW平台上提供的应用服务而制定。
本规范是指导SP进行BREW业务开发的原则之一,提供BREW服务的SP同时必须遵循《中国电信移动增值业务业务合作管理办法》。
本规范将随着中国电信BREW业务的发展而进行修订,中国电信将及时把新修订的业务规范通知各SP,各SP应遵循当时的BREW增值业务开发规范进行业务开发。
本规范中未涉及到的议题,由中国电信和各SP本着相互尊重、平等互利的原则进行磋商。
本规范自颁发之日起执行。
本规范的解释权归中国电信股份有限公司所有。
1.2.适用对象本规范适用于所有在中国电信BREW平台上提供应用服务的SP。
各SP应按照当前版本的开发规范来开展业务。
1.3.相关术语和缩略语SP:content provider/service provider 内容提供商/服务提供商UI:User Interface 用户界面DDS:Device Data Sheet,手机终端的参数表2.开发前准备工作1)开发应用前必须注册成为高通的BREW开发商,获取高通开发商互联网账号。
软件下载地址:115网盘的,可以找到用迅雷直接下载的哈
/file/e74dszw7#myeclipse.zip
Openwave:(模拟手机的软件,在网上找了很久的)
Myeclipse:(为什么要选择这个软件,而不选择eclipse,因为eclipse不提供web工程)我的工程文件
Xp 32位的操作系统,关闭防火墙
1、到软件地址下载相应软件,下载成功后,解压如图:
加压到自己想要解压的文件夹里
双击
开始安装
安装好了,好像要求输入注册码,我文件里有哈,自己输入可以用的。
另外一个文件是,汉化,不要就可以了,想汉化就汉化把
里面有详细的汉化过程,这里就不讲了
由于我已经安过了
安装成功后,开始-->程xu-->打开软件,机子有点卡,你懂就行了
软件安好后,我们开始编程了哈
软件界面如图
File-》new->web project
出来一个项目wap
等下我们编的所有文件程序都放在webroot下面
其中index.jsp是自带的
Index.wml是我们要编的wap网页
等会要再模拟手机上运行的
De.jsp,就是登陆成功后跳转的界面
.bmp结尾的是些图片,你也可以自己下些自己图片,转为.bmp,最后重命名为我这样的就不
用改代码了。
要添加这些,文件,图片也很容易
图片,直接到连接这里下,我为大家省事,可以直接下下来链接是:
直接复制到,webRoot目录下就是了
或者将你自己的名称相同的图片,赋值到webroot目录下,
添加
Index.wml
右键,出现的new,然后选择file,如图
命好名
Finish就好了
Index.wml的内容是:
<?xml version="1.0"encoding="ASCII"?>
<wml>
<card id="card1"title="QQ">
<!--加载图片-->
<img src="logo.bmp"/>
<br/>
QQ user :<input name="name"type="text"/><br/>
QQ password:<input name="password"type="password"/><br/> <anchor>
<img src="submit.bmp"/>
<go href="de.jsp"method="post">
<postfield name="name"value="$(name)"/>
<postfield name="password"value="$(password)"/> </go>
</anchor>
</card>
</wml>
然后按照刚刚的添加,de.jsp
<%@page contentType="text/vnd.wap.wml"language="java" import="java.util.*"errorPage=""%>
<?xml version="1.0"encoding="ASCII"?>
<!DOCTYPE wml PUBLIC"-//WAPFORUM//DTD WML 1.3//EN" "/DTD/wml13.dtd">
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
Random random = new Random();
request.setCharacterEncoding("Gb2312");
int index = random.nextInt(10);
String src ="image/"+ index+".bmp";
%>
<wml>
<card title="dengluchenggong"id="card">
<img src="demo.bmp"/><br/>
<img src="denglu.bmp"/><%=name%> ,hello<br/>
your password is:<%=password%><br/>
<a href="index.wml">back<<</a>
</card>
</wml>
好现在位置程序,图片编辑已经完成,如果项目那里
没有红色小叉,表示没有语法错误了
(可以忽视:现在可以启动了,我们是把程序发布到tomcat的,tomcat安装这个的时候已经默认有一个了。
所以我们可以不装。
直接用就是)
下一步操作是
在wap 右键,显示的栏目中,run as
选择myclipse server application 如图出现
表示成功了,现在这里我们就不用管了
这个手机网页已经挂载在服务器上了,我们用手机模拟器访问就是了下载下来的openwave
双击安装
随便你安装在哪里
电脑的开始,程序,看到新安的openwave_v70了吧,
点击打开
有两个页面产生了
如图
现在在这里输入网址
你懂滴
要输入什么呢?
刚刚你不是挂载服务器成功了模,现在就把这个网址复制出来,没个人的ip地址肯定不一样哈
我的是http://172.18.112.246:8080/wap/
输入打开如图
你看就是我们在电脑上可到的jsp page拉然后我们在网址后面加个index.wml http://172.18.112.246:8080/wap/index.wml 就可以访问我们编的手机网页了瞧
模拟手机操作,键盘的上下左右,可以移动,当选中qq user那个编辑框的时候安enter键进入编辑模式
如图
安enter退出编辑
按键盘下,可以编辑下面的东西了密码
如图
我输入的是密码是123456
按enter退出
按下到那个登陆按钮上,按enter
进入登陆界面
登录后:
好了我们的wap实验就做完了哈
Qq号,245002754,有啥子不懂的可以问我,在验证输入电信增值业务开发业务。