Добавьте двух пользователей для разбора объекта и запроса
-
20-12-2019 - |
Вопрос
Я хочу создать объект разбора с двумя пользователями и запросить объект, используя оба пользователя.My Get другой пользователь возвращает другой пользователь, который я хочу добавить в группу.
String id;
final ParseUser[] user = new ParseUser[1];
public void getOtherUser()
{
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", "amanda");
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
user[0] = objects.get(0);
addUserGroup();
} else {
// Something went wrong.
}
}
});
}
.
Моя добавление группы создана объект разбора как пользователей
private void addUserGroup()
{
final ParseObject group = new ParseObject("UserGroup");
group.put("from", ParseUser.getCurrentUser());
group.put("to", user[0]);
group.saveInBackground((new SaveCallback() {
public void done(ParseException e) {
id = group.getObjectId();
}
}));
}
.
После того, как Ive сделал это, я хочу иметь возможность обновить объект разбора новым контентом и запросом для объекта на основе обоих пользователей.Следующий Mehtod нарушает меня, хотя и я не уверен, почему.
private void getData()
{
final double[] result = {0};
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserGroup");
query.whereEqualTo("from",ParseUser.getCurrentUser() );
query.whereEqualTo("to", user);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> commentList, ParseException e) {
Log.d("found", "woohoo");
}
});
.
Возвращая следующую ошибку java.lang.illegalargumentException: неверный тип для parseObject: класс [lcom.parse.parleuser;
Никто знает, почему это может происходить?
Решение
При вызове parseuser.getcurrentUser () Parse return return recture объект пользователя.Теперь предполагая, что вы хотите запросить имена пользователей, вам нужно изменить Parseuser.getCurrentUser () в Parseuser.getCurrentUser (). GetUsername ()
private void addUserGroup()
{
final ParseObject group = new ParseObject("UserGroup");
group.put("from", ParseUser.getCurrentUser().getUsername());
group.put("to", user[0]);
group.saveInBackground((new SaveCallback() {
public void done(ParseException e) {
id = group.getObjectId();
}
}));
}
private void getData()
{
final double[] result = {0};
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserGroup");
query.whereEqualTo("from",ParseUser.getCurrentUser().getUsername() );
query.whereEqualTo("to", user);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> commentList, ParseException e) {
Log.d("found", "woohoo");
}
});
}
.