I need to know the string path to a file on assets folder, because I'm using a map API that needs to receive a string path, and my maps must be stored on assets folder
This is the code i'm trying:
    MapView mapView = new MapView(this);     mapView.setClickable(true);     mapView.setBuiltInZoomControls(true);     mapView.setMapFile("file:///android_asset/m1.map");     setContentView(mapView);   Something is going wrong with "file:///android_asset/m1.map" because the map is not being loaded.
Which is the correct string path file to the file m1.map stored on my assets folder?
Thanks
EDIT for Dimitru: This code doesn't works, it fails on is.read(buffer); with IOException
        try {             InputStream is = getAssets().open("m1.map");             int size = is.available();             byte[] buffer = new byte[size];             is.read(buffer);             is.close();             text = new String(buffer);         } catch (IOException e) {throw new RuntimeException(e);} 
                Step 3 – Right click app >> New >> Folder >> Assets folder. Right click on the assets folder, select New >> file (myText. txt) and your text.
File > New > folder > assets Folder Two ways: Select app/main folder, Right click and select New => Folder => Asset Folder.
AFAIK the files in the assets directory don't get unpacked. Instead, they are read directly from the APK (ZIP) file.
So, you really can't make stuff that expects a file accept an asset 'file'.
Instead, you'll have to extract the asset and write it to a seperate file, like Dumitru suggests:
  File f = new File(getCacheDir()+"/m1.map");   if (!f.exists()) try {      InputStream is = getAssets().open("m1.map");     int size = is.available();     byte[] buffer = new byte[size];     is.read(buffer);     is.close();       FileOutputStream fos = new FileOutputStream(f);     fos.write(buffer);     fos.close();   } catch (Exception e) { throw new RuntimeException(e); }    mapView.setMapFile(f.getPath()); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With