* Similarities between res/raw and assets:
1. Files in the two directories will be stored in the apk package intact after packaging, and will not be compiled into binary.
* Differences between res/raw and assets:
1. files in res/raw will be mapped to R. in the java file, the resource ID is R. id. filename; files in the assets folder will not be mapped to R. in java, the AssetManager class is required for access.
2. res/raw cannot have a directory structure, while assets can have a directory structure, that is, folders can be created under the assets Directory.
* Read File resources:
1. Read the file resources under res/raw and get the input stream for write operations in the following ways
· InputStream is = getResources (). openRawResource (R. id. filename );
2. Read the file resources under assets and get the input stream for write operations in the following ways
· AssetManager am = null;
· Am = getAssets ();
· InputStream is = am. open ("filename ");
Note 1:Google's Android system has a bug in processing Assert. AssertManager cannot process a single file that exceeds 1 MB. Otherwise, an exception will be reported. If raw does not have this limit, it is okay to put a 4 MB Mp3 file.
NOTE 2:The assets folder is a native file that is not compiled and processed, that is, the files in this folder are not like xml, java files are pre-compiled, and some images, html, js, css files.