1
如果我在.png.tile中有拼貼。是否有可能包含它與.apk。 我的目的是在我從市場下載應用程序之後,當我打開應用程序時,它應該顯示至少1個國家(可能不是很大)的每個圖塊和每個縮放級別。 PS。我使用OSM。 PS.2對不起我的英文語法。離線地圖包含在.apk文件中
編輯:一個國家可能太大。 也許只是一個省或一個州和一些縮放級別。
編輯2:這是我使用的功能,我能做些什麼inputstream非常感謝你。
AssetManager assetManager = getAssets();
try {
files = assetManager.list("Map");
} catch (IOException e) {
Log.e("tag", e.getMessage());
}
try {
firstField = (EditText) findViewById(R.id.firstId);
firstField.setText(Integer.toString(files.length)
+ " file. File name is " + files[0]);
} catch (Exception e) {
e.printStackTrace();
}
try {
inputStream = assetManager.open("Map/mapnik.zip");
// String s = null;
// s = readTextFile(inputStream);
// secondField = (EditText) findViewById(R.id.secondId);
// secondField.setText(s);
} catch (IOException e) {
Toast.makeText(this, "Error" + e.toString(), Toast.LENGTH_SHORT)
.show();
}
感謝您的快速回復。我所要做的就是使用assetManager打包瓷磚地圖,並且當我在onCreate中打開應用程序時,我必須讀取getAsset()並再次寫入到sdcard中?我理解對嗎? – majorl3oat 2012-03-06 02:39:15
差不多。您不使用資產管理器來獲取apk中的資產,只需在構建apk文件之前將該文件放入資產文件夾即可;它會被構建過程自動打包。此外,您不一定需要將資產複製到您的SD卡以使用它,您可能可以直接使用它;它可以打開到InputStream。 – mah 2012-03-06 11:25:09
對不起,我離線幾天了。我現在完全理解你的評論。但是,如果我有一個Mapnik.zip文件,並且此文件需要在/ sdcard/osmdroid中解壓縮,我可以從資產中獲取此zip文件,並將此文件解壓縮到我之前提到的目錄中?我谷歌關於這一點,並發現只有inputStream讀取txt文件。非常感謝你。 – majorl3oat 2012-03-09 01:20:09