2016-02-29 24 views
1

我正在使用Syncano最新的Android SDK(4.0.6)。 有沒有辦法使用參數進行異步查詢?使用'where()'過濾器的Syncano異步查詢

Syncano.please(User.class).where() 

沒有異步運行的方法。

Syncano.getInstance().getObjects(User.class) 

其中有 'sendAsync()',但沒有 '其中()' 約束。

文件規定:

Syncano.please(User.class).getAsync(callback); 

但我沒有看到它在代碼中只有GETALL()。

回答

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

     } 
    }); 

你是正確的,異步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<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) { 

     } 
    }); 
+0

哦,謝謝沒有意識到setWhereFilter()是我尋找。 –