【android】 資源路徑


思路:

http://www.eoeandroid.com/thread-81618-1-1.html

如果圖片在Drawable下面,可以把圖片的ID給存到數據庫,
想保存路徑,可以把圖片放在assets文件夾下面。

 

絕對路徑:

http://blog.csdn.net/svrsimon/article/details/7079320

第一種方法:

第二種方法:

InputStream abpath = getClass().getResourceAsStream("/assets/文件名");
    //若要想要轉換成String類型

    String path = new String(InputStreamToByte(abpath ));


    private byte[] InputStreamToByte(InputStream is) throws IOException {
        ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
        int ch;
        while ((ch = is.read()) != -1) {
            bytestream.write(ch);
        }
        byte imgdata[] = bytestream.toByteArray();
        bytestream.close();
        return imgdata;
    }

 

assets目錄與res/raw、res/drawable目錄的區別

http://superonion.iteye.com/blog/1424244

一、assets目錄下的資源文件不會在R.java自動生成ID,所以讀取assets目錄下的文件必須指定文件的路徑。可以通過AssetManager類來訪問這些文件。比如要讀取assets目錄下的background.png:

Bitmap bgImg = getImageFromAssetFile( "background.png" );  
    
    /**  
     * 從assets中讀取圖片  
     */  
    private Bitmap getImageFromAssetsFile(String fileName)  
      {  
          Bitmap image = null;  
          AssetManager am = getResources().getAssets();  
          try  
          {  
              InputStream is = am.open(fileName);  
              image = BitmapFactory.decodeStream(is);  
              is.close();  
          }  
          catch (IOException e)  
          {  
              e.printStackTrace();  
          }   
          return image;  
      }

 

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目錄,這里可以存放只讀文件

 

//資源獲取的方式為

InputStream is = getResources().getAssets().open(name);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM