ParseObject中的解析查询问题

时间:2019-05-08 18:42:04

标签: android parse-platform parse-server parse-android-sdk

我在查询时遇到问题。

documentation

根据idChatSeleccionadoAppUsuario(KYLmvSGP1…),我想在此处完成的工作是,我可以在列表中包含所有消息和User(Usuario)。 到目前为止,这是我尝试过的:

 ParseQuery<ParseObject> query = ParseQuery.getQuery("Conversaciones");
    queryChat=ParseObject.createWithoutData("Chat",idChatSeleccionadoAppUsuario);
    query.whereEqualTo("ChatId", queryChat);
    query.include("Usuario");
    query.include("ChatId");
    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> objects, ParseException e) {
            for (ParseObject obj : objects) {
                mensaje = obj.getString("Mensaje");
                Log.i("UFF", "Este es el mensaje" + mensaje);

                enviaMensaje = (ParseUser) obj.get("Usuario");
                Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());

                chatId = obj.getParseObject("ChatId");
                Log.i("UFF", "Este es el id del chat---->:" + chatId);
                //idChatSeleccionado=chatId.getObjectId();
                listaDeMensajes.add(obj);


            }
            mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
            mMessageRecycler.setAdapter(mMessageAdapter);
            queryFromChat();


        }
    });

}

也尝试过这个:

 ParseQuery query = ParseQuery.getQuery(“Conversaciones”);
    query.whereEqualTo(“ChatId”, idChatSeleccionadoAppUsuario);
    query.include(“Usuario”);
    query.include(“ChatId”);
    query.findInBackground(new FindCallback() {
    @Override
    public void done(List objects, ParseException e) {
    for (ParseObject obj : objects) {
    mensaje = obj.getString(“Mensaje”);
    Log.i(“UFF”, “Este es el mensaje” + mensaje);
     enviaMensaje = (ParseUser) obj.get("Usuario");
                    Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());

                chatId = obj.getParseObject("ChatId");
                Log.i("UFF", "Este es el id del chat---->:" + chatId);
                //idChatSeleccionado=chatId.getObjectId();
                listaDeMensajes.add(obj);


            }
            mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
            mMessageRecycler.setAdapter(mMessageAdapter);
            queryFromChat();


        }
    });

  }

此刻,两个都返回listaDeMensajes = 0

1 个答案:

答案 0 :(得分:1)

最后,这是检索查询的方式...一直都是,但是这篇文章可以帮助很多人...

ParseQuery<ParseObject> query = ParseQuery.getQuery("Conversaciones");
    queryChat=ParseObject.createWithoutData("Chat",idChatSeleccionadoAppUsuario);
    query.whereEqualTo("ChatId", queryChat);
    query.include("Usuario");
    query.include("ChatId");
    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> objects, ParseException e) {
            for (ParseObject obj : objects) {
                mensaje = obj.getString("Mensaje");
                Log.i("UFF", "Este es el mensaje" + mensaje);

                enviaMensaje = (ParseUser) obj.get("Usuario");
                Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());

                chatId = obj.getParseObject("ChatId");
                Log.i("UFF", "Este es el id del chat---->:" + chatId);
                //idChatSeleccionado=chatId.getObjectId();
                listaDeMensajes.add(obj);


            }
            mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
            mMessageRecycler.setAdapter(mMessageAdapter);
            queryFromChat();


        }
    });

}
相关问题