美文网首页
assets,res,raw资源文件与访问

assets,res,raw资源文件与访问

作者: zhenghaozhao | 来源:发表于2018-06-19 14:59 被阅读0次

    目录:

    1: assets与res

    res中所有资源文件都会生成R.java对应的id,而assets中不会,res资源可以通过id访问直接找到对应的资源,assets则需要通过AssetManager以二进制流来读取

    assets目录下主要存放四种文件:文本文件、图像文件、网页文件(包括html中引用的js/ccs/jpg等资源)、音频视频文件

    (1)assets读取图片

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

    Bitmap bitmap = BitmapFactory.decodeStream(is);  

    (2)assets读取文本文件

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

    int lenght = is.available();    

    byte[]  buffer = new byte[lenght];    

    is.read(buffer);    

    String result = =new String(buffer, "utf8");  

    (3) 加载assets下网页

    webView.loadUrl("file:///android_asset/html/index.htmll"); 

    (4)加载assets下音乐

    // 打开指定音乐文件,获取assets目录下指定文件的AssetFileDescriptor对象    

    AssetFileDescriptor afd = am.openFd(music);    

    mPlayer.reset();    

    // 使用MediaPlayer加载指定的声音文件。    

    mPlayer.setDataSource(afd.getFileDescriptor(),    

        afd.getStartOffset(), afd.getLength());    

    // 准备声音    

    mPlayer.prepare();    

    // 播放    

    mPlayer.start();  

    2:assets和raw

    和assets差不多,raw也不会被R文件编译,但是raw下不能在建文件夹,assets文件下是可以在建文件夹的。

    获取raw文件夹下资源的方法:

    InputStream is = getResources().openRawResource(R.id.filename);   

    相关文章

      网友评论

          本文标题:assets,res,raw资源文件与访问

          本文链接:https://www.haomeiwen.com/subject/joqseftx.html