Pregunta

Quiero crear un objeto de parse con dos usuarios y consultas para el objeto utilizando ambos usuarios.Mi método Otro de usuario devuelve al otro usuario que quiero agregar al grupo.

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.
            }
        }
    });
}

My Agregar grupo de usuarios creó un objeto de parse con ambos usuarios

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();
        }
    }));

}

Después de haber hecho esto, quiero poder actualizar el objeto Parse con un nuevo contenido y consulta para el objeto en función de los dos usuarios.Sin embargo, el siguiente Mehtod me está rompiendo y no estoy seguro de por qué.

 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");
        }
    });

está devolviendo el siguiente error Java.lang.illegalArgentException: Tipo no válido para Parsobject: Clase [LCOM.PARSE.PAREUSER;

¿Alguien sabe por qué esto podría estar sucediendo?

¿Fue útil?

Solución

Cuando llame al parseuser.getcurrentuser () analiza un objeto de usuario.Ahora suponiendo que desea consultar los nombres de usuario que necesita para cambiar el parseuser.getcurrentuser () a 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");
        } 
    }); 
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top