2017-02-23 68 views
0

我有表任务: enter image description hereBackendless中“内部客户端异常”的原因是什么?

我想在这个表中的记录。但有一个BackendlessException { code: 'Internal client exception', message: 'null' }

这里是我的代码:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_task); 

    Backendless.initApp(getApplicationContext() ,APP_ID, SECRET_KEY, VERSION); 


    BackendlessCollection<Task> tasks = Backendless.Data.of(Task.class).find(); 

    System.out.println("Size " + tasks.getCurrentPage().size()); 


    Iterator<Task> iterator = tasks.getCurrentPage().iterator(); 

    while (iterator.hasNext()) 
    { 
     Task t = iterator.next(); 
     System.out.println("Question = " + t.getQuestion()); 
     System.out.println("Answer = " + t.getAnswer()); 
    } 





} 

Task.class:

public class Task { 
    public String Question ; 
    public String Answer ; 
    public String ownerId ; 
    public String objectId ; 
    public Date created ; 
    public Date updated ; 
    public Task() 
    { 

    } 
    public Task(String Question ,String Answer) 
    { 
     this.Question = Question ; 
     this.Answer = Answer ; 

    } 




} 

我学到Backendless文档此查询。这个错误的原因是什么?如何避免这个错误?在从Backedless检索数据之前是否有一些规则要知道?

回答

0

你的主UI线程调用同步(阻塞)API在这里:

BackendlessCollection<Task> tasks = Backendless.Data.of(Task.class).find(); 

为了避免错误,可以创建一个单独的线程,并在那里使用API​​,或改变呼叫到异步版本。

API documentation说:

Android应用程序无法在主UI线程 使用同步的API。原因是主线程不允许阻塞 调用。由于API请求执行基于网络的通信,因此 自然会阻塞。因此,在使用Backendless API时,确保使用异步版本的方法或创建新的 线程并使用其中的同步API

相关问题