Android的Activity

  Activity作为人机交互的界面,一般的应用都是有的。其最主要就是设计好界面,也就是布局,然后控制好互动。

  【布局】
  布局的话,就是设计一个View。不过只用一个View的话,实在过于复杂,本着简单化、层次化的意图,引入ViewGroup的概念。这样就可以把复杂的画面看成一棵View Tree,可以分解成用多个简单的View来构建。系统也因而可以预定义一些基本的View,或者叫Widget,像Button,TextView这些。这样一来,简单的场合,开发者就可以直接用这些系统提供的Widget来布局自己的Activity,设置个属性什么的就行了。有时复杂些,还需要继承这些Widget类,重写一些方法。当然,还有些情况更复杂,系统Widget或者可用,但是系统不开放一些接口(毕竟开放越多,就越不可控制),不能重写方法达到理想的效果,或者似是而非,有点差距,或者根本就不符合要求,这样就需要完全由开发者来定制位置、大小、如何绘制这些等等。另外,系统提供了LinearLayout, FrameLayout之类的布局类来辅助布局。同样的,开发者也能“改造”这些类为自己所用。


  【互动】

  互动的话,主要是响应用户输入。现在常见的输入设备是键盘和触摸屏,因而也就是要处理相应的Key、Touch事件。另外,系统预定义的Widget有时会封装这些事件,然后产生新的事件处理接口,算是简单化使用。
  Activity的lifecycle,其实也算是一种交互,与系统的交互。它的用途就是系统通知Activity,现在处于一种什么状态。知道了状态,Activity就可以决定做什么了,毕竟最懂应用的还是应用本身,系统强制做什么并不是什么好事(当然屏幕、输入焦点等这些特殊的东西除外)。譬如pause时,带计时的游戏,有的希望计时停止,但有的却可能希望计时继续,众口难调啊。又譬如显示提示信息的方式,Activity知道状态后就可以根据情况选择显示在当前Activity中,还是显示在状态栏上,还是用Toast。另外,数据的保存、恢复也非常重要(主要是让画面和内部变量保持一致,让用户的体验性更好一些。如果啥都不做,每次都恢复初始状态倒也不会有太大问题)。还有资源的释放、重新获取等等。
  还有其他一些交互。比如需要在AndroidManifest.xml中定义Activity,让系统知道Activity的存在。另外,如果有多个Activity,还需要设定好切换方式,Back Key还算好用,但是有些场合也挺麻烦的,需要设计好Back到哪个画面。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值