天天记录 - Android 状态机的应用



一 什么是状态机?

以下是从百度状态机截取的片段,也可以参考维基百科有限状态机内容更专业一些。 还有事件驱动

    传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地执行。很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况。
    另一类应用程序由外部发生的事件来驱动——换言之,事件在应用程序之外生成,无法由应用程序或程序员来控制。具体需要执行的代码取决于接收到的事件,或者它 相对于其他事件的抵达时间。所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件。
    事件驱动的GUI应用程序是这种应用程序的典型例子,它们由命令和选择(也就是用户造成的事件)来驱动。


二 Android 事件中使用状态机

    在Android中有多种事件类型,但是通常只有Touch事件相应相应比较负责,其本身就有down,move,up等状态。



三 疑问?

怎样在Touch事件中使用?

先来第一步,分析有哪些状态?

        像MotionEvent就有down,move,up等状态

怎样分析有哪些状态呢?如何划分?

       个人理解是先以一个对象为主题来决定,所有的状态都是针对这个对象的,MotionEent针对的都是手指移动这一个对象

如何控制状态间衔接和切换呢?

       进行判断,是否满足一些条件,就设定相应的状态


?? 状态的相应处理代码 和 状态切换代码放到一起吗?



    




你可能感兴趣的:(天天记录 - Android 状态机的应用)