深入浅出Android这书看到“解读程序流程”这部分的时候,我开始明白这确实是本烂书彻底的烂书。里面居然开始解释java程序的结构,啥是import之类的东西。一个人如果连java是啥东西都不做到应当也没必要看啥android开发。不过还在这书够薄,且凭借母语优势,我还是很快的把余下的内容给翻了一遍。感觉差不多可以照葫芦画瓢了,但对具体细节依旧是一头雾水。看来老老实实的看sdk自带的文档才是正道。
Android的开发者网站挂了,不过好在SDK里已经带了相关文档。
具体见:
/android-sdk-windows/docs/guide/topics/fundamentals.html
本着有中文尽量看中文的原则,先到网上找了找是否有Application Fundamentals的中文翻译。似乎已经有不少人做过了翻译,其中这篇翻译得比较完整http://docs.google.com/View?id=dcz49tvn_68f7rtrr9f
Application Components
Android程序比较特别,它不象大多程序一样有主入口。它是以“Application Components”为单位的,每个Components都是可以独立运行的。
系统中有四种Components:
- Activities 主要用来处理用户界面(窗口)。
- Services 后台运行组件,有点类似windows的后台服务。
- Broadcast receivers 广播消息接收组件,比如电池没电,来电话啥的。
- Content providers 用来处理各个application之间的公共数据存储,可以用来程序之间通信啥的。
Intent
content provider在接收到ContentResolver的请求时被激活,其他三种Components需要通过被称为intents的异步消息激活的。一个intent是一个Intent对象,它保存了消息的内容。
组件的关闭
Content providers和Broadcast receivers由android管理,通常不需要手动关闭。
The manifest file(AndroidManifest.xml)
应用程序配置文件,配置有该有用的组件信息,资源信息,以及权限信息。在android启动一个应用程序的component之前,它必须知道这个component的存在。因此,应用程序在manifest文件中声明了它的component。