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
- NEW ERROR Invalid document structure: At...
Error: ```AppwriteException: document_invalid_structure, Invalid document structure: Attribute "pb.kmsgxPkgInfo.id_info" must be an array (400)``` I’m encounter...
- DB connection | Got timeout reading comm...
When looking at the logs of `appwrite-mariadb` I'm seeing a lot of: ``` 2026-04-09 7:37:28 10 [Warning] Aborted connection 10 to db: 'appwrite' user: 'appwrit...
- Invalid document structure: Unknown attr...
Environment: Dart version: 3.5.1 dart_appwrite: 13.0.0 I’ve already created the database structure using a Dart function. I can create data records using cloud...