b75fdac881c4b927cdfd1a626507e231bb68fad9
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 6s
Shared Android CI / unit-test (push) Successful in 4m24s
Shared Android CI / android-test (push) Successful in 11m43s
Shared Android CI / secrets (push) Successful in 17s
QRun-IO/ci-policy: Shared Android CI / unit-test (push) Successful in 4m5s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: Shared Android CI / gate (push) Canceled after 0s
QRun-IO/ci-policy: Shared Android CI / secrets (push) Canceled after 0s
QRun-IO/ci-policy: Shared Android CI / package (push) Canceled after 0s
QRun-IO/ci-policy: Shared Android CI / android-test (push) Canceled after 9m33s
QRun-IO/ci-policy: ci / android-0 (push) Canceled after 13m39s
QRun-IO/ci-policy: ci / ci-result (push) Failing after 6s
Shared Android CI / package (push) Successful in 4m10s
Shared Android CI / gate (push) Successful in 13s
QRun Android lifecycle / release (push) Successful in 34m32s
qqq-android
Android client library for QQQ applications.
For: Developers building native Android apps that connect to QQQ backends
Status: Experimental
Why This Exists
QQQ applications expose REST APIs that any client can consume. For Android apps that need to interact with QQQ backends, this library provides typed clients and UI components that understand QQQ's metadata model.
Features
- API Client - Typed client for QQQ REST endpoints
- Metadata Loading - Fetch table and field definitions
- Record Operations - Query, insert, update, delete records
- Process Execution - Run backend processes from Android
Quick Start
Prerequisites
- Android Studio
- Android SDK 26+
- QQQ backend running
Installation
Add to build.gradle:
dependencies {
implementation 'io.qrun:qqq-android:0.1.0'
}
Configuration
val client = QqqClient.Builder()
.baseUrl("https://your-qqq-app.com")
.build()
Basic Usage
// Fetch records
val orders = client.query("order")
.filter("status", "pending")
.limit(20)
.execute()
// Create record
val newOrder = client.insert("order", mapOf(
"customerName" to "Acme Corp",
"total" to 100.00
))
// Run process
client.runProcess("orderSync")
Usage
Authentication
val client = QqqClient.Builder()
.baseUrl("https://your-qqq-app.com")
.authToken("your-api-token")
.build()
Querying Records
// With filters
val results = client.query("customer")
.filter("status", Operator.EQUALS, "active")
.filter("createdDate", Operator.GREATER_THAN, "2024-01-01")
.orderBy("name", SortOrder.ASC)
.execute()
// Get single record
val customer = client.get("customer", 123)
Modifying Records
// Update
client.update("order", 123, mapOf(
"status" to "shipped"
))
// Delete
client.delete("order", 123)
Project Status
Experimental. Core functionality is being developed.
Roadmap
- Offline caching
- Background sync
- UI components for common patterns
- Kotlin coroutines support
Contributing
- Fork the repository
- Create a feature branch
- Submit a pull request
License
Apache-2.0 - See LICENSE for details.
Description
Android SDK and sample apps for QQQ backends.
Readme
Apache-2.0
8.1 MiB
0 Stars
3 Watchers
0 Forks
Languages
Kotlin
92.7%
JavaScript
7%
Java
0.2%