200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > android assets目录在哪 Android Studio 中 assets目录的使用

android assets目录在哪 Android Studio 中 assets目录的使用

时间:2022-03-03 20:02:04

相关推荐

android assets目录在哪 Android Studio 中 assets目录的使用

项目中存放音频图片等资源,我把需要的资源放在了assets目录下,今天看了看官方文档,做个总结,希望对大家有所帮助。

1.Android Studio assets文件夹在哪里?

路径:app/src/main/assets app是我们的Module名称

注意:android Studio在创建新的项目的时候是没有assets目录的,需要我们重新创建。

MyProject/

src/

MyActivity.java

res/

drawable/

icon.png

layout/

main.xml

info.xml

values/

strings.xml

assets/

abc.mp3

2. assest文件夹里放文件,对于文件的大小有没有限制?

在官方的文档中没有看到相关的说明,亲自测了一下放个4.5M的音频是没有问题的。下面是官方官方文档在介绍raw目录的同时给出的assets目录使用说明:

raw/

Arbitrary files to save in their raw form. To open these resources with a raw InputStream, call Resources.openRawResource() with the resource ID, which is R.raw.filename.

However, if you need access to original file names and file hierarchy, you might consider saving some resources in the assets/ directory (instead of res/raw/). Files in assets/ are not given a resource ID, so you can read them only using AssetManager.

意思是说raw目录中的文件会生成ID,可以通过R.raw.filename直接调用

而assets目录下的文件则需要通过路径名称去引用。因此在assets目录下我们依然可以创建子目录。

3.怎样读物assets目录下的文件

在上面的文档中我们看到,我们只能通过AssetManager类去读去assets目录下的文件。

我们可以通过open(String filename)方法获取流InputStream,然后写入。

final InputStream open(String fileName)

Open an asset using ACCESS_STREAMING mode.

public void readFromAssets(String fileName){

try {

InputStream in = getAssets().open(fileName);

readTextFile(in);

} catch (IOException e) {

e.printStackTrace();

}

}

private String readTextFile(InputStream inputStream) {

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

byte buf[] = new byte[1024];

int len;

try {

while ((len = inputStream.read(buf)) != -1) {

outputStream.write(buf, 0, len);

}

outputStream.close();

inputStream.close();

} catch (IOException e) {

}

return outputStream.toString();

}

3.app安装在手机后,assets目录下的文件路径是什么?

/data/data/应用包名/lib/assets

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。