Wie starte ich Spatialite auf Android?


11

Weiß jemand, ob es möglich ist, Spatialite auf Android zum Laufen zu bringen? Speziell für Android 2.1 oder 2.2.

Ich habe im Internet gesurft, und obwohl dies technisch möglich erscheint, konnte ich keine Verfahren, Tutorials, Beispiele usw. finden, um dies zu erreichen. Ich bin neu in der Android-Entwicklung. Je einfacher die Anweisungen, desto besser.

Alle Tipps, Kommentare, Warnungen sind willkommen.

Antworten:


7

Ich konnte es nicht für Android sagen, aber ich konnte es für iOS tun.

Sie müssen berücksichtigen, dass für Spatialite native GEOS- und PROJ4-Bibliotheken erforderlich sind, um ordnungsgemäß zu funktionieren (für räumliche Indizes). Daher müssen diese auch kompiliert werden.

Die von Spatialite benötigte SQLite-Version kann sich auch von der auf der Plattform verteilten Version unterscheiden (dies ist unter iOS der Fall: Die SQLite-Version ist zu alt, um direkt von Spatialite verwendet zu werden). Deshalb ist dies der richtige Weg ist es, die "Amalgation" -Version von Spatialite (die auch SQLite einkapselt) zu erhalten und daraus zu kompilieren.

http://www.gaia-gis.it/spatialite/sources.html

Auf der Spatialite-Site gibt es einen kurzen Hinweis mit Informationen zum Erstellen von Spatialite: http://www.gaia-gis.it/spatialite/how_to_build_libspatialite.html

Für GEOS und PROJ4 sollten Sie sie problemlos aus den mit dem Projekt gelieferten Skripten kompilieren können. Selbst wenn die Kompilierung mit den Skripten gut lief, hatte ich zur Laufzeit einige Nebenwirkungen mit doppeltem Typ (einige waren NaN), sodass ich sie direkt in XCode (der iOS-Entwicklerumgebung) kompilierte und das Laufzeitverhalten war OK dann.


1
Cool. Ist diese App im App Store?
Ragi Yaser Burhum

Haben Sie auch GEOS hinzugefügt?
Ragi Yaser Burhum

Sie sollten ein Buch yonel schreiben. Ich kann nicht genug von dieser Hoffnung bekommen, die Sie verkünden, alle anderen scheinen zu glauben, dass dies fast unmöglich ist
boulder_ruby




2

Wenn Sie als etwas sachkundiger, aber nicht erfahrener Android-Benutzer sprechen, müssten Sie Spatialite für Android kompilieren. Denken Sie daran, Ihr Android-Handy ist eine Headless-Linux-Maschine, so dass es möglich wäre, aber Sie müssten kompilieren. Ich empfehle das NDK (das native Entwicklungskit für Android (http://developer.android.com/sdk/ndk/index.html)).

Ich hoffe, das hilft...


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.