所以我能够将事物正确地存储到Parse数据库中,但是我对如何使用Parse正确查询事物感到困惑。这是我尝试查询字符串并返回它的方法。如果你们能提供帮助,我们将非常感激!
[]
}
然后在另一个活动中,我只是想干看那个查询,看看我是否收到了那个字符串。
public String query()
{
ParseQuery<ParseObject> query = ParseQuery.getQuery("TestObject");
query.findInBackground(new FindCallback<ParseObject>() //Runs a new thread here.
{
@Override
public void done(List<ParseObject> list, ParseException e)
{
cardName = Global_Class.getInstance().getValue().grabUserCardNameString = testObject.getString("McDonald");
}
});
return cardName;
}
答案 0 :(得分:0)
您是否尝试过这些代码路径?
从文档中,您应该首先寻找答案。 https://parse.com/docs/android/api/(搜索FindCallBack)
由于FindCallBack<>
执行新的后台线程,所以uithread不会等待它完成。
因此,方法query()
不会等待后台线程的结果。这就是cardName
将返回方法query()
范围之外的任何值的原因。
这就是Toast消息为空的原因。
您需要做的是在done()
方法中,要么包含对所选活动的回调方法,要么在done()
方法中执行Toast消息。您将需要在done方法范围内的上下文来执行此操作。