sqflite_spatial_android 1.0.0 copy "sqflite_spatial_android: ^1.0.0" to clipboard
sqflite_spatial_android: ^1.0.0 copied to clipboard

PlatformAndroid

Android implementation of sqflite_spatial, using a SpatiaLite-enabled native SQLite engine (org.spatialite.database) instead of the Android framework's built-in SQLite. Forked from sqflite_android.

1.0.0 #

  • Initial release of sqflite_spatial_android, forked from sqflite_android 3.0.0-dev (itself forked from sqflite_android 2.4.3).
  • Replaces the native SQLite engine (android.database.sqlite.SQLiteDatabase) with a SpatiaLite-enabled fork (org.spatialite.database.SQLiteDatabase from io.github.ev-map:android-spatialite), enabling geospatial storage, indexing and querying (see package:sqflite_spatial's openSpatialDatabase and SqfliteDatabaseSpatialiteExt). The MethodChannel wire protocol is unchanged, so existing non-spatial sqflite code keeps working as-is.
  • Raises minSdk from 19 to 21, required by the vendored native library.
  • Adds ~6MB per ABI to the built APK/AAB for the bundled native library (SQLite 3.49.1, SpatiaLite 4.3.0a, GEOS, Proj4, lwgeom; Apache 2.0). See README.md "Native binary provenance".
  • Verified on a real Android 16 (API 36) emulator: all 8 spatial operations (metadata init, WKT insert/round-trip, distance, nearest, contains, intersects, bounding-box, v1->v2 migration) produce correct results end-to-end.
  • Known regressions found via the same on-device run, not yet fixed (see README.md "Trade-offs to be aware of"):
    • androidSetLocale/COLLATE LOCALIZED no longer reorders rows by locale-aware collation.
    • openReadOnlyDatabase on a non-existent file path no longer throws — it now succeeds instead of failing as it does with the framework SQLite.
    • A failed open no longer surfaces the specific ERROR_OPEN_FAILED code (falls back to a generic SQLITE_ERROR), since SQLiteCantOpenDatabaseException is never thrown by this engine.

2.4.3 #

  • Updates minimum supported SDK version to Flutter 3.44 / Dart 3.12.
  • Migrates to built-in Kotlin.

2.4.2+3 #

  • Use compile statement for insert/update and delete to avoid invalid result in wal mode
  • Requires dart 3.10

2.4.2+2 #

  • Requires compile SDK 36
  • Requires dart 3.9

2.4.1 #

  • Requires dart 3.7

2.4.0 #

  • Initial implementation from sqflite v2.3.3+2
0
likes
150
points
11
downloads

Documentation

API reference

Publisher

verified publisherjulianosouza.dev

Weekly Downloads

Android implementation of sqflite_spatial, using a SpatiaLite-enabled native SQLite engine (org.spatialite.database) instead of the Android framework's built-in SQLite. Forked from sqflite_android.

Repository (GitHub)
View/report issues

Topics

#sql #database

Funding

Consider supporting this project:

github.com

License

BSD-2-Clause (license)

Dependencies

flutter, path, sqflite_common, sqflite_platform_interface

More

Packages that depend on sqflite_spatial_android

Packages that implement sqflite_spatial_android