我正在parse.com android应用程序上工作,我想从UserInfo表中获取数据,通过.GetCurrentUser从_User表中获取数据非常容易,但是我无法从UserInfo表中获取数据,例如ObjectId等列。下面给出了我的一些代码片段,其中我想从UserInfo表中获取数据。为了更好地理解表,下面还会提供附加的快照。
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserInfo");
// query.whereEqualTo("userName",user_name);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> categoryAttributes, ParseException e) {
if (e == null) {
for (int i = 0; i < categoryAttributes.size(); i++){
}
}
else {
Log.d("score", "Error: " + e.getMessage());
// Alert.alertOneBtn(getActivity(),"Something went wrong!");
}
}
});
最佳答案
我使用了query.find()
,但是您很想创建一个AsyncTask
。
使用query.findInBackground()
的方法将是下一个:
//String id = "AnyID";
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserInfo");
// query.whereEqualTo("objectId", id);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> categoryAttributes, ParseException e) {
if (e == null) {
for (ParseObject ob: categoryAttributes){
Log.d("DATA", "ObjectID: " + ob.getObjectId());
Log.d("DATA", "Column1: " + ob.getString("NameColumn"));
Log.d("DATA", "Column2: " + ob.getString("NameColumn"));
Log.d("DATA", "Column3: " + ob.getString("NameColumn"));
}
}
else {
Log.d("DATA", "Error: " + e.getMessage());
// Alert.alertOneBtn(getActivity(),"Something went wrong!");
}
}
});
我不能给她其他表的名字,但这是从解析表中获取数据的方法,你也可以看到注释了一种通过表ID查找对象的方法。
String id = "AnyID";
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserInfo");
query.whereEqualTo("objectId", id);
希望这是您想要的。