【android基础学习之一】——事件的监听与触发
来源:互联网 发布:mysql连接池工作原理 编辑:程序博客网 时间:2024/06/10 16:33
之前一直准备开始学习Android,但是总是这事那事拖延了计划,最近决定一定要狠下心开始这段学习。
声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误还请大家多多批评。
环境的搭建就不说了,参考网上的都是可以的,当前开发环境JDK6.0+Eclipse3.6+android sdk 2.2,因为自己手机就是2.2版本的, 刚开始学没选最新版本。
一,一般项目步骤:
1.先进行建立揭秘UI,即是:res/layout/main.xml文件
2.辅助第一步,完成相关常量res/values/string.xml文件的编写
3.对相关的activity进行编写
二、控件事件通过设置其控件的监听器来监听并处理事件
按键按下事件:通过重写onKeyDown方法
按键弹起事件:通过重写onKeyUp方法
触笔点击事件:通过实现onTouchEvent方法
Toast控件: Toast.makeText(this, string, Toast.LENGTH_SHORT).show();显示提示信息
三、相关重要代码解释
//获得Button对象
Button button_ok = (Button) this.findViewById(R.id.ok);
在Activity中,获取当前实例下得对应按钮在本实例中,自动建立的索引ID,对应着gen目录下R.java下得对应的路径
(1).控件的事件监听与触发
android中控件时间是通过设置其控件的监听器来监听并重写某些函数来处理的。
//设置Button控件监听器
button_ok.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
//这里处理事件
}
});
(2).一般常用的事件的触发,这类事件是整个activity实例运行过程中都在监听该事件的触发,直接覆盖重写就可以。
这些常用事件处理方式,每个键对应一个键值,可以根据需要改变键的功能,这样需要自己构建KeyEvent对象(参考(3))
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
DisplayToast("弹起:中键");
break;
case KeyEvent.KEYCODE_DPAD_UP:
DisplayToast("弹起:上方向键");
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
DisplayToast("弹起:下方向键");
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
DisplayToast("弹起:左方向键");
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
DisplayToast("弹起:右方向键");
break;
}
return super.onKeyUp(keyCode, event);
}
/* 触笔事件 */
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
int iAction = event.getAction();
if (iAction == MotionEvent.ACTION_CANCEL ||
iAction == MotionEvent.ACTION_DOWN ||
iAction == MotionEvent.ACTION_MOVE)
{
return false;
}
//得到触笔点击的位置
int x = (int) event.getX();
int y = (int) event.getY();
DisplayToast("触笔点击坐标:("+Integer.toString(x)+","+Integer.toString(y)+")");
return super.onTouchEvent(event);
}
(3)、自己构建KeyEvent对象
public boolean onKeyDown(int keyCode, KeyEvent event)
{
//这里构建KeyEvent对象,其功能为返回键的功能
//因此我们按任意键都会执行返回键功能
KeyEvent key = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
//这里传入的参数就是我们自己构建的KeyEvent对象key
return super.onKeyDown(key.getKeyCode(), key);
}
学习到P60页。
- 【android基础学习之一】——事件的监听与触发
- nodejs事件的监听与事件的触发
- php事件与事件监听、事件触发
- Android事件处理之一 基于监听的事件处理
- Android——按钮的事件监听
- NGUI 触发事件的监听方法
- java基础学习——Java添加事件监听的四种方法代码实例
- Android基础入门教程——3.1 基于监听的事件处理机制
- 事件工具:监听/触发
- 自动触发监听事件
- node 触发监听事件
- Android 事件触发机制学习
- 从零开始学android:Android事件处理—监听日期与时间的改变
- Android开发学习——事件监听方式
- c# 与java 相同实现 自定义事件的触发及监听
- 事件监听以及事件触发的简单实现流程
- 学习android编程之路(4)— 实现监听事件的4种方法
- Android onClick与onLongClick事件触发的问题[转]
- 利用WebBrowser控件创建自己的浏览器
- WPF使用Binding对数据的校验
- MFC ISAPI编程探讨
- ubuntu下virtualbox安装xp串口相关设置
- MyEclipse6.0快捷键大全
- 【android基础学习之一】——事件的监听与触发
- 如何在应用程序中映射网络驱动器
- git 使用
- UML建模工具中OCL 2.0的应用
- VC中通用对话框的子类化
- 电脑控制手机的另一选择——android vnc server
- c++数据的取值范围 .
- VC中用于调试程序的几个宏的使用技巧
- ubuntu 安装lamp