android读取raw文件示例
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、马龙网站维护、网站推广。
// 读取raw文件
private void rawRead(){
String ret = "";
try {
InputStream is = getResources().openRawResource(R.raw.my_raw);
int len = is.available();
byte []buffer = new byte[len];
is.read(buffer);
ret = EncodingUtils.getString(buffer, "utf-8");
is.close();
} catch (Exception e) {
e.printStackTrace();
}
tvTXT.setText(ret);
}
raw属于隐藏文件夹,他放的是图片、音乐等资源(可以直接复制到设备中,不会被编译,并且不会被自动压缩,他会在R.java中生成对应的唯一ID);它区别于assets文件夹,assets文件夹用于存放需要打包到应用程序的静态文件,给文件夹下的文件不会被影射到R.java中(即不会生成对应的id)
android raw与assets区别 *res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。 2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作 InputStream is = getResources().openRawResource(R.id.filename); 2.(1)读取assets下的文件资源,通过以下方式获取输入流来进行写操作 AssetManager am = null; am = getAssets(); InputStream is = am.open("filename"); (2)如果用Videoview来播放: VideoView.setVideoUri(Uri.parse("android.resource://" + getpackageName() + "/" + R.raw.movie));
RAW的原意就是“未经加工”。可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。RAW是未经处理、也未经压缩的格式,可以把RAW概念化为“原始图像编码数据”或更形象的称为“数字底片”。RAW格式的全称是RAW Image Format,在编程中称之为原始。