2016-08-04 25 views
0

最近、追加のズームレベルをサポートするためにオフラインアプリでマップファイルをアップグレードしましたが、アプリは未加工フォルダ内のリソースを見つけることができません。MBTilesファイルにはサイズ制限がありますか?

前のマップは約550MBでした。

新しいものは1.2GBです。 logcatにこの行では

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

今、このラインでアプリがクラッシュ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

私はそれを複数回テストし、私は昔のマップに戻す、問題を見つけることができません完全にうまく動作します。私が気づいていない制限がありますか、それとも別の問題ですか?

+0

osmdroidの観点からはありませんが、APKファイルの天井には生のものがあります。私は、MOBACが最大1メガバイトのMbtilesを作っていることに気付きました。 sqliteの使用を検討しますか? – spy

+0

@spy私はMOBACを一度も使用していませんでしたが、私はSQLiteを使用していると確信しています。 –

+0

@spyフ​​ァイルがTileMillから生成されているときに問題はありますか? –

答えて

1

APK内のファイルサイズを最大にするには天井にぶつかっていると思われます。あなたはそれをコンパイルしてパッケージ化することができるかもしれませんが、それを読むことはうまくいかないかもしれません。

数溶液:

  • は、データベースのサイズ
  • を減らしコピーアプリケーションの起動時に生からローカルストレージにファイルの内容は、ファイル・システムからデータベースをアクセスします。ファイルを開くことができないため、この場合は動作しません。
  • アプリケーションのインストール後にデータベースをローカルストレージにダウンロードします。
+0

プレイストアシナリオのライセンス付きアプリでは、追加データ( '.obb')は '.apk'インストール後にダウンロードされます。私は開発レベルでそれ以上に進んでいきたいとは思っていませんでしたが、私は潜入しなければならないように見えます。 –