读取assets文件夹下图片(ods |
您所在的位置:网站首页 › assets里的图片是怎么来的 › 读取assets文件夹下图片(ods |
预前知识: Android资源文件分类:Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件:这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可; 第二种是assets目录下存放的原生资源文件:因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们。那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/res和被绑定在apk里,并不会解压到/data/data/YourApp目录下去,所以我们无法直接获取到assets的绝对路径,因为它们根本就没有。 还好Android系统为我们提供了一个AssetManager工具类。 查看官方API可知,AssetManager提供对应用程序的原始资源文件进行访问;这个类提供了一个低级别的API,它允许你以简单的字节流的形式打开和读取和应用程序绑定在一起的原始资源文件。
问题一:中间有个方法可以直接返回对应drawable对象;然后设置给ImageView,回去再看一下API对象; iv_contanct_photo.setImageBitmap(BitmapFactory.decodeResource(context.getResources(), R.mipmap.tianjia)); AssetManager类 概述:提供对应用程序的原始资源文件进行访问;这个类提供了一个低级别的API,它允许你以简单的字节流的形式打开和读取和应用程序绑定在一起的原始资源文件。通过getAssets()方法获取AssetManager对象。 AssetManager类常用方法:Public Methods final String[] list(String path) 返回指定路径下的所有文件及目录名。 final InputStream open(String fileName) 使用 ACCESS_STREAMING模式打开assets下的指定文件。. final InputStream open(String fileName, int accessMode) 使用显示的访问模式打开assets下的指定文件. 应用实例 1.加载assets目录下的网页://加载assets/win8_Demo/目录下的index.html网页 webView.loadUrl("file:///android_asset/win8_Demo/index.html"); 说明:这种方式可以加载assets目录下的网页,并且与网页有关的css,js,图片等文件也会的加载。 AssetManager.open(String filename),返回的是一个InputSteam类型的字节流,这里的filename必须是文件比如 (aa.txt;img/semll.jpg),而不能是文件夹。 3.获取assets的文件及目录名://获取assets目录下的所有文件及目录名,content(当前的上下文如Activity,Service等ContextWrapper的子类的 都可以) String fileNames[] =context.getAssets().list(path); 4.将assets下的文件复制到SD卡: [java] view plaincopy![]() ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |