AllJoyn-跨平台方法调用返回值为键值对(Maps)
2016-04-22 11:47
295 查看
AllJoyn-跨平台方法调用返回值为键值对(Maps)
依然以android为service,以windows为client,增加返回值为maps的方法。
service端增加:
map里边的键值对无序的,所以出来的顺序和放入键值对的顺序不一致。
依然以android为service,以windows为client,增加返回值为maps的方法。
service端增加:
@BusMethod HashMap<Integer,String> catMap(String a,String b) throws BusException;实现增加:
public HashMap<Integer,String> catMap(String a,String b){ HashMap<Integer,String> temp=new HashMap<>(); temp.put(a.length(),a); temp.put(2,b); return temp; }client增加接口方法:
<span style="white-space:pre"> </span>testIntf->AddMethod("catMap", "ss", "a{is}", "inStr1,inStr2,outStrAE", 0);client方法调用,解析maps代码如下:
//maps printf("%s\n",reply->GetSignature()); MsgArg *entries; size_t num; reply->GetArgs("a{is}", &num, &entries); for (size_t i = 0; i < num; i++) { char *str1; char *str2; uint32_t key; status = entries[i].Get("{is}", &key, &str1); printf("%d-%s\n", key, str1); if (status == ER_BUS_SIGNATURE_MISMATCH) { status = entries[i].Get("{i(ss)}", &key, &str1, &str2); } }下面看下实现效果:
map里边的键值对无序的,所以出来的顺序和放入键值对的顺序不一致。
相关文章推荐
- easyui常用控件及样式收藏
- 前端图片预览
- EMMA学习总结
- 编译性语言&解释性语言
- 推荐两款移动开发者服务
- 面试中的二叉树题
- app 两端出现黑色,不能全屏
- Hbase Table already exists问题
- 【POJ 3415】Common Substrings 长度不小于k的公共子串的个数
- WEB系统架构
- python urllib、urlparse、urllib2、cookielib
- hibernate---联合主键关联
- 自定义初学5——自定义View显示图片
- 23种设计模式分类+SOLID设计原则+从设计模式角度看MVC框架
- 小米引爆用户参与感有哪些值得借签的法则?
- C++第4次实验项目2-学生类
- android layout_gravity和gravity的区别
- 《疯狂Java讲义(第3版)》.(李刚)——运算符
- 从APP产品原型七步搞定APP设计
- Hibernate单表操作