copy images from assest to sd card on install android application

[亡魂溺海] 提交于 2019-12-11 17:50:50

问题


i have some images should be displayed in the Application, the Q. is how to copy the images i am putting in the assets folder in the code to a folder under the SC card of the user on install the application on the phone


回答1:


Try with this,

private void copyAssets() {
    AssetManager assetManager = getAssets();
    String[] files = null;
    try {
        files = assetManager.list("");
    } catch (IOException e) {
        Log.e("tag", e.getMessage());
    }
    for(String filename : files) {
        InputStream in = null;
        OutputStream out = null;
        try {
          in = assetManager.open(filename);
          out = new FileOutputStream("/sdcard/" + filename);
          copyFile(in, out);
          in.close();
          in = null;
          out.flush();
          out.close();
          out = null;
        } catch(Exception e) {
            Log.e("tag", e.getMessage());
        }       
    }
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
    byte[] buffer = new byte[1024];
    int read;
    while((read = in.read(buffer)) != -1){
      out.write(buffer, 0, read);
    }
}

Don't forget to add this permission in your manifiest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 



回答2:


So I needed to do something similar except for all files, and on boot for an AOSP package. Here is a link to the package if anyone is interested (see AssetCopyReceiver.java).

https://github.com/Paradopolis/AssetCopier/blob/master/src/com/paradopolis/assetcopier/AssetCopyReceiver.java

This will copy all files under sdcard to their respective locations and it should also work with subdirectories. It works as an on boot receiver which won't work for a regular app, so it will need to be modified but the code is the same. It is heavily based on the first answer as I started from there, and corrected some issues that I found as I needed to extend it.



来源:https://stackoverflow.com/questions/12173468/copy-images-from-assest-to-sd-card-on-install-android-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!