1.添加新的资源文件夹无法识别的解决方案
之前我在做android手机声音文件播放的时候,在res资源文件夹下新建了raw文件夹用于存放声音文件,便于程序中进行读取,但是发现在R类中并没有被设别出来,当出现这种情况的时候有多种的解决方案;
- 可以在刚才新建的文件夹下放置一个有效的文件(如:文件名不能为中文,需由a-z0-9_这些字符为合法的文件名字符),然后刷新项目,然后就可以看到R类中终于记录了我们渴望资源文件夹对应的类了;
- 这个方法就非常的粗暴,就是直接在R类中添加一个与文件夹名字相同的静态final类,例如:
public static final class raw { //这里是资源文件对应的ID(系统会自动分配) }
注意点:
- 如果新建的资源文件夹下没有文件的话,系统是不会加载这个文件夹到R类中去的;
- 官方建议是不要手动去修改R这个类,一般是有系统自动维护,所以除非迫不得已一般是使用第一种方法来解决;
2.读取外置的SD卡:
/**
* 读取手机的外置储存卡
*/
private void readSecondaryStorage() {
Map<String, String> evn = System.getenv();
String path = evn.get("SECONDARY_STORAGE");
File file = new File(path);
File files[] = file.listFiles();
for (File f : files) {
Log.i(TAG, f.getAbsolutePath());
}
Iterator<String> key = evn.keySet().iterator();
Iterator<String> value = evn.values().iterator();
while (value.hasNext() && key.hasNext()) {
Log.i(TAG, "key=" + key.next() + ":" + "value=" + value.next());
}
}
因为这里没有还没有涉及到文件的读写的操作,所以配置文件中可以不用添加内存卡的读写操作的权限