1
我是非常新的异步编程。我正在读取Json数组中的数据库的所有数据,然后在观察者中从我调用另一个观察者的位置迭代它以将数据发送到server.But问题是我只接收json数组的第一个值,然后它终止。有没有什么东西出现在Rx java中来处理这件事情?我想从json数组中向服务器发送一个值。我应该使用flatmapiterable将数据返回给serverpost观察者吗?还是应该使用其他技术?Android:在for循环中调用Observer并返回值
这里是我的代码:
return getdatafromDb().flatMap(new Func1<String, Observable<String>>() {
public Observable<String> call(String data) {
try {
JSONArray jsonarray = new JSONObject(data).getJSONArray("sql_data");
for (int i = 0; i < jsonarray.length(); i++) {
datamaker.money = (Double) jsonarray.getJSONObject(i).get("money");
datamaker.income = (Double) jsonarray.getJSONObject(i).get("income");
datamaker.tag = (String) jsonarray.getJSONObject(i).get("tag");
return serverpost(datamaker); //this calls another observer to post data to server
}
} catch (JSONException e) {
e.printStackTrace();
}
return nothing;
}
});
没问题谢谢。是否有可能让你没有lambda表达式? – SimpleMan
这是留给读者的一个练习:-D –