Android获取图片资源的4种方式

 1. 图片放在sdcard中,
  Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)

2. 图片在项目的res文件夹下面

  //得到application对象
  ApplicationInfo appInfo = getApplicationInfo();
  //得到该图片的id(name 是该图片的名字,drawable 是该图片存放的目录,appInfo.packageName是应用程序的包)
  int resID = getResources().getIdentifier(name, drawable, appInfo.packageName);

  //代码如下
  public Bitmap getRes(String name)
    {
      ApplicationInfo appInfo = getApplicationInfo();
      int resID = getResources().getIdentifier(name, drawable, appInfo.packageName);
      return BitmapFactory.decodeResource(getResources(), resID);
  }

3. 图片放在src目录下
  String path = com/xiangmu/test.png; //图片存放的路径
  InputStream is = getClassLoader().getResourceAsStream(path); //得到图片流

4.android中有个Assets目录,这里可以存放只读文件
  方法1:
      AssetManager assetManager = this.getResources().getAsset();
      InputStream fis = assetManager.open("db.properties");
      简写为:
      InputStream fis = getResources().getAssets().open("db.properties");
  方法2:
        InputStream abpath = getClass().getResourceAsStream("/assets/文件名");
      
    
    
5.访问res/raw目录中的文件(//res/raw目录下存放,比如test.xml一个二进制文件,我们可以读取可以直接)
  InputStream is=context.getResources().openRawResource(R.raw.test);    

你可能感兴趣的:(Android获取图片资源的4种方式)