Copy Images From Assest To Sd Card On Install Android Application
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
Solution 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" />
Solution 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).
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.
Post a Comment for "Copy Images From Assest To Sd Card On Install Android Application"