android添加新的资源文件夹无法识别以及读取外置SD卡解决方案

原创
2014/01/15 19:17
阅读数 1.7K

1.添加新的资源文件夹无法识别的解决方案

之前我在做android手机声音文件播放的时候,在res资源文件夹下新建了raw文件夹用于存放声音文件,便于程序中进行读取,但是发现在R类中并没有被设别出来,当出现这种情况的时候有多种的解决方案;

  1. 可以在刚才新建的文件夹下放置一个有效的文件(如:文件名不能为中文,需由a-z0-9_这些字符为合法的文件名字符),然后刷新项目,然后就可以看到R类中终于记录了我们渴望资源文件夹对应的类了;
  2. 这个方法就非常的粗暴,就是直接在R类中添加一个与文件夹名字相同的静态final类,例如:
    public static final class raw {
          //这里是资源文件对应的ID(系统会自动分配)  
    }

注意点:

  1. 如果新建的资源文件夹下没有文件的话,系统是不会加载这个文件夹到R类中去的;
  2. 官方建议是不要手动去修改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());
		}
	}

因为这里没有还没有涉及到文件的读写的操作,所以配置文件中可以不用添加内存卡的读写操作的权限



展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
6 收藏
0
分享
返回顶部
顶部