我的程序需要用到一些资源文件,是组织好的, 文件夹里面还嵌套有文件夹,然后里面有些声音和图片,程序需要用到这些资源,我把这个文件夹放到assets目录下,请问,能否通过路径的方式访问这些图片或者是声音文件?我之前没有用过,在网上查了下,都是流的方式读取assets目录下的文件,我要播放音频或者展示图片,不会都需要通过流来操作吧?或者有没有其他可以解决这个需求的方式,谢谢!其实想像c++程序那样,把一个文件夹放在debug目录下,然后程序打包了,就能够通过相对路径的方式访问文件夹中的资源,不知道android中怎么操作。再次感谢

解决方案 »

  1.   

    我也在找这个方面的答案,但是我写了路径file:///android_asset/文件名,还是找不到想要的文件的方法。
    最后我在res下建立一个raw文件夹,下面放置mp3文件,然后读取:"android.resource://" + getApplicationContext().getPackageName() + "/" + R.raw.文件名,即可获取文件。
      

  2.   

    在raw文件夹下context.getResources().openRawResource(R.raw.calendar_db), 就可以得到你的文件,R是会对raw文件件进行索引的,而assert则不会。不过文件raw里面的文件件层次不知道R会不会索引。
    播放的时候,以音乐为例,mediaPlayer传参有时就是resID的,所以你这里直接传过去R.raw.calendar_db之类的就可以。
    这里没什么难的,如果还是不行就把问题说的具体点。
      

  3.   

    确实只有文件流的方式打开,然后将流指向你要导向的应用程序.
    如果要打开的是音频视频图片的话,给系统装上对应的播放器,然后使用webview, loadUrl("file:///android_asset/raw/yourmap.png")就好了
      

  4.   

    恩,assets下面的文件,只能以流的方式读取,并且只能小于1M。我现在改成放在sdcard下面了,因为放在raw文件夹下面的话,没法嵌套目录,只能直接放在里面