我应该在哪里找到事件监听器?面向对象编程基础知识

问题描述 投票:0回答:1

几年后,我试图重新开始编程,因此我尝试在 android studio 中编写一个相对简单的应用程序。

我还在思考程序应该如何闲置,在哪里放置哪些属性和方法。因为我想巧妙地编写这个应用程序。 它应该是一个可以记录特定事件参数的应用程序。对于此事件(设备方向突然改变),我将创建一个类来存储数据(例如持续时间、角度...)。

我显然需要某种监听器来检查事件是否正在发生。我在哪里可以找到这个方法/监听器?

以下是我对此的想法:

应该是这个事件的类的方法吗?在我必须实施之前,这似乎是有意义的。 要调用此方法,我必须创建此对象的实例,然后调用侦听器。一旦事件发生,我就会将此实例保存到数据库中。这对我来说似乎有点奇怪。

另一方面,我可以在其他地方创建函数/方法,并且仅在事件发生后创建事件的实例。侦听器是否会成为它自己的一个类,一旦激活跟踪,我就会创建一个实例?

如果有关于这些基础知识的(简短)文档,我很乐意阅读。但由于我仍然这样做是为了好玩,所以我不会寻找一本 400 页的关于 OOP 的书。 我感谢任何有关此主题的有用评论!

event-listener object-oriented-analysis
1个回答
0
投票

我试图勾勒出JavaScript实现最需要的基本结构,它确实回答了以下问题...“如何为ES / JS对象类型实现事件调度系统?”


+- EventTarget or Observable (module) -----------------------------+
|                                                                  |
|    (*) optional                                                  |
|                                                                  |
|    +- Event (class) ------+                                      |
|    |                      |                                      |
|    |  uuid:string         |                                      |
|    |  type:string         |                                      |
|    |  target:EventTarget  |                                      |
|    |  data*:Object        |                                      |
|    |                      |                                      |
|    +----------------------+                                      |
|                                                                  |
|    +- EventListener (class) -----------+                         |
|    |                                   |                         |
|    |  target:EventTarget               |                         |
|    |  type:string                      |                         |
|    |  handler:function                 |                         |
|    |                                   |                         |
|    |  handleEvent( evt:Event|Object )  |                         |
|    |                                   |                         |
|    +-----------------------------------+                         |
|                                                                  |
|    +- EventTarget (class) or Observable (mixin) ------------+    |
|    |                                                        |    |
|    |  addEventListener( type:string, handler:function )     |    |
|    |  removeEventListener( type:string, handler:function )  |    |
|    |  dispatchEvent( evt:Event|Object )                     |    |
|    |                                                        |    |
|    +--------------------------------------------------------+    |
|                                                                  |
+------------------------------------------------------------------+
© www.soinside.com 2019 - 2024. All rights reserved.