在构建json时,尤其是循环构建数组时,有些key需要动态获取值,而这些值需要通过调用webapi即时获取,但是4.0以后是异步了,不能等待得到数值再构建json,请问应该用何种方式来实现?
例如,
jsonarray jarray = new jsonarray;
for(int i=0;i<5;i+x){
jsonobject json = new jsonobject();
json.put("id",1001);
json.put("name",getName(1001));//getName为调用webapi获取名字的方法
jarray.add(json);
}
请问这种情况如何构建json获取即时变量?
那你应该用handle 等你的数据回调了。再构建你的json保证数据一致性呀。
用ajax异步通信获取数据。
建议整个逻辑全部放到子线程处理
获取值成功之后,可以使用handle将数据切到主线程处理。
至于handle的使用,可以百度很多的
另外推荐线程调度框架rxjava也可以
或者kotlin协程都可以做到的