XE5 ANDROID平台 调用 webservice
服务端需要midas.dll
XE5对android的平台支持很有吸引力,虽然目前用来直接开发应用到安卓市场卖赚钱可能性估计不大(安卓市场目前国内好像都是免费的天下),但是对于企业应用很是很有帮助的,比如开发一个手机客户端随时查询企业erp等管理软件的数据库!
webservice以前基本没有接触,恶补了几天,服务端用ro开发比较快捷(ro下载请自己baidu)
一,服务端开发:
1,打开delphi xe(服务端我用的是xe开发的,因为目前还没有出支持xe5的ro)
新建工程---RO sdk--vcl standalone--建立成功
2,工程打开后,在ide的菜单ro中选择edit serverice library
3,打开ServerForm,删除上面的2个控件,并添加TROIpHTTPServer(属性中可以设置端口), TROSOAPMessage 2个控件,设置TROIpHTTPServer的 dispatchers属性,绑定TROSOAPMessage
4,默认已经添加了了哇library 和newservice,我们一切按默认,用的是默认的一个函数sum,2个数求和
5,打开NewService_Impl,实现sum的具体代码:Result:=a+b;
6,运行服务端
打开浏览器测试:http://127.0.0.1:8099/soap
8099是我步骤3中设置的端口号,应该可以看到xml文件,说明服务端成功
二、服务端开发
1,打开xe5(为了测试android平台,客户端用xe5开发了)
2,新建项目-选择fm 移动项目
3,添加THTTPRIO控件
4,导入wsdl---
添加项目---web service --import wsdl
弹出向导对话框
这步遇到了问题
填入我服务端开发的soap地址,点击下一步,最后弹出错误,原因不明
解决方法,回到xe开发服务端的界面,打开ide菜单ro中选择edit serverice library
选择view -wsdl-save as 操作保存 wsdl文件
回到xe5中的导入wsdl文件对话框,改为直接选择上面的wsdl文件,成功得到soap_1.pas
在unit1.pas中添加soap_1.pas引用
5,在界面添加2个edit,1个lable,一个button
添加button的clickdaima
procedure TForm1.Button1Click(Sender: TObject);
begin
HTTPRIO1.URL:='http://192.168.1.103:8099/SOAP';
Label1.Text:=IntToStr((HTTPRIO1 as NewService).Sum(StrToInt(Edit1.Text),strtoint(Edit2.Text)));
end;
6,发布至android平台测试(注意保证android平台与电脑的网络连通)
代码下载地址http://pan.baidu.com/share/link?shareid=1383305444&uk=4127515284
我抛砖引玉
服务端需要midas.dll
XE5 ANDROID平台 调用 webservice的更多相关文章
- 在Android中使用Android Ksoap2调用WebService
一.WebService介绍 WebService是基于SOAP协议可实现web服务器与web服务器之间的通信,因采用SOAP协议传送XML数据具有平台无关性,也是成为解决异构平台之间通信的重要解决方 ...
- 在Android中调用WebService
某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...
- android之调用webservice 实现图片上传
转:http://www.cnblogs.com/top5/archive/2012/02/16/2354517.html public void testUpload(){ try{ String ...
- 转--Android中调用webservice的工具类
最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...
- CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
今天从书上和CSDN上找了几个关于android调用webservice的样例,这些样例从代码来看.没不论什么错误,可是就是执行不成功.分析了android调用web接口的写法,发现这些样例在调用的时 ...
- XE5 ANDROID通过webservice访问操作MSSQL数据库
上接XE5 ANDROID平台 调用 webservice 一.服务端 在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider) function TN ...
- 在Android 中使用KSOAP2调用WebService
WebService 是一种基于SOAP协议的远程调用标准.通过WebService可以将不同操作系统平台,不同语言.不同技术整合到一起.在Android SDK中并没有提供调用WebService的 ...
- 在Android中调用C#写的WebService(附源代码)
由于项目中要使用Android调用C#写的WebService,于是便有了这篇文章.在学习的过程中,发现在C#中直接调用WebService方便得多,直接添加一个引用,便可以直接使用将WebServi ...
- 【Android进阶】Android调用WebService的实现
最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...
随机推荐
- H - 高桥和低桥
H - 高桥和低桥 Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Submit Sta ...
- ConcurrentHashMap 源码解析 -- Java 容器
ConcurrentHashMap的整个结构是一个Segment数组,每个数组由单独的一个锁组成,Segment继承了ReentrantLock. 然后每个Segment中的结构又是类似于HashTa ...
- Node.js module.exports和exports的区别
require 用来加载代码,而 exports 和 module.exports 则用来导出代码,从接触node.js就不会它们两陌生,上代码: foo.js exports.a = functio ...
- WampServer下修改和重置MySQL密码(转)
转自:www.2cto.com/database/201504/387589.html WampServer安装后密码是空的, 修改一般有两种方式: 一是通过phpMyAdmin直接修改: 二是使用W ...
- SQLite的查询
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- MyBatis(3.2.3) - ResultMaps: Extending ResultMaps
ResultMaps are used to map the SQL SELECT statement's results to JavaBeans properties. We can define ...
- Win8、Win10进入SQL server配置管理器
使用 WIN8.WIN10 访问 SQL Server 配置管理器 因为 SQL Server 配置管理器是 Microsoft 管理控制台程序的一个管理单元而不是单独的程序,所以,当运行 Windo ...
- ios自动滚动图片功能源码
源码AdScrollerView,一个已经封装好的UIScrollView的子类,可以自动滚动图片以及对应的描述语,类似淘宝app首页的广告滚动效果.滚动图片数量不限,并且显示pageControl. ...
- 动态磁盘恢复为基本磁盘--DiskGenius
近日在老电脑中安装了Win8.1,想不到使用起来比Win7还流畅. 周末,手贱,由于C盘只有10GB,为主分区,D盘有40GB,为扩展分区,想要将C.D两个分区合二为一,在Win8.1的磁盘管理器中, ...
- 【Unix环境高级编程】编写变长参数函数
文件的格式输入输出函数都支持变长参数.定义时,变长参数列表通过省略号'...'表示, 因此函数定义格式为: type 函数名(parm1, parm2,parmN,...); Unix的变长参数通过v ...