刚开始学习android时候以为Activity就是一个应用,最后才发现它并不像brew那样,brew虽然也有组件的概念,可是并没有像android这么清晰,一个应用就是由多个组件组成。

Activity就是其中的一个组件,它是专门用来管理视图的,简单来说它就像我们window上的一个窗体,这个窗体里面又可以由多个控件组成,这些控件有button,image,text等,这些组件又是以怎么样的方式组织的呢,它有一个布局管理,就犹如一个container类似的东西对这些组件进行管理,这点和buiw中的管理很像,只是android可以用xml来布局,也可以通过代码来布局,在buiw只能通过代码实现。用xml实现当然是最简单的,但是也存在一个缺点,布局难免牵扯到坐标,坐标值用变量是最好的,但是在xml中不能使用代码中的一些变量,所有有点时候我们必须还要通过代码进行设置。在Activity的是这个视图里面各个控件的关系又是怎样的呢?我们可以用多叉树来描述,各个控件就像树上的叶子节点,各个非叶子节点就像是我们的android中的layout,跟就相当于我们的窗体了,这也就是android中说的groupview的概念了。

上面说了Activity的视图方面的东西,下来我们说一下Activity和应用的关系以及每个Activity之间的关系。我们可以打开任何一个Android应用的Manifest文件,会发现它里面会包含一个过多个Activity,那也就说明了一个应用里面可以包含多个Activity,一个应用中的各个界面都是由这些Activity来完成的。那这些Activity之间又有什么关系呢,从表面看是没有关系的,但是一个应用总有界面的迁移,这些界面的迁移总会遇到Activity之间的交互,android对Activity是通过栈进行管理的,遵循后进先出的规则,例如,Activity的启动顺序为A->B->C->D,则按back建时界面的显示顺序为D->C->B->A。Activity之间的交互通过Intent来完成,如果没有特别设置,这些Activity是运行在同一个线程里面的即MainThread。

Activity虽然只是一个界面但是它和brew的Applet有一些相似的特点,比如流程的转换以及事件处理的规则。Activity也有自己的生命周期,它的运行状态分为:Create,Start,Restart,Resume,Pause,Stop,Destroy几种状态,变迁图如下:


当前激活的Activity可以获取按键触摸等中断事件。处于其他状态的Activity是获取不到的。这个和brew对Applet的处理很类似。brew的Applet都有自己的上下文环境,在android里面的Acitivty同样也有上下文的概念。

更多相关文章

  1. 使用Android辅助服务AccessibilityService实现的微信自动抢红包
  2. 【Android开发】高级组件-进度条
  3. android setVisibility(GONE)不及时刷新的问题
  4. Android(安卓)多线程及多线程中更新控件。
  5. Android实现电话拨号器和短信发送器
  6. Android(安卓)UI秘笈:谨记该做什么不该做什么 - [图形界面]
  7. Android的配置界面PreferenceActivity
  8. [Android]应用界面创建控件的两种方式
  9. 【Android(安卓)开发】:UI控件之 ImageView 实现图片旋转和缩放功

随机推荐

  1. Android菜鸟的成长笔记——Android Studi
  2. android线程池的封装工具类
  3. Android上传图片到服务器,android-async-h
  4. 动画·界面
  5. android震动器类Vibrator
  6. 按键及其居中
  7. 搭建arm-linux-gcc交叉编译工具链环境(An
  8. Android系统源码编译全过程——下载Andro
  9. Android Vibrator手机振动 API详解
  10. Android 学习笔记--android――Activity