I am trying to implement pagination in recyclerview but all documents data is loaded. I want to limit this data and load data by "timestamp" and limit to 6. I am working on java not kotlin please always put tutorials for java also.
https://appwrite.io/docs/client/databases?sdk=android-java#databasesListDocuments Have you looked at this by any chance? There are docs for Java on the website as well
i have alrady read this
i am asking about pagination
no reference for java there
only kotlin
Okay I see what you mean, but there isn't much difference between languages. If you look through the available examples of Web, Flutter, Android and Apple, you will see that it's pretty much the same code.
The main thing you need to worry about for pagination are the queries you pass into the databases.listDocuments
endpoint. I haven't used Kotlin or Java in a long time so can't be a 100% certain about this, but the changes would be very minimal.
You just need to follow the endpoint guides for the Java SDK, and you should be good
import io.appwrite.Client;
import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setProject("5df5acd0d48c2"); // Your project ID
Databases databases = new Databases(client);
page1 = databases.listDocuments(
"[DATABASE_ID]",
"[COLLECTION_ID]",
[
Query.limit(25),
Query.offset(0)
]
);
page2 = databases.listDocuments(
"[DATABASE_ID]",
"[COLLECTION_ID]",
[
Query.limit(25),
Query.offset(25)
]
);
This should be the code for Java. Keep in mind I haven't used Java in a really long time so there might be a few mistakes
Regardless, the idea of pagination is that you set the number of documents you want to get in each page, let's say 25. First you get the first 25 documents which is why in the above code, the Query.limit
value is set to 25, and Query.offset
is set to 0. The offset query is used to skip a specific number of documents from the start. That's why in the second page, we set the offset to 25 because we already got the first 25 documents, and get the next 25 documents.
I would suggest you to read up on the different queries that Appwrite has to offer and what each of them do. https://appwrite.io/docs/queries#query-class
Hi @Akshaydeep is this resolved for you? if so, I shall close the post
Recommended threads
- Seed db
hello there... is this correct way to seed appwrite
- Query Appwrite
Hello, I have a question regarding Queries in Appwrite. If I have a string "YYYY-MM", how can I query the $createdAt column to match this filter?
- custom domain with CloudFlare
Hi all, it seems that CloudFlare has blocked cross-domain CNAME link which made my app hostname which is in CloudFlare, unable to create a CNAME pointing to clo...