安装及相关的环境介绍
使用eclipse,配合android SDK 创建工程。涉及到3个比较重要的文件:
- Manifest(.XML):申明了程序中包含的内容,基本构建,所需权限等信息
- Layout(.XML):包含布局相关的信息
- Strings(.XML):包含了应用程序是有的所有文本。
活动
活动管理器:用来创建,销毁和管理活动。活动开始于第一次打开应用程序的时候,活动管理器会将它显示在界面上,用户切换界面的时候,活动会被移开,若没有被用户调到界面上,过段时间就会被销毁。
这样做的目的是,用来提高用户界面的响应速度。活动的当前状态并不是很重要,与android系统一样,我们更看重活动状态转换的变化,即需要对活动的状态变化作出适当的响应。
总的来说,活动有五个状态:
- Starting
- Running
- Paused
- Stopped
- Destroyed
从1到2的转变最为耗电,耗时。当活动没有在内存中存在时,即被认为处于状态1。当活动被启动时,将会调用一系列的回调函数,然后进入状态2.
状态2就是活动处于用户界面,并且获得了焦点。有优先获得内存资源的权利
状态3就是活动处于用户界面,但是失去了焦点。这种情况一般是因为有对话框弹出来,或者活动在停止前的过渡状态。
状态4指的是活动存在于内存中,但是没有在界面中显示。这种状态可以易于被调动起来,显示在界面上,但也会因为没有被用户调用,在一段时间后被销毁。
状态5指的是活动不再存在于内存中。活动在销毁前,最好需要先运行到停止状态,运行一些特定的操作,如保存用户信息,之后再转入销毁状态。
Intent
是指在主要构件间传递的消息。可以用来启动或停止一个服务,启动一个活动,或者作简单的广播。消息的传递,可以是隐式的或者是显式的,显式指的是消息有明确的接收构件,隐式则只是指定接收构件的类型。
服务
服务相对于活动而言,没有用户界面,只有三个状态,分别为:
- Starting
- Running
- Destroyed
可以不理会当前的用户界面,一直运行,但却是和活动一样都属于同一个主应用程序的线程中,即UI线程。
内容提供器(Content Provider)
内容提供器是共享数据的提供者,需要对象的是应用程序。当然这种数据一般指的是较大的数据,小的数据可以通过intent来传输。内容提供器提供了一套符合CRUD规范的接口,分别为insert(),update(),delete(),query()。在android中,有几个比较重要的内容提供器,包括:
- 联系人提供器
- 设置提供器
- 媒体存储提供器
广播接收器(Broadcast Receiver)
广播接收器本身并不会自动运行,它只是等待,直到其订阅的事件发生后,才会被激活。系统时时刻刻都在广播,如收到一条短信,接到一个电话等等,这些事件都可以触发任意数量的接收器。可以在应用程序中对不同的部分发送广播,或者向不同的应用程序发送广播。
应用程序上下文(Application Context)
这个概念不是那么容易理解。但可以归结为以下几个点:
- 它是应用程序环境及所有组件运行所在的进程。
- 活动,服务,内容提供器,广播接收器都存在于应用程序上下文中。
- 启动构件前,都会先创建应用程序上下文。
- 各种之前介绍的构件都是应用程序上下文的子类。
- 可以Context.getApplicationContext()或者Activity.getApplication()获得对上下文的引用。