4

こんにちは、なぜこのコードが機能しないのか疑問に思っていました。特定のユーザーを見つけるために ParseUser のユーザー名フィールドを照会しようとしていますが、見つからないと言い続けています。

private void findUserName(String user) {
        // query the User database to find the passed in user
        ParseQuery query = ParseUser.getQuery();
        query.whereEqualTo("username", user);
        query.findInBackground(new FindCallback() {
            @Override
            public void done(List<ParseObject> objects, ParseException e) {
                foundUser = (objects.size() != 0);
            }
        });
    }

これがそれを呼び出す私のメソッドです

if (!foundUser) {
    errorMessage.setText("Invalid user name");
}

foundUser は、メソッドで返すことができなかったため、フィールドです...

4

2 に答える 2

15

Parse は、User オブジェクトを Parse オブジェクトとは別に扱います。List<ParseUser>の代わりに使用する必要がありList<ParseObject>ます。Parse Android ガイドでは、例https://parse.com/docs/android_guide#users-queryingを提供しています。where句を使用したParseの例を次に示します。

ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", user);
query.findInBackground(new FindCallback<ParseUser>() {
  public void done(List<ParseUser> objects, ParseException e) {
    if (e == null) {
        // The query was successful.
    } else {
        // Something went wrong.
    }
  }
});
于 2013-09-15T04:41:39.987 に答える
1

現在のユーザーを取得したい場合は、これが役立つ場合があります。

String currentUser = ParseUser.getCurrentUser().getUsername();
于 2014-05-15T00:49:49.150 に答える