diff --git a/README.md b/README.md
index c15bc26..db65d39 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ repositories {
Next, add the dependency to your project's `build.gradle(.kts)` file:
```groovy
-implementation("io.appwrite:sdk-for-android:8.2.0")
+implementation("io.appwrite:sdk-for-android:8.2.2")
```
### Maven
@@ -49,7 +49,7 @@ Add this to your project's `pom.xml` file:
io.appwrite
sdk-for-android
- 8.2.0
+ 8.2.2
```
@@ -140,6 +140,7 @@ val user = account.create(
The Appwrite Android SDK provides type safety when working with database documents through generic methods. Methods like `listDocuments`, `getDocument`, and others accept a `nestedType` parameter that allows you to specify your custom model type for full type safety.
+**Kotlin:**
```kotlin
data class Book(
val name: String,
@@ -167,6 +168,60 @@ try {
}
```
+**Java:**
+```java
+public class Book {
+ private String name;
+ private String author;
+ private String releaseYear;
+ private String category;
+ private List genre;
+ private boolean isCheckedOut;
+
+ // Constructor
+ public Book(String name, String author, boolean isCheckedOut) {
+ this.name = name;
+ this.author = author;
+ this.isCheckedOut = isCheckedOut;
+ }
+
+ // Getters and setters
+ public String getName() { return name; }
+ public void setName(String name) { this.name = name; }
+
+ public String getAuthor() { return author; }
+ public void setAuthor(String author) { this.author = author; }
+
+ public String getReleaseYear() { return releaseYear; }
+ public void setReleaseYear(String releaseYear) { this.releaseYear = releaseYear; }
+
+ public String getCategory() { return category; }
+ public void setCategory(String category) { this.category = category; }
+
+ public List getGenre() { return genre; }
+ public void setGenre(List genre) { this.genre = genre; }
+
+ public boolean isCheckedOut() { return isCheckedOut; }
+ public void setCheckedOut(boolean checkedOut) { isCheckedOut = checkedOut; }
+}
+
+Databases databases = new Databases(client);
+
+try {
+ DocumentList documents = databases.listDocuments(
+ "your-database-id",
+ "your-collection-id",
+ Book.class // Pass in your custom model type
+ );
+
+ for (Book book : documents.getDocuments()) {
+ Log.d("Appwrite", "Book: " + book.getName() + " by " + book.getAuthor()); // Now you have full type safety
+ }
+} catch (AppwriteException e) {
+ Log.e("Appwrite", e.getMessage() != null ? e.getMessage() : "Unknown error");
+}
+```
+
**Tip**: You can use the `appwrite types` command to automatically generate model definitions based on your Appwrite database schema. Learn more about [type generation](https://appwrite.io/docs/products/databases/type-generation).
### Working with Model Methods
diff --git a/docs/examples/java/functions/create-execution.md b/docs/examples/java/functions/create-execution.md
index c138b0e..06c5027 100644
--- a/docs/examples/java/functions/create-execution.md
+++ b/docs/examples/java/functions/create-execution.md
@@ -15,7 +15,7 @@ functions.createExecution(
"", // path (optional)
ExecutionMethod.GET, // method (optional)
mapOf( "a" to "b" ), // headers (optional)
- "", // scheduledAt (optional)
+ "", // scheduledAt (optional)
new CoroutineCallback<>((result, error) -> {
if (error != null) {
error.printStackTrace();
diff --git a/docs/examples/kotlin/functions/create-execution.md b/docs/examples/kotlin/functions/create-execution.md
index cb7c60b..5e1950b 100644
--- a/docs/examples/kotlin/functions/create-execution.md
+++ b/docs/examples/kotlin/functions/create-execution.md
@@ -15,5 +15,5 @@ val result = functions.createExecution(
path = "", // (optional)
method = ExecutionMethod.GET, // (optional)
headers = mapOf( "a" to "b" ), // (optional)
- scheduledAt = "", // (optional)
+ scheduledAt = "", // (optional)
)
\ No newline at end of file
diff --git a/library/src/main/java/io/appwrite/Client.kt b/library/src/main/java/io/appwrite/Client.kt
index bf0480f..1dbeda8 100644
--- a/library/src/main/java/io/appwrite/Client.kt
+++ b/library/src/main/java/io/appwrite/Client.kt
@@ -87,7 +87,7 @@ class Client @JvmOverloads constructor(
"x-sdk-name" to "Android",
"x-sdk-platform" to "client",
"x-sdk-language" to "android",
- "x-sdk-version" to "8.2.0",
+ "x-sdk-version" to "8.2.2",
"x-appwrite-response-format" to "1.7.0"
)
config = mutableMapOf()