原文地址:http://blog.csdn.net/shifuhetudi/article/details/45006605
一開始在Android Studio中讀取Assets目錄下的資源的時候,用的是Eclipse下的getResource().getAssets().open("xxx.xml");這里假如是讀取一個xml文件,但是這個方法在Android Studio中是會報異常的,為何呢?因為Android Studio和Eclipse中的目錄不一樣了,所以不能再用Eclipse下的方法讀取了,下面是Android Studio中的方法,以我的一個例子來講
1.首先是assets目錄的位置問題,在Eclispe中,這個目錄的位置在res/下面,但到了Android Studio中,這個assets目錄必須放在跟Java和res同級目錄下,下面是截圖
我這里是放入了8張圖片,好了,我現在想把那些圖片寫到SD卡,就會涉及到怎樣讀取assets目錄下的文件了,其實很簡單,首先是聲明那些圖片,下面是代碼:
private String[] names={"songhuiqiao.jpg","zhangzetian.jpg","songqian.jpg","hangxiaozhu.jpg","jingtian.jpg"
,"liuyifei.jpg","kangyikun.jpg","dengziqi.jpg"};
聲明完之后,就可以讀取了,是用下面的代碼完成的
//獲取Assets目錄下的文件
is=context.getClass().getClassLoader().getResourceAsStream("assets/"+names[i]);
下面是我的這邊的截圖:
可以看到用了跟Eclipse中不同的方法就可以讀取assets目錄下的文件了,下面是打印圖片的流的截圖:
從打印可以看出,打印出了8張圖片的流的信息,由此看出讀取assets目錄下的圖片成功了,接下來就看具體的需要了,這里就不再繼續了
總結:Android Studio讀取Assets目錄下的問題,就是2個問題而已
1.是assets目錄的位置問題
2.是讀取方法的問題,要用context.getClass().getClassLoader().getResourceAsStream("assets/"+資源名);