delphi XE5 ANDROID平台 调用 webservice


本文整理自网络,侵删。

 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/s/1mr09i

相关阅读 >>

Delphi10.3.2安卓sdk安装

Delphi实现网卡状态检测

Delphi 修改快捷方式

Delphi 删除指定字符串的所有实例

Delphi webbrowser 滚动条的去除、边框去除

Delphi xe intraweb 程序在iis下的发布详细教程

Delphi lastdelimiter:在字符串中查找选定的字符最后出现的位置

Delphi query1 导出csv txt

Delphi截获和干扰窗体最小化�p最大化和关闭消息

Delphi 禁止用户关闭操作系统

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...