分享好友 最新资讯首页 最新资讯分类 切换频道
DELPHI XE5开发WEB服务器及安卓手机客户端手机服务「DELPHI XE5开发WEB服务器及安卓手机客户端」
2025-01-11 20:06

558×384

 

558×418

2、选择 stand-alone vcl application

523×511

3、这里使用 默认端口8080

524×512

4、选择创建接口

561×300

5、给服务起个名字

448×206

6、点ok后保存工程,保存为目录如下:

273×219

7、至此为止,什么代码都不写,点击运行,我们看到

407×262

8、启动并点击 open browser按钮在浏览器里看到916×395

 

一个web服务就创建完成了。

 

接下来创建一个返回数据集的过程,用webservices发布,供手机端调用。这里我使用firedac

1、打开上一篇自动创建的WebModule

   然后分别拖放以下数据连接控件

    FDConnection1:firedac连接数据库的
    FDPhysMSSQLDriverLink1: 数据驱动 选的是sqlserver ,另外还有 db2 ,oracle,acess ,excel ,sqllite,mysql等
    FDQuery1: 相当于adoquery
    DataSetProvider1:delphi的provider
    ClientDataSet1: delphi的我最喜欢的cds

 2、数据库的连接

     首先用  FDConnection1 连接sqlserver服务器,在控件上邮件 设置一下信息

      543×599

     3、其他数据控件连接

        FDquery1已经自动连上了connection,我们在sql里写以下语句

634×445

         接下来 DataSetProvider1 连好fdquery1,clientdataset1的providername选择 DataSetProvider1

 

 

  4、在WebModule 中的public中实现以下代码

   function TAndroidWM.GetEmployee_Mi: widestring;
    begin
     with clientdataset1 do
     begin
       close;
       open;
       result:=xmldata;
       close;
     end;
    end;

  5、在AdroidServicesImpl.pas 引用WebModule 的接口实现的public单元实现以下代码

     function GetEmployee_mi:widestring;stdcall;

      function TAdroidServices.GetEmployee_mi: string;
    var
      dm:TAndroidWM;
    begin
      dm:=TAndroidWM.Create(nil);
      result:=dm.GetEmployee_Mi;
      dm.Free;
   end;

6、在 AdroidServicesIntf.pas 单元实现以下代码

 

type

  IAdroidServices = interface(IInvokable)   ['{9B1596C5-AD43-4849-830E-0B82D8BAA043}']  

  function GetEmployee_mi:widestring;stdcall;  

  end;

 

  6、运行server 查看webservice是否实现了GetEmployee_mi服务

     684×415

    服务端至此完成,实现了用clientdataset的xmldata返回数据集的过程,当然您可以对返回的xml进行压缩和解压缩的操作,减小网络传输压力。

 

我们把供手机端调用的web服务完成,接下来实现手机端调用webservices获取数据

 

1、新建firemonkey mobile application

560×370

2、选择blank application

   780×593

3、这里选择分辨率,我用的手机是三星的p3100,没别的优点 就是大,7寸的屏,我女儿管这个叫平板手机  O(∩_∩)O~

825×522

4、界面布局摆放如下: 

1359×355

5、绑定数据集

   xe5中使用livebingding来绑定数据集,没有datasource熟悉了,理论上所有的控件都可以绑定数据集。

   先在clintdataset中添加字段

       745×456

依次添加 code ,name ,py_code 三个字段,然后选中grid,点击264×37,然后将dataset拖拉到grid中:如图

1081×591

当然,您要选择clientdataset1下的这个*号再拖拽,,这就完成了绑定。。。

 然后调整列宽等选项。

 

 界面就这样吧,继续。。。,先启动咱们上几片文章建立的手机服务端

          405×266

    导入webservices单元,file->new->other->webservices->选择 wsdlimporter

      824×444

   输入wsdl地址  http://localhost:8080/wsdl/IAdroidServices

      527×417

 

之后施展一路回车大法,只到生成一个单元文件保存并在手机窗体单元中引用。

在窗体上的按钮的click事件中实现以下代码:

procedure TForm1.button1Click(Sender: TObject);
  var
  ws:IAdroidServices;
  s:string;
begin
  ws:=GetIAdroidServices(true,'http://10.110.0.56:8080/soap/IAdroidServices',nil);   //参数中可以使用配置的url
  s:=ws.GetEmployee_mi;
  if length(s)<>0 then
  clientdataset1.xmldata:=s;
end;

 

   可以在win32平台上先测试一下,如图:

630×596

 win32平台上没问题 ok,接下来target选择我的 大平板手机 O(∩_∩)O~ ,p3100

运行如下:

278×442

 

最新文章
苹果数据线横评 到底要怎样才能选出一款好的数据线手机显示充电但是充不进去怎么办「苹果数据线横评 到底要怎样才能选出一款好的数据线」
  【PConline 横评】苹果手机娇贵这件事不是一天两天了,苹果手机好用,性能强劲,但是苹果手机娇贵这件事确实是不争的事实。
苹果怎么改苹果手机怎么设置「苹果怎么改」
当我们拿到一部全新的iPhone时,除了其卓越的性能和精美的设计外,如何根据个人喜好进行个性化设置也是每位用户关注的焦点。接下
不睡在一张床上的,都是空巢情侣没有手机的日子「不睡在一张床上的,都是空巢情侣」
Party MonsterThe Weeknd - Starboy一个人去医院本来也没什么要紧,但打着点滴被通知家属缴费的时候,还是心酸。深夜加班回到家
东方财富终端东方手机财富网「东方财富终端」
  DDE决策怎么看?  DDE决策系统采用最先进的“云计算”技术,实时整合沪深高速行情及成交数据,通过海量运算和智能统计构建
ipad内存不够怎么扩充手机内存不够怎么清理「ipad内存不够怎么扩充」
iPad作为苹果公司的明星产品,凭借其出色的性能和便捷的操作赢得了众多用户的喜爱。然而,随着使用时间的增长,不少用户都会遇到
5G手机争霸战:降价、微距拍摄轰炸,能提振销售吗?手机轰炸「5G手机争霸战:降价、微距拍摄轰炸,能提振销售吗?」
  中新网客户端北京4月9日电(记者 吴涛)近日,一批新款5G手机开售,价格也不断触底。去年5G手机上万元的消息让人难以忘记,现
3299元的骁龙8Gen3手机?红米K70 Pro:狠起来连小米14都不放过红米3手机「3299元的骁龙8Gen3手机?红米K70 Pro:狠起来连小米14都不放过」
谁能想到,就在小米14系列首发骁龙8Gen3后不久,红米K70Pro也正式宣布搭载骁龙8Gen3,并于11月29日19:00发布,而且这次产品力将
iphone连接电脑无反应 原因有哪些苹果手机连电脑「iphone连接电脑无反应 原因有哪些」
  iPhone手机在全球都得到了广泛的认可,而且受到了青少年以及中年人群的强烈欢迎。很多人在使用iPhone手机的时候,都会遇到各
【原】苹果手机怎么分屏?苹果手机如何分屏「【原】苹果手机怎么分屏?」
分屏是很常见的手机功能,手机的分屏功能为用户提供了更加便捷的操作体验,使用户能够更好地进行多任务处理,提高工作效率。例如
如何还原记事本中已删除的内容手机记事本「如何还原记事本中已删除的内容」
记事本是很多人在使用的生活和工作辅助工具,手机和电脑上都可以使用。电脑上有自带的记事本功能;手机上即便没有记事本,也有便