1,Android下的资源访问:
1、res/raw res/...
2、assets
3、sd卡
res/raw 和assets 下的文件会被打包到apk中,但不会被编译成二进制,保持原格式。这两者的不同是:res/raw中的文件会被映射到R.Java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹
- // res/raw
- InputStream is = getResources().openRawResource(R.id.rawid);
- //assets
- AssetManager am = getAssets();
- InputStream is = am.open("fileName");
- // sd 卡
- File root = Environment.getExternalStorageDirectory();
2,使用非系统默认字体
- //使用sd卡上的字体文件
- textView.setTypeface(Typeface.createFromFile(wordType));
- //使用assets里的字体文件
- textView.setTypeface(Typeface.createFromAsset(am, "type_file_path"));