Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

QRun-IO/qqq-android

Open more actions menu

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

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

License

AGPL-3.0 - Kingsrook, LLC

About

Android SDK and sample apps for QQQ backends.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.