android 资源文件介绍

jopen 10年前

Android中,通过R.java类来访问资源文件。

在项目工程中res文件夹中存放的动画,图片,布局文件,xml文件和字符串常量值。

资源文件之间的访问,通过引用@来访问。

TextView 文本标签,可以设置字体颜色,大小,背景色,样式。EidtText文本编辑框,可以设置编辑框的圆角弧形,编辑框存放图片,原生文字等。

R类:

publicfinal R{

   public staticlass c final class id {

        public static final intbtnShowDate=0x7f050000;

        public static final intbtnShowTime=0x7f050001;

    }

publicstatic final class string {

        public static final intapp_name=0x7f040001;

        public static final inthello=0x7f040000;

    }

}

R类中均是静态的内部类和静态的常量,hello是资源文件stringsname属性。而“=”右边的是一个引用地址。

 

dp px sp 的区别:

dp,表示独立像素,不同的设备有不同的显示效果,android中一般使用dp作为单位。与密度无关。

Px,表示绝对像素。不同的设备相同的显示效果。

Sp,字体的像素单位,与精度无关。

 

rawassets文件夹区别

raw文件不会被编译,其他文件都会被编译,但是会被打包在apk中。其中的文件可以通过R.raw.test访问。Resources.openRawResource方法获得读取指定文件的InputStream对象。

assets文件不会被编译,也不能通过R类访问。他的访问方式是:getAsset().Open(“文件名”),返回一个输入流。

//打开text.txt文件,获得读取该文件的InputStream对象

InputStream is =this.getAssets().open(“text.txt”);

byte[] bf = new byte[1024];

int count = is.read(bf);

......

//open方法的参数表示assets目录下的资源文件名

 

@id @+id的区别

         前者是引用R类中的id;而后者也是引用id,但是如果没有生成id,则会自动创建id,再引用。