assets下经常可以放一些比较大的资源,对于这些资源我们如何访问。

步骤

1.获取AssetManager。

AssetManager am = getResources().getAssets();

2.利用AssetManager的open(String filePath)方法打开对应的输入流。

InputStream is = am.open(assetsFileName);

读取图片文件保存到SD卡示例代码

public  boolean saveToSDCard(String localFilePath, String fileName,
            Bitmap bitmap) {
        String extraPath = Environment.getExternalStorageDirectory().toString();
        // 使用绝对路径
        extraPath = extraPath + "/" + "PaperCut"+"/"+localFilePath;
        // String path = null;
        File file = new File(extraPath);
        if (!file.exists())
            file.mkdirs();
        try {
            filePath = file.getPath() + "/" + fileName + ".png";
            File newFile = new File(filePath);
            if (newFile.exists()) {
                Toast.makeText(getApplicationContext(), R.string.finishTips1, // 已经保存过啦亲
                        Toast.LENGTH_SHORT).show();
                return true;
            }else {
                FileOutputStream fileOutputStream = new FileOutputStream(filePath);
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
                // 另一种格式的结尾
                // bitmap.compress(CompressFormat.PNG, 50, fileOutputStream);
                fileOutputStream.flush();
                fileOutputStream.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
            // System.out.println(e.toString());
            return false;
        }
        return true;
    }
    private Bitmap getImageFromAssetsFile(int  position)
      {
          //Bitmap image = null;
          Bitmap image = null;
          String assetsFileName = null;
          assetsFileName = "album/"+is.imageMyChooseName.get(position)+"/1.png";
          //AssetManager从assets文件夹中获取资源
          AssetManager am = getResources().getAssets();
          try
          {
              InputStream is = am.open(assetsFileName);
              //从InputStream解码生成image
              image = BitmapFactory.decodeStream(is);
              is.close();
          }
          catch (IOException e)
          {
              e.printStackTrace();
          }
          return image;
      }
      //调用
          saveToSDCard("album","filePath"),getImageFromAssetsFile(position));

Android 访问assets下的文件的更多相关文章

  1. Android项目使用Assets下的文件

    Android项目在编译时,Assets下文件不被编译. Assets下的文件除了 html文件可以直接在项目中使用外,其他的文件都需要做处理滴. 在项目中使用方法:        使用流读取.   ...

  2. Android 读取Assets下的资源文件

    做Android开发近半年了,东西越学越多,硬盘容量越来越小.很多东西找起来也不方便,为此,我打算从今天起把工作中学到的东西整理起来,写成日记.也希望与广大网友分享我的经验.一同进步.今天主要介绍文件 ...

  3. Android -- 拷贝assets下的资源文件到SD卡中(可以超过1M)

    很多手机游戏,在安装APK之后都得需要下载相应的资源包,然后才能进入游戏. 有这样一个需求:就是游戏中需要的资源包打在APK内,随apk一起进行安装到手机中. 这样就不需要,在安装APK之后,去下载资 ...

  4. assets下的文件复制到SD卡

    由于assets和res下的文件都只可以读不可以写,那么在程序初始化后,将后期需要使用并且需要修改的文件复制到SD卡.下面代码提供一个工具类,将assets下的任意资源复制到SD卡下. assets下 ...

  5. Cocos2d-x在win32,android和IOS下的文件读写问题

    最近在学习和使用Cocos2d-x框架,虽然说的是跨平台,但是在用VS进行开发,然后移植到android或IOS下,也可能会出现各种问题,需要做细微的调整. 例如我在做文件读写操作的时候,很可能在wi ...

  6. VC遍历访问目录下的文件

    访问目录文件夹下的文件是经常需要的操作,C/C++和win32接口都没有提供直接调用的函数.在这里总结了几个经常用到的函数,通过MFC的CFileFind函数递归遍历实现,包括以下几个功能函数: 查找 ...

  7. android 读取根目录下的文件或文件夹

    @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC ...

  8. android assets下rar文件解压到sd卡

    参考的 http://hzy3774.iteye.com/blog/1704419   不过只能解压zip文件  最多也就能解压1M多把 ,我1.5M的可以,4M的不行 还有...之前傻逼的把raw和 ...

  9. android 修改framework下资源文件后如何编译

    在framework/base/core/res/res 下添加资源文件后需要先编译资源 然后编译framework 才可正常引用 进入项目根目录 cd frameworks/base/core/re ...

随机推荐

  1. [SDOI 2012]Longge的问题

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...

  2. ●POJ 2007 Scrambled Polygon

    题链: http://poj.org/problem?id=2007 题解: 计算几何,极角排序 按样例来说,应该就是要把凸包上的i点按 第三像限-第四像限-第一像限-第二像限 的顺序输出. 按 叉积 ...

  3. [UOJ UNR#2 黎明前的巧克力]

    来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 很奇妙的一道题 首先不难发现一个暴力做法,就是f[i]表示异或和为i的答案数,每次FWT上一个F数组,其中F[0]=1,F[ai]=2 ...

  4. [BZOJ]1018 堵塞的交通(SHOI2008)

    一道有点神的线段树. Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城 ...

  5. BZOJ3065(替罪羊树套线段树)

    以前看到这题都瑟瑟发抖,终于过了心情舒畅. 按下标为关键字建替罪羊树,每个结点开一个权值线段树,维护的这个结点代表的子树的信息. 这题还得垃圾回收,自己yy的,不知对不对.. #include < ...

  6. 关于导入excel问题

    关于导入excel问题: 在VS中可以导入,部署在IIS上无法导入的原因: 1.可能部署IIS上发布的文件设置为只读,没有写入权限.解决方法为:设置程序发布的文件夹,添加写入权限,以及asp.net ...

  7. 树莓派3B(2)- 配置多个wifi,自动寻找可用网络

    一.背景 在上篇<Raspberry Pi 3B 安装系统并联网>中,树莓派使用wifi连接,但是把树莓派带到公司,树莓派就连不了公司的wifi,要是支持连接多个wifi就好了,在此整理分 ...

  8. html下载excel模板

    只需要href等于模板存放的路径即可 <a href="../../TempLate/Attitude.xlsx" class="easyui-linkbutton ...

  9. Vue-起步篇:Vue与React、 Angular的区别

    毋庸置疑,Vue.React. Angular这三个是现在比较火的前端框架.这几个框架都各有所长,选择学习哪种就得看个人喜好或者实际项目了.相比之下, Vue 是轻量级且容易学习掌握的. 1.Vue和 ...

  10. ES6(Decorator(修饰器))

    Decorator(修饰器) 1.基本概念 函数用来修改 类 的行为 1.Decorator 是一个函数 2.通过Decorator(修饰器)能修改 类 的行为(扩展 类 的功能)3.Decorato ...