复制从入资产图像到SD卡上安装Android应用程序(copy images from assest

2019-11-01 02:02发布

我有一些图像应显示在应用程序中,问的是如何在手机上复制我在资产文件夹的用户的SC卡下把代码中的一个文件夹中的图片安装应用程序

Answer 1:

这种尝试,

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);
    }
}

不要忘了在你的manifiest添加此权限

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


Answer 2:

所以我需要一个AOSP包做,除非所有文件类似的东西,并在开机。 下面是包的链接,如果有人有兴趣(见AssetCopyReceiver.java)。

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

这将在SD卡中的所有文件复制到它们各自的位置,同时也应与子目录工作。 它的工作原理为在启动接收器,这将不是一个普通的应用程序工作,所以它会需要修改,但代码是相同的。 它在很大程度上基于第一个答案,因为我从那里开始,并纠正了一些问题,我发现我需要把它扩大。



文章来源: copy images from assest to sd card on install android application