Syncano异步查询与' where()'过滤

时间:2016-02-29 12:57:46

标签: android syncano

我使用的是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()。

1 个答案:

答案 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) {

       }
   });