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,
privatevoidcopyAssets() {
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());
}
}
}
privatevoidcopyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = newbyte[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-permissionandroid: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"