Il problema e' che questo tipo di soluzione non e' sempre ottimale perche' appesantisce l'apk e poi crea una duplicazione dello spazio disco perche' di fatto il file contenuto dentro assets viene copiato solo la prima volta sulla SD e poi diventa inutile
//copy from assets to sd card AssetManager assetManager = getAssets(); String[] files = null; try { files = assetManager.list(""); } catch (IOException e){ } for (String filename : files){ InputStream in = null; OutputStream out = null; File osmdir = new File(Environment.getExternalStorageDirectory(),"osmdroid"); if (!osmdir.exists()) osmdir.mkdirs(); try { in = assetManager.open(filename); out = new FileOutputStream(Environment.getExternalStorageDirectory()+"/osmdroid/"+filename); byte[] buffer = new byte[1024]; int read; while ((read=in.read(buffer))!=-1){ out.write(buffer,0,read); } } catch (IOException e){} }
Nessun commento:
Posta un commento