使用 'where()' 过滤器的 Syncano 异步查询
Syncano async query with 'where()' filter
我正在使用 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()。
你可以在使用 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() 时缺少 async 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) {
}
});
我正在使用 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()。
你可以在使用 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() 时缺少 async 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) { } });