我有一些图像应显示在应用程序中,问的是如何在手机上复制我在资产文件夹的用户的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