我使用的是Syncano最新的Android SDK(4.0.6)。 有没有办法让参数进行异步查询?
Syncano.please(User.class).where()
没有方法可以异步运行它。
但是
Syncano.getInstance().getObjects(User.class)
其中包含sendAsync()'但是没有' where()'约束
文档指定:
Syncano.please(User.class).getAsync(callback);
但我不会在代码中看到它只有getAll()。
答案 0 :(得分:3)
使用please()时可以进行异步调用。只需传递SyncanoCallback对象。
Syncano.please(Item.class).get(new SyncanoListCallback<Item>() { @Override public void success(ResponseGetList<Item> response, List<Item> result) { } @Override public void failure(ResponseGetList<Item> response) { } });
使用where()时缺少异步get()方法是对的。它必须在库中修复,但无论如何都可以保存对RequestBuilder的引用。
RequestBuilder<Item> please = Syncano.please(Item.class); please.where().eq(Item.COLUMN_NUMBER, 11); please.get(new SyncanoListCallback<Item>() { @Override public void success(ResponseGetList<Item> response, List<Item> result) { } @Override public void failure(ResponseGetList<Item> response) { } });
你也可以使用where(),而不使用please()。它看起来像这样:
Where<Item> where = new Where<>(); where.eq(Item.COLUMN_NUMBER, 11); Syncano.getInstance().getObjects(Item.class).setWhereFilter(where).sendAsync(new SyncanoListCallback<Item>() { @Override public void success(ResponseGetList<Item> response, List<Item> result) { } @Override public void failure(ResponseGetList<Item> response) { } });