Skip to content
CrossFly is 100% open sourceFollow us on GitHub
CrossFlyCrossFly
Get started

This documentation is currently available in Portuguese. English and other languages are on the way.

Data & Services

Data & Services

State, persistence (SQLite), networking and device integrations (camera, GPS, Bluetooth BLE, biometrics, maps) in CrossFly.

How-to🟡
State management

The CrossFly state pattern — no reactive binding, manual ViewModel + onUI + repaint.

How-to🟡
Persistence with SQLite

SqliteDb / SqliteStmt / SqliteCursor — CRUD, transactions, bulk writes and encryption.

How-to🟡
Files and "preferences"

Lightweight persistence has been removed — what to use instead (SQLite kv or a file in homeFolder).

How-to🟡
Networking and HTTP

No high-level HTTP client — use java.net/OkHttp off the paint thread, JSON with Jackson.

How-to🟡
Camera and barcode

Capture photo/video with Camera.shot() and read codes with CameraBarcode.readBarcode.

How-to🟡
Location and GPS

Location (live), LocationService (background) and GPSThread (continuous) — with the right units.

How-to🔴
Bluetooth BLE / GATT

The asynchronous BLE/GATT stack (BluetoothManager) that replaced JSR-82/SPP.

How-to🟡
Biometrics

Portable biometric authentication with Biometry.isAvailable() and authenticate(...).

How-to🟢
Device sound and utilities

The rest of the Device facade — beep, vibrate, clipboard, wireless radios, TTS/STT, platform.

How-to🟡
Maps

MapContainer, pins, shapes, routes and utilities — with the key, null and thread pitfalls.

How-to🟡
Background work

The CrossFly threading pattern — Thread/executor off the paint thread, re-entering with onUI.