我有一些图像应该显示在应用程序中,Q.是如何将我放在代码中assets文件夹中的图像复制到用户SC卡下的文件夹中,以便在手机上安装应用程序
问问题
2031 次
2 回答
2
试试这个,
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);
}
}
不要忘记在您的清单中添加此权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2012-08-29T08:18:49.280 回答
0
所以我需要做一些类似的事情,除了所有文件,并且在启动时为 AOSP 包。如果有人感兴趣,这里是包的链接(参见 AssetCopyReceiver.java)。
这会将 sdcard 下的所有文件复制到它们各自的位置,并且它也应该与子目录一起使用。它用作启动接收器,不适用于常规应用程序,因此需要对其进行修改,但代码是相同的。它很大程度上基于我从那里开始的第一个答案,并纠正了我发现的一些问题,因为我需要扩展它。
于 2014-02-03T22:12:54.360 回答