3

こんにちは
、Parse をいじっています。Users と Posts という 2 つのクラス/テーブルを持つクラウド データベースを作成できました。ユーザーを登録してログインし、データベースに投稿できるようにしました。
現在、データベースにクエリを実行して投稿されたデータを取得する方法を考えています。私の Posts クラス/テーブルは 4 つの列で構成されています。オブジェクト ID | テキスト | ユーザー | | で作成されました。
「テキスト」列に保持されているすべてのデータをアプリで選択して表示できるようにしたいと考えています。私はデータベースの経験がほとんどないので、これがばかげた質問であれば申し訳ありません。

これまでのコード:

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
    query.findInBackground(new FindCallback<ParseObject>() {

        @Override
        public void done(List<ParseObject> text, ParseException e) {

            if (e == null) {


                 Toast.makeText(MainActivity.this, text.toString(), Toast.LENGTH_LONG).show();

            }

            else {

                Toast.makeText(MainActivity.this, "query error: " + e, Toast.LENGTH_LONG).show();
            }

        }
    });

クエリを「テキスト」列のデータのみに制限する必要があることはわかっているため、明らかに 1 行目と 2 行目の間にコード行

がありません。ありがとう。

4

1 に答える 1

5

解析 API から

キーのコレクションを指定して selectKeys を呼び出すと、返されるフィールドを制限できます。score フィールドと playerName フィールド (および objectId、createdAt、updatedAt などの特別な組み込みフィールド) のみを含むドキュメントを取得するには:

   ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
   query.selectKeys(Arrays.asList("playerName", "score"));
   List<ParseObject> results = query.find();

したがって、テキスト フィールドを取得するには、次の手順を実行する必要があります。

ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
query.selectKeys(Arrays.asList("text"));
    query.findInBackground(new FindCallback<ParseObject>() {

        @Override
        public void done(List<ParseObject> posts, ParseException e) {

            if (e == null) {
                List<String> postTexts = new ArrayList<String>();
                for(ParseObject post : posts){
                   postTexts.add(post.getString("text"));
                }
                Toast.makeText(MainActivity.this, postTexts.toString(), Toast.LENGTH_LONG).show();
            }

            else {
                Toast.makeText(MainActivity.this, "query error: " + e, Toast.LENGTH_LONG).show();

            }

        }
    });

APIリファレンス

ドキュメント参照(「配列値のクエリ」という見出しの直前)

于 2015-03-16T10:51:34.267 に答える