写在前面的话:
刚开始自学Android,看了各位大牛的博客,萌生出将自己学习过程记录下来的想法。一来记录下学习进度和遇到的问题、解决问题的过程和方法,争取以后遇到同样的问题能回来找到答案;二来希望能够在互相交流中共同进步。学习资料为《疯狂Android讲义》和各位大牛的博客,引用部分内容希望谅解。千里之行始于足下,从现在开始一点一滴积累,希望某一天成为一位优秀的Android攻城狮。
1、目录结构:
1.1 创建一个HelloWorld项目,会生成一个HelloWorld目录,目录中文件结构如下:
HelloWorld
|-res
|-values
|-layout
|-drawable-ldpi
|-drawable-mdpi
|-drawable-hdpi
|-drawable-xhdpi
|-drawable-xxhdpi
|-src
|-java源文件
|-AndroidManifest.xml
1.2 目录解析:
res:各种资源文件
values:各种xml格式的资源文件,如字符串资源string.xml、颜色资源color.xml、尺寸资源dimens.xml等
layout:界面布局文件
drawable-ldpi:小图片文件,对应120dip
drawable-mdpi:中图片文件,对应160dip
drawable-hdpi:大图片文件,对应240dip
drawable-xhdpi:高清图片文件,对应320dip
drawable-xxhdpi:超清图片文件,对应480dip
src:普通的、保存Java源文件的目录
AndroidManifest.xml:Android项目系统清单文件,控制Android应用的名称、图标、访问权限等整体属性,每个Acitivity必须在这个文件中声明
1.3 关于不同的图片文件夹:目前主流做法都是把图片文件放在drawable-hdpi文件夹内,和图片相关的xml文件(如设置EditText边框)放在drawable文件夹内。系统会根据dip的大小选择对应目录下的资源文件。
以上res、src目录和AndroidManifest.xml文件是Android项目必须的,下面的目录和文件可选。
Build.xml:Ant生成文件,使用它来通过Ant生成、安装Android项目
bin:用于存放生成的目标文件的目录,如Java的二进制文件、资源打包文件.ap_后缀、Dalvik虚拟机的可行性文件.dex后缀等
gen:保存Android自从生成的R.java清单文件的目录
R.java:Android的资源字典。每类资源对应R类的一个内部类,为自动生成且不能手动修改
2、资源引用
2.1 在Java代码中使用资源,通过R.*.*来引用资源
public static final class{
//对应一个资源项
publicstatic final int app_name=0xaaaaaaaa;
}
2.2 Java代码中通过R.string.app_name来引用到”HelloWorkd”字符串常量,如:
String appName = new String(R.string.app_name);
等价于:
String appName = new String(“HelloWorld”);
在Java代码中操作相应的组件,通过findViewById(XML中给资源定义的标识符),如:
TextView text = (TextView)findViewById(R.id.text1);
就能调用TextView的各种方法(如text.setText(“test”))操作XML中定义的TextView组件。
2.3 在XML中使用资源,@<资源对应的内部类名>/<资源项的名称>来引用资源,如:
@string/app_name就能引用到”HelloWorld”字符串常量
@drawable/pic就能引用到drawable目录下名为pic的图片资源
2.4 在XML中使用标识符,@+id/<标识符>来给资源定义标识符,如:
android:id=”@+id/ok”,在Java代码中就可以通过findViewById获取该资源