1、Android程序的编译与安装过程:.java->.class->--dx(工具)->.dex->打包同时签名->.apk 最后调用adb指令把软件安装到模拟器上面。其中签名所用的密钥在Eclips的window->preference->Android->Build->Default debug keystore中。疑问:还有一个Customer debug keystore是做什么用的?
2、Android程序的启动过程:打开手机上的Android文件的时候,程序会先找mainfest中的一个带有<intent-filter>节点的Activity节点(注意:一个程序中只有一个Activity节点中可以有<intent-fillter>节点,它用来标识主Activity),找到程序的主Activity,启动主线程实例化他(操作系统会把应用程序的所有有关信息(Context)放到Activity中,然后调用OnCreate方法),其中OnCreate方法是Activity的生命周期方法,在一个Activity的生命周期内只会被调用一次。
分析OnCreate方法
@Override
protected void onCreate(Bundle savedInstanceState) {//在Activity生命周期内只会被 调用一次
super.onCreate(savedInstanceState);//调用父类的方法,不能删除
setContentView(R.layout.activity_main);//调用布局文件(参数为要调用的资源文件)
}
3、布局介绍:LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)
布局就是一个容器,用来摆放人控件的。
线性布局如下图所示:
左图显示了线性布局的两种情况:水平与垂直,无论是两种中的哪一种,都像一根线一样。
4、Android中的显示单位
x (pixels)像素
一般HVGA代表320x480像素,这个用的比较多。
dip或dp (device independent pixels)设备独立像素
这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
sp (scaled pixels — best for text size)比例像素
主要处理字体的大小,可以根据系统的字体自适应。
除了上面三个显示单位,下面还有几个不太常用:
in (inches)英寸
mm (millimeters)毫米
pt (points)点,1/72英寸
为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。
5、项目的目录结构
项目创建以后,根目录下有许多文件夹,其中 src用于存放源文件的,gen存放由开发工具自动生成java文件,不需要开发人员去动它,其中的R文件存放资源的标识,res文件夹存放各种资源文件,如图片、录音、布局、文字信息等。
6、布局文件中的@+id是什么意思?
如上图所示红色线框内的@+id是什么意思? 理解为:在R文件中的id内部类里面增加一个常量action_settings,并且引用这个常量所指向的值作为id属性的值。
以上是传智视频中的解释,我的一个疑惑是,是不是说在R文件中没有id这一个类的时候,就要这样写,保存以后,R文件中就会解析出id类?