一、WebServices
WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用。
WebService开发
可以分为服务器端开发和客户端开发两个方面:
服务端开发
:把公司内部系统的业务方法发布成WebService服务,供远程合作单位和个人调用。
客户端开发
:调用别人发布的WebService服务,大多数人从事的开发都属于这个方面,例如,调用天气预报WebService服务。
WebService的工作调用原理
:
(1)
对
客户端
而言,我们给这各类WebService客户端API传递wsdl文件的url地址,这些API就会创建出底层的代理类,我调用这些代理,就可以访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再通过HTTP协议发出去,并把接收到的soap数据变成返回值返回。
(2)
对
服务端
而言,各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。
1、概念
WebService:
WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
XML+XSD,SOAP和WSDL
就是构成WebService平台的三大技术。
SOA:
先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构
SOAP:
WSDL:实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web 应用程序的可靠访问。SOAP协议 = HTTP协议 + XML数据格式
WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。
2、
与HttpService的区别
httpservice通过post和get得到你想要的东西
webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型
3、代码
环境配好之后可以用下面七个步骤来调用WebService方法:
第一步:实例化SoapObject对象,指定webService的命名空间(从相关WSDL文档中可以查看命名空间),以及调用方法名称。
第二步:假设方法有参数的话,设置调用方法参数:
第三步:设置SOAP请求信息(参数部分为SOAP协议版本号,与你要调用的webService中版本号一致),获得序列化的Envelope
第四步:注册Envelope(不太确定)
第五步:构建传输对象,并指明WSDL文档URL:
第六步:调用WebService(其中参数为1:命名空间+方法名称,2:Envelope对象)
第七步:解析返回数据
/**
* 手机号段归属地查询
*
* @param phoneSec 手机号段
*/
public void getRemoteInfo(String phoneSec) {
// 命名空间
String nameSpace = "http://WebXml.com.cn/";
// 调用的方法名称
String methodName = "getMobileCodeInfo";
// EndPoint
String endPoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";
// SOAP Action
String soapAction = "http://WebXml.com.cn/getMobileCodeInfo";
// 第一步:指定WebService的命名空间和调用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);
// 第二步:设置需调用WebService接口需要传入的两个参数mobileCode、userId
rpc.addProperty("mobileCode", phoneSec);
rpc.addProperty("userId", "");
// 第三步:生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = rpc;
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = true;
// 等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
//
第五步:构建传输对象,并指明WSDL文档URL:HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 第六步:调用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}
// 第七步:获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
String result = object.getProperty(0).toString();
// 将WebService返回的结果显示在TextView中
resultView.setText(result);
}
}
二、FTP
三、SVG
在Android中可以使用VectorDrawable类绘制矢量图
SVG:W3C推荐的网页图形格式,类似于Flash,SVG是一种描述二维矢量图形的标记语言,
但它是一种开发的以XML为基础的语言,不是一种私有语言。
在Android中,提供了一种VectorDrawable类来使用svg,http://inloop.github.io/svg2android/
该网站可将svg转换为可供android使用的以vector为节点的xml文件
对于动画:
在以vector为节点的xml文件中,将包含动画效果的每个片段包含在一个<group>标签当中
为每个动画类型创建animator文件
四、加密算法
1、MD5:信息摘要算法,数字签名应用,不可逆
2、RSA:非对称加密算法,公钥加密,私钥解密,既能用于数据加密也能用于数字签名的算法,可逆
3、DES:对称加密算法