首页 > 代码库 > 学习笔记4-项目的目录结构与安装及启动过程分析.avi

学习笔记4-项目的目录结构与安装及启动过程分析.avi

技术分享

1.      src:我们开发的代码

2.      gen:开发工具自动创建的,不是开发人员创建的。

R文件:定义各种资源的id,是由编译器在我们放入资源的时候自动生成的,我们以后可以通过id引用资源。(这是由开发工具自动生成、维护的)

3.      res:存放资源文件,图片、软件文字、界面等。

drawable-hdpi存放图形类型文件,将图片放到drawable-hdpi下,R文件的drawable方法就会多了一个常量。值对应的就是添加的资源。

drawable-hdpi /drawable-ldpi / drawable-mdpi存放针对频幕分辨率高中低的的图片。为一张图片提供三中分辨率的图片。当运行在Android根据目前手机分辨率自动在这些文件夹中使用对应分辨率的图片。

layout:专门存放软件界面的文件。(类似Java中的jsp)

values:专门存放应用中使用到的一些数据,比如文字(strings.xml)、尺寸、颜色等。

strings.xml包含key和内容,可以使用key拿到内容。主要为了以后使用国际化和公用相同的文字来减少内存的占用。(文字多的话,可以分成多个xml)

 

只要在res加入资源,都会在R文件中生成对应的代码。

res中也有些文件夹没有给我们创建出来,比如

res/anim/存放定义动画的XM文件。

res/xml/在Activity中使用getResources().getXML()读取该目录下的XML资源文件。

res/raw/该目录用于存放应用使用到的原始文件,如音频文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序的安装包里。为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID),参数ID形式:R.raw.somefilename。

 

4.      assets:也是存放资源文件的,但是不会在R文件中生成资源id

5.      default.properties 开发工具使用的。

6.      AndroidManifest.xml  :项目的清单文件,列出了应用具有的功能。还有列出应用所使用的系统自带的服务.

技术分享

上图是让应用显示的桌面列表中的。和只能应用在一个activity,不能出现在多个activity。程序的主入口只有一个。

 

清单文件是在软件安装的时候被操作系统读取的,得到应用中的组件进行注册。

应用的安装与启动过程

1.      安装的过程:.java编译成.class文件,Android的dx将.class转义成.dex文件,然后进行打包操作(把dex文件和资源进行打包成压缩文件,进行签名(系统使用密钥帮我们进行签名)),变成.apk文件,然后我们点击Run As →Android Application,其实内部也是运行adb install指令。

.java → .class → dx → .dex → 打包(签名)→ .apk

Adb install c:\xxx.apk

2.      启动的过程:用户点击图标的时候,相当于激活activity,找到对应的类MainActivity.java,然后对类进行实例化,用户第一打开的时候创建一个进程,然后开一个主线程对类进行实例化。通过配置文件使用反射进行实例化。然后调用oncreate,然后将类放到任务栈中。

创建进程创建主线程在主线程实例化Activity→操作系统把应用有关信息(Context)存放进Activity中,然后调用onCreate()

 

 

学习笔记4-项目的目录结构与安装及启动过程分析.avi