我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件、触摸事件、传感器事件等来实现。

键盘是Android中主要的输入设备,对按键的响应的处理是响应之间在程序中使用键盘的核心内容。

键盘事件主要包括:

boolean onKeyDown(int keyCode,KeyEvent event)  
在按键按下时调用

boolean onKeyUp(int keyCode,KeyEvent event)       
在按键释放时调用

boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)    
在多个事件连续时调用,用于按键重复,必须重载@Override实现

onTouchEvent(MotionEvent event)       
触摸屏事件,当在触摸屏上有动作时调用

boolean onKeyLongPress(int keyCode, KeyEvent event)     
当你长时间按时调用

我们只需要在我们实现的继承了 Activity 的类中 Override 这些方法即可。

以上按键事件响应方法的第一个参数,是值所按的键,比如你是按的  space、up还是down 等,而第二个参数,则是相应的事件。

  1. package xiaosi.key;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;
  5. import android.widget.TextView;
  6. public class KeyActivity extends Activity {
  7. /** Called when the activity is first created. */
  8. private TextView text = null;
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.main);
  13. text = (TextView)findViewById(R.id.text);
  14. }
  15. public boolean onKeyDown(int keyCode, KeyEvent event) {
  16. switch (keyCode) {
  17. case KeyEvent.KEYCODE_DPAD_CENTER:
  18. text.setText("Press \"center\" key");
  19. break;
  20. case KeyEvent.KEYCODE_DPAD_UP:
  21. text.setText("Press \"up\" key");
  22. break;
  23. case KeyEvent.KEYCODE_DPAD_DOWN:
  24. text.setText("Press \"down\" key");
  25. break;
  26. default:
  27. text.setText("Illegal key has been pressed");
  28. }
  29. return true;
  30. }
  31. }

点击center键时

Android学习笔记之按键操作的更多相关文章

  1. Android学习笔记物理按键事件处理

    常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...

  2. Android学习笔记_5_文件操作

    1.Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. package com.example.servi ...

  3. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  4. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  5. 【转】 Pro Android学习笔记(七四):HTTP服务(8):使用后台线程AsyncTask

    目录(?)[-] 5秒超时异常 AsyncTask 实现AsyncTask抽象类 对AsyncTask的调用 在哪里运行 其他重要method 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注 ...

  6. 【转】 Pro Android学习笔记(七五):HTTP服务(9):DownloadManager

    目录(?)[-] 小例子 保存在哪里下载文件信息设置和读取 查看下载状态和取消下载 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csd ...

  7. 【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart

    目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Po ...

  8. 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

    目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...

  9. 【转】 Pro Android学习笔记(四二):Fragment(7):切换效果

    目录(?)[-] 利用setTransition 利用setCustomAnimations 通过ObjectAnimator自定义动态效果 程序代码的编写 利用fragment transactio ...

随机推荐

  1. 创建带有IN类型参数的存储过程(四十八)

    创建带有IN类型参数的存储过程 我们经常要从数据表中删除记录,一般情况我们删除记录都是根据id来删除的,比如我们通常要输入DELETE FROM 表名 WHERE 后面跟上我们的条件,因为我们要经常写 ...

  2. android学习笔记五。2、其他组件

    一.ContentProvider内容提供者.是是android中一个应用向第三方共享数据的方式,android中的联系人,sms(短信记录)等都是通过这一方式来向外提供的 1.使用: 在应用中使用C ...

  3. MVC ValidateInput(false)页面验证失效的解决方案

    毫无疑问这是一个bug,很多用户升级到rc时都遇到了这个问题,以前很正常的提交只要带有html标签就被报"...从客户端中检测到有潜在危险的 request.form 值."即使在 ...

  4. ImportError: cannot import name pxssh

    Traceback (most recent call last): File "/root/Desktop/JuniperBackdoor-master/JuniperBackdoor.p ...

  5. 利用反射实现Servlet公共类的抽取

    一次请求的执行过程: 请求:发送请求地址-->到达web.xml中,找到地址对应的servlet类-->通过反射调用该类的构造函数,创建该servlet类的对象-->通过当前对象调用 ...

  6. Python——Pygame实现生命游戏(game of life)

    模块:pygame import pygame,sys,time,random from pygame.locals import * """Color"&qu ...

  7. Hadoop for .NET Developers

    Hadoop for .NET Developers(一):理解Hadoop 这些年来,大数据已经成为分析业界的兴奋源头.对于这个博客系列的目的,我将松散定义这个术语指的重点是从数据核心业务系统里数据 ...

  8. 《SAS编程与数据挖掘商业案例》学习笔记之十六

    <SAS编程与数据挖掘商业案例>学习笔记,本次重点:sas宏变量 内容包含:宏变量.宏函数.宏參数.通配函数.字符函数.计算函数.引用函数.宏语句.宏应用 1.宏触发器: %name-to ...

  9. iOS定制改动navigation的backbutton

    iOS开发中.navigation的返回button是英文"back".想改动成中文"返回"或者自己定义的文字.这么简单的事情却折腾了小半个小时.原来是被lef ...

  10. 针对CDP协议攻击分析及安全防护

    针对CDP协议攻击分析及安全防护 熟悉Cisco的朋友都知道CDP协议是思科公司独特的发现协议,在思科公司出产的所有路由器和交换机里面都能运行此协议,一台运行C D P的路由器或交换机能够得知与它直接 ...