2016-08-04 15 views
0

Wir haben kürzlich die Kartendatei in unserer Offline-App aktualisiert, um eine zusätzliche Zoomstufe zu unterstützen. Jetzt kann die App die Ressource im Raw-Ordner jedoch nicht finden.Gibt es eine Größenbeschränkung für eine MBTiles-Datei?

Die vorherige Karte war um 550MB.

Das neue ist 1,2 GB.

Die App stürzt ab, an dieser Linie jetzt:

InputStream is = getResources().openRawResource(R.raw.fire_map); 

Mit dieser Linie in der logcat: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.ir.mobilemap/org.ir.mobilemap.IRMobileMapActivity}: android.content.res.Resources$NotFoundException: File res/raw/fire_map.mbtiles from drawable resource ID #0x7f060003

Getestet habe ich es mehrere Male und ich kann das Problem nicht finden, auf die alte Karte zurückkehrt funktioniert einwandfrei. Gibt es Einschränkungen, die mir nicht bekannt sind, oder ist das Problem woanders?

+0

gibt es nicht von einer Osmdroid-Perspektive, können Sie die Decke für APK-Dateien in rohe obwohl. Ich habe bemerkt, dass MOBAC 1GB max Mbtiles db macht. Erwägen Sie die Verwendung von SQLite? – spy

+0

@spy Ich habe nie MOBAC benutzt, und ich bin ziemlich sicher, dass ich SQLite benutze. –

+0

@spy Könnte das Problem auftreten, wenn die Datei von TileMill generiert wird? –

Antwort

1

Sie sind wahrscheinlich an der Decke für maximale Dateigröße in einem APK. Möglicherweise können Sie es kompilieren und verpacken, aber das Lesen funktioniert möglicherweise nicht.

Einige Lösungen:

  • die Größe Datenbank reduzieren
  • Kopieren Sie den Inhalt der Datei aus rohen auf einem lokalen Speicher bei Anwendung bootup, dann auf die Datenbank zugreifen (n) aus dem Dateisystem. Dies funktioniert in Ihrem Fall nicht, da Sie die Datei nicht öffnen können.
  • Laden Sie die Datenbank in den lokalen Speicher herunter, nachdem Ihre App installiert wurde.
+0

In einer lizenzierten App im Play Store-Szenario werden die zusätzlichen Daten (".obb") nach der Installation von ".apk" heruntergeladen. Ich wollte auf Entwicklungsniveau nicht weiter darauf eingehen, aber es sieht so aus, als müsste ich eintauchen. –

Verwandte Themen