2013-07-02 4 views
0

Просто интересно, можно ли добавить сохраненные фрагменты карты из мобильного атласа в проект вместо SD-карты?Сохранение картографической плитки OSM в проекте приложения

Я хочу, чтобы плитки карты были доступны в приложении, которое я выпущу. Это бесплатное приложение на рынке Android.

Картофельные плитки разделены на 4 ZIP-файла, можно ли их использовать и использовать в файле проекта, или мне нужен он-лайн сервер для их загрузки.

Любая помощь будет большим

Спасибо

ответ

0

Одним вариантов является использование папки активов для хранения файлов, а затем скопировать их в свою личную папку приложения данных. Что-то вроде этого должно работать. Это копирует базу данных, но вы можете адаптировать ее для копирования ваших zip-файлов.

/** 
* Copies your database from your local assets-folder to the just created empty database in the 
* system folder, from where it can be accessed and handled. This is done by transfering 
* bytestream. 
* */ 
private void copyDataBase() throws IOException { 

    // Open your local db as the input stream 
    InputStream myInput = mContext.getAssets().open(DB_NAME); 

    // Path to the just created empty db 
    String outFileName = DB_PATH.toString(); 
    // boolean success = DB_PATH.mkdirs(); 

    // Open the empty db as the output stream 
    OutputStream myOutput = new FileOutputStream(outFileName); 

    // transfer bytes from the inputfile to the outputfile 
    byte[] buffer = new byte[1024]; 
    int length; 
    while ((length = myInput.read(buffer)) > 0) { 
     myOutput.write(buffer, 0, length); 
    } 

    // Close the streams 
    myOutput.flush(); 
    myOutput.close(); 
    myInput.close(); 

} 
Смежные вопросы