Android使用Ice进行数据请求

由于项目需求以后需要使用Zeroc Ice,所以对改内容进行了一下简单学习,如果有错误希望大家纠正。由于本人的是windows系统,所以就以此为例(由于官方需要加载了Google的Js,所以你懂得)

1.去官网下载 ice

https://zeroc.com/downloads/ice
下载完成安装(配置Ice-3.7.0/bin路径),然后用cmd打开命令界面,输入slice2java -v
返回版本号,证明配置成功

2.用Slice生成java文件

由于我们后端已经定义好了ice文件的接口,我只需要把接口文件用slice语言生产java文件就行了,这里可以使用bat命令
这里写图片描述

slice2java --output-dir generated EmsIceInterface.ice
::copy .\generated\*.java

执行之后会在generated文件夹下生产java文件

3.配置Android项目

3.1首先在app目录下的build.gradle添加

dependencies {
 compile 'com.zeroc:ice:3.7.0'
 }

如何不想这样也可以以第三方加载ice.jar,下载地址
http://download.csdn.net/download/bingsman/10147688
3.2然后将2中生成的java文件复制到src/main/java文件夹下

4.开始使用ice进行数据请求

注意Android的http请求需要在子线程中

 Runnable mRunnable = new Runnable() {
            @Override
            public void run() {
                try(com.zeroc.Ice.Communicator communicator 
                    = com.zeroc.Ice.Util.initialize())
                {
                    com.zeroc.Ice.ObjectPrx base = communicator.stringToProxy("SimplePrinterCreater:ws -h 192.168.16.216 -p 6788");//请求的协议以及你的Ip和端口,我这是websocket所以是ws
                    printer = Ems.FontInterfacePrx.checkedCast(base);//本地ice object的代理对象
                    if(printer == null)
                    {
                        throw new Error("Invalid proxy");
                    }
                    int a  = printer.GetNodeLevel(tokens[1], "linkID");//后台定义的ice方法
                    System.out.println(a);             
                };
            }
        };
        new Thread(mRunnable).start();

已经可以通信了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记住我的名字啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值