一开始在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/"+资源名);