安卓开发笔记二:安卓工程结构介绍+安卓APP启动过程简述

一、安卓的工程目录文件介绍

1、src: 存放java代码的,有包,有文件(src文件夹是我们经常会用到的文件夹

2、gen: 存放自动生成的文件,关心是R.java, 程序页面,按键,文本等空间的ID

3、Android:4.4: 存放安卓开发的一些库,供开发者调用

4、asserts: 存放一些资源,配置文件,图片

5、bin: 编译后会生成的一些文件,包括我们关心的apk

6、lib: 依赖库

7、res:

(1)drawable:存放app程序要用到的一些图片(按照分辨率存放,如高分辨率、低分辨率等)

(2)layout: 存放布局文件的文件夹(这个文件夹也是我们平常经常会用到的文件夹

        一般一个activity(安卓页面)对应一个布局

        

(3)values: 存放一些参数,或者自定义控件的文件

比如:

8、AndroidManifest.xml: APP的配置

(1)权限:是否有网络访问权限,是否有名片夹访问权限,是否有相机访问权限

点击Add,如下所示:

选择Uses Permission,点击OK,如下所示:

比如说,选择一个网络访问权限,如下所示:

点击即可,再次跳转回代码显示的方式,如下所示:

(2)目标机器SDK版本:

比如说我们构建工程时,让你选择最高版本和最低版本,其实是修改了这个文件里的如下数据:

(3)APP的名字

(4)APP的图标

(5)配置第一个被加载,启动页面

二、安卓APP启动过程

        Laucher --》 AndroidManifest --》auch标签的activity被加载 --》 oncreat被调用 --》 java关联xml布局页面 --》 显示 --》 等待用户触摸等操作

(1)从点击桌面图标开始

Android 的桌面本身也是一个 APP,为 Launcher 进程。

当我们点击桌面的应用图标开始,就是 Launcher 中的一次点击事件。

这个 Launcher 进程,它不断的检测用户的触摸落在哪个APP上面,如果你的触摸落在空白它不做处理,你要滑动他就给你滑动

当用户点击了一个APP的图标后,如点击如下APP图标:

点击之后,它会进行如下流程:

(2)AndroidManifest.xml

这是首先被加载的第一个文件(为这个APP去创造一些运行的限制条件,以及去判断整个APP启动的时候,第一次运行的该是哪个文件(比如说MainActivity.java)):

        首先他会判断你的SDK版本,你的目标机器是否能承载的了安卓APP,有的时候承载不了,安装都安装不上,有的时候能装上不能运行:

再来就是获取用到的权限,这个权限可以在这个文件中去配置:

假设配置好了网络权限,它会为你这个APP开放网络访问的端口,会在你启动之前就帮你做好了。

         比如一个APP它有好几个界面(即有好几个activity),会先启动哪个呢?

以上说明我们的MainActivity是作为我们安卓APP第一个要被加载的页面。

打开MainActivity.java文件如下:

        而这里面的onCreate它,作为一个入口,会自动被加载执行,有点像我们以前学的Java中的main函数:

Java关联xml布局页面,那么它们是如何关联的呢,如下所示:

三、修改程序

比如说,将 activity_main.xml 中的 @string/hello_world 改成 “阿哈,小吴同学”,如下所示:

Run As 运行结果如下所示:

如果我现在创建另外一个页面(Activity ):

在工程文件名处右键,选择New,点击Other,如下所示:

点击Android,展开,点击Android Activity,再Next,即可:

Next之后,我们选择一个Blank Activity ,再点击Next:

点击Next之后,改个页面名字,点击Finish:

完成之后,可见在工程中新增加了些文件:

同时,我们可以看到AndroidManifest.xml,也多了个OtherActivity相关的代码:

我们修改一下,它最先加载的页面,如下所示:

再修改一下activity_other.xml文件,将输出改成"其他页面",如下所示:

然后,我们再运行:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值