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 –