Android学习笔记— 事件处理机制(一)

不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是用户动作——也就是需要为用户的动作提供响应,这种为用户动作提供响应的机制就是事件处理。

  Android提供了强大的事件处理机制,包括两套事件处理机制:

  •  基于监听的事件处理
  •  基于回调的事件处理

  一、基于监听的事件处理

   基于监听的事件处理是一种更“面向对象”的事件处理,主要涉及如下三个对象。

  •  EventSource(事件源):事件发生的场所,通常就是各个组件,例如窗口、按钮、菜单等
  •  Event(事件):事件封装了界面组件上发生的特定事情,通常是一次用户操作,如果程序需要获得界面组件上所发生事件的相关信息,一般通过Event对象来取得
  •  EventListener(事件监听器):负责监听事件源所发生的事件,并对各种事件作出相应的响应。

  三者的具体关系看下图:(p.s.图是相机拍的,实在是没时间画了,每天早起上班没办法啊%>_<%)

  下面以一个简单的程序来示范最简单的基于监听的事件处理。

  main.xml

  

复制代码
 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 android:gravity="center_horizontal"
7 >
8 <EditText
9 android:id="@+id/txt"
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:editable="false"
13 android:cursorVisible="false"
14 android:textSize="12pt"
15 />
16 <!-- 定义一个按钮,该按钮将作为事件源 -->
17 <Button
18 android:id="@+id/bn"
19 android:layout_width="wrap_content"
20 android:layout_height="wrap_content"
21 android:text="单击我"
22 />
23 </LinearLayout>
复制代码

java代码:

复制代码
 1 public class MainActivity extends Activity
2 {
3 @Override
4 public void onCreate(Bundle savedInstanceState)
5 {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.main);
8 //获取应用程序中的bn按钮
9 Button bn = (Button)findViewById(R.id.bn);
10 //为按钮绑定事件监听器。
11 bn.setOnClickListener(new MyClickListener());
12 }
13 //定义一个单击事件的监听器
14 class MyClickListener implements View.OnClickListener
15 {
16 //实现监听器类必须实现的方法,该方法将会作为事件处理器
17 @Override
18 public void onClick(View arg0)
19 {
20 EditText txt = (EditText)findViewById(R.id.txt);
21 txt.setText("bn按钮被单击了!");
22 }
23 }
24 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI语言模型,我只能提供一些Android开发的基础知识和常用概念,希望对您有所帮助。 1. Android组成部分 Android操作系统由四个主要组成部分组成:应用程序、应用程序框架、系统运行库和硬件抽象层。 2. Activity Activity是Android应用程序中的一个组件,用于表示应用程序中的一个屏幕。Activity可以包含用户界面元素,如文本框、按钮和图像。 3. Intent Intent是Android应用程序中的一个基本组件,用于在不同的组件之间传递数据。Intent可以用于启动Activity、启动服务、发送广播等。 4. 布局 布局是Android应用程序中用于定义用户界面的XML文件。布局文件定义了应用程序中的视图层次结构,包括文本框、按钮、图像等。 5. AndroidManifest.xml AndroidManifest.xml是Android应用程序中的一个必需文件,用于描述应用程序的基本信息。该文件包含应用程序的包名、应用程序的入口Activity、应用程序需要的权限等信息。 6. 生命周期 Android应用程序中的每个组件都有自己的生命周期,包括创建、启动、暂停和销毁。了解组件的生命周期可以帮助开发者更好地管理应用程序的资源。 7. 线程 Android应用程序中的线程用于执行长时间运行的操作,如下载文件或执行计算。但是,在主线程中执行长时间运行的操作会导致应用程序变得缓慢或停止响应,因此必须使用异步线程。 8. Service Service是Android应用程序中的一种组件,用于在后台执行长时间运行的操作。与Activity不同,Service没有用户界面,可以在后台执行。 9. 广播 广播是Android应用程序中的一种机制,用于在不同组件之间传递消息。广播可以用于通知应用程序中的其他组件,例如当设备电池电量低时,应用程序可以发送广播通知其他组件。 10. 内存管理 内存管理是Android应用程序中的一个重要方面。Android应用程序必须管理内存以确保应用程序能够正常运行,并避免出现内存泄漏和内存溢出等问题。可以使用垃圾回收器、使用合适的数据结构、避免创建不必要的对象等方法来管理内存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值