1

私は、Android マップ アプリを動作させるために (数日間) 試みてきました。このアプリはオフラインで動作する必要があり、小さな都市を表示することにしか興味がありません。私の選択肢をすべて見て試してみたところ、Nutiteq、特にオフラインの MBTiles オプションが最適なようです。すべてを設定し、 TileMill を使用してダウンロードした .mbtiles ファイルを使用すると次のエラーが発生します。

No such table android_metadata

ダウンロードした .mbtile ファイルにはこのテーブルがなく、このクエリを作成したクラスを見つけることができません (なぜそれが必要なのかを誰かが説明できれば素晴らしい!!!); Navicat で .mbtile ファイルを更新して、en_US 値を持つ目的のロケール列を含むこのテーブルを追加しようとしましたが、次のログ エラー メッセージが表示されます。

can't upgrade read-only database from version 0 to 1

私の質問は次のとおりです。

  • この android_metadata クエリ全体をバイパスする方法はありますか? つまり、.mbtile に含まれていない場合、後で必要になるのはなぜですか?
  • バイパスをお勧めしない場合、アップグレードされたデータベースで 2 番目のエラーを修正するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

アップグレード中にデータベースを変更しようとしていますか? 読み取り専用の場合は、おそらく変更できません。ただし、新しいものを作成して、古いものから新しいものにデータをコピーすることはできます。

于 2013-09-30T15:35:23.010 に答える