第一行 Android 代码阅读笔记
四大组件
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast
Receiver)和内容提供器(ContentProvider)。其中活动是所有 Android 应用程序的门面,
凡是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到
它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。
广播接收器可以允许你的应用接收来自各处的广播消息,比如电话、短信等,当然你的
应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可
能,比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。
ADT 全称 Android Development Tools
知道了 res 目录下每个文件夹的含义,我们再来看一下如何去使用这些资源吧。比如刚刚在 strings.xml 中找到的 Hello world!字符串,我们有两种方式可以引用它:
- 在代码中通过 R.string.hello_world 可以获得该字符串的引用;
- 在 XML 中通过@string/hello_world 可以获得该字符串的引用;
你可能会对@+id/button_1 这种语法感到陌生,但如果把加号去掉,变成@id/button_1,这你就会觉得有
些熟悉了吧,这不就是在 XML 中引用资源的语法吗,只不过是把 string 替换成了 id。是的,
如果你需要在 XML 中引用一个 id,就使用@id/id_name 这种语法,而如果你需要在 XML 中
定义一个 id,则要使用@+id/id_name 这种语法。
equestWindowFeature(Window.FEATURE_NO_TITLE)的意思就是不在活动中显示
标题栏,注意这句代码一定要在 setContentView()之前执行,不然会报错。
Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组
件想要执行的动作,还可以在不同组件之间传递数据。Intent 一般可被用于启动活动、启动
服务、以及发送广播等场景,由于服务、广播等概念你暂时还未涉及,那么本章我们的目光
无疑就锁定在了启动活动上面。