JohnyHawkAhsan
JohnyHawkAhsan

Reputation: 7

Backendless collection not availabe and cannot be accessed

I'm trying to migrate a Parse project to Backendless. Therefore, I'm following a Tutorial to learn Backendless. The Tutorial is by Samantha Squires, and it's on Youtube. Until now, everything was going along very well until I've reached here. addFriends is a function which searches Backendless Data base for 2 friends and add them, but the query doesn't seem to work, even though the official documentation has this exact same query.

private void addFriends (String firstUserName, String secondUserName){
        query.setWhereClause(String.format("name = '%s' or name = '%s'", firstUserName, secondUserName));

        Backendless.Persistence.of(BackendlessUser.class).find(query, new AsyncCallback<BackendlessCollection<BackendlessUser>>() {
            @Override
            public void handleResponse(BackendlessCollection<BackendlessUser> response) {

            }

            @Override
            public void handleFault(BackendlessFault fault) {

            }
        });

But BackendlessCollection doesn't seem to be like a valid class. I tried everything and I even tried everything but I cannot find BackendlessCollection.

When I leave my code as suggested by Android studio's IDE

 private void addFriends (String firstUserName, String secondUserName){
        //Find both users
        //Return all users where the name equals firstUserName and name equals secondUserName
        query.setWhereClause(String.format("name = '%s' or name = '%s'", firstUserName, secondUserName));

        Backendless.Persistence.of(BackendlessUser.class).find(query, new AsyncCallback<List<BackendlessUser>>() {
            @Override
            public void handleResponse(List<BackendlessUser> response) {

            }

            @Override
            public void handleFault(BackendlessFault fault) {

            }
        });

When I do that, I get an error message on query.

Wrong 1st argument type. Found: 'com.backendless.persistence.BackendlessDataQuery', required: 'com.backendless.persistence.DataQueryBuilder'

Upvotes: 0

Views: 260

Answers (1)

scadge
scadge

Reputation: 9723

BackendlessCollection was available in version 3.x only, which is about to be stopped. In version 4 you should use a built-in java Collection or List. You can find the complete v4 documentation here: https://backendless.com/docs/android/doc.html

Your code for version 4 should look similar to the following:

DataQueryBuilder queryBuilder = DataQueryBuilder.create();
queryBuilder.setWhereClause( String.format("name = '%s' or name = '%s'", firstUserName, secondUserName) );

Backendless.Data.of( BackendlessUser.class ).find( queryBuilder, new AsyncCallback<List<BackendlessUser>>() {
            @Override
            public void handleResponse(List<BackendlessUser> response) {

            }

            @Override
            public void handleFault(BackendlessFault fault) {

            }
        });

Upvotes: 0

Related Questions