2

I am having some trouble with my application.

I wanted to download the files and then save them into my apps drawable folder, but since that is not an option because app is read only, I want to save the downloaded file into internal storage so that only my app can access them.
If I cannot directly download the file to internal storage, can I read from downloads folder and then save it to internal storage?

Either way, I have the download method, I just need to know where to save the downloaded file and how to access it at runtime and persistently store it in internal storage.

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Pavle37
  • 571
  • 9
  • 24

2 Answers2

4

Try having a look at

_context.getFilesDir();

and

_context.getExternalFilesDir();
Unknownweirdo
  • 485
  • 6
  • 16
-1

/** * Copies a private raw resource content to a publicly readable * file such that the latter can be shared with other applications. */

private void copyPrivateRawResourceToPubliclyAccessibleFile() {
    InputStream inputStream = null;
    FileOutputStream outputStream = null;
    try {
        inputStream = getResources().openRawResource(R.raw.robot);
        outputStream = openFileOutput(SHARED_FILE_NAME,
                Context.MODE_WORLD_READABLE | Context.MODE_APPEND);
        byte[] buffer = new byte[1024];
        int length = 0;
        try {
            while ((length = inputStream.read(buffer)) > 0){
                outputStream.write(buffer, 0, length);
            }
        } catch (IOException ioe) {
            /* ignore */
        }
    } catch (FileNotFoundException fnfe) {
        /* ignore */
    } finally {
        try {
            inputStream.close();
        } catch (IOException ioe) {
           /* ignore */
        }
        try {
            outputStream.close();
        } catch (IOException ioe) {
           /* ignore */
        }
    }
}
TooCool
  • 10,598
  • 15
  • 60
  • 85