Android 获取assets文件和raw文件

来源:互联网 发布:华为麦芒4钢化膜淘宝 编辑:程序博客网 时间:2024/05/16 00:38

在建立项目中一般会默认建立assets文件,当然我们还可以在res文件下面建立raw文件夹,这里面都可以存放一些多媒体文件或者文本信息,可以供我们在程序中使用。

assets下面的文件不会被编译,通过路径可以去访问其中的内容。

raw中文件会自动编译,我们可以在R.java文件中找到对应的ID。


其中比较重要的是获取Assets和Raw中的资源方法 (assets文件夹下是demo.txt ,raw文件夹下是test.txt)

     Assets: InputStream inputStream = getAssets().open(demo.txt);

     Raw:    InputStream inputStream = getResources().openRawResource(R.raw.test); 

下面,将以一个例子的形式说明怎样获取assets文件和raw下的文件,Demo下载地址 点击这里

Demo的运行示例如下:



看代码中的操作在获取assets目录下的图片时是先将图片以IO流的方式读取出来,然后生成bitmap,最后设置成背景。如下:

try {InputStream is = getAssets().open("activity_cycel.jpg") ;Bitmap bitmap = BitmapFactory.decodeStream(is) ;mTv_Main.setBackground(new BitmapDrawable(bitmap)) ;is.close() ;} catch (IOException e) {e.printStackTrace();}


获取raw下文件时,直接通过R.id即可以引用。

在获取assets/my/demo.txt文件时,是通过IO流的方式读取出来,然后读取文件内容,设置文字信息。

try {InputStream is2 = getAssets().open("my/demo.txt") ;BufferedReader  br = new BufferedReader(new InputStreamReader(is2)) ;StringBuilder sb = new StringBuilder() ;String s ;while((s = br.readLine()) != null){sb.append(s) ;sb.append("\n") ;}Log.e("","sb=" + sb) ;mTv_Main.setText(sb.toString()) ;is2.close() ;} catch (IOException e) {e.printStackTrace();}

补充:20141103

如果WebView加载assets目录下的html网页或图片时,可以直接指定asset路径下文件的路径。asset目录的路径可表示为 f:///android_asset/

所以,如果assets根目录下有个index.html文件的话,webview.loadUrl("f:///android_asset/index.html")

0 0
原创粉丝点击