应用程序交互

上一节内容中,我们介绍了一个 IntelliJ IDEA 示例 HelloDroid 应用程序,虽然我们的示例应用程序在这一点上功能完整,但它不支持任何形式的交互。要使应用程序支持点击事件,您需要编辑 src 文件夹中定义的 HelloDroid 类。

1.打开MyActivity类

在项目(Project)视图中,找到该 src | com.example.HelloDroid 文件夹下的 HelloDroid.java 文件并单击它:

2.添加对视觉元素的引用

在 Android 系统中,您需要明确获取对可视元素的引用,以便以编程方式对它们进行操作。您需要在活动类上定义私有成员以容纳这些引用,然后在从 onCreate 内部调用的新创建的方法中初始化这些成员。

将以下代码添加到 HelloDroid 类中:private TextView message;

private ImageView droid;

在 OnCreate 中添加一个称为 InitializeApp 的新方法的调用。IntelliJ IDEA 会立即检测到此方法丢失,并建议为您生成该方法:

在该 InitializeApp 方法中,为私有成员分配对可视元素的引用:message = (TextView) findViewById(R.id.message);

droid = (ImageView) findViewById(R.id.imageView);该表达式 R.id.xxx 表示自动生成的 R 类的成员。

3.添加一个事件处理程序

在应用程序中,没有事件和事件处理程序,就不可能进行交互。举个例子,让我们添加一个点击处理程序到 droid 图像视图,并在用户每次触摸图像时显示一条消息。

在 Java 中,事件处理程序采用以下形式:private View.OnClickListener droidTapListener;

将该成员添加到 HelloDroid 类中并在该 InitializeApp 方法中对其进行初始化。您的代码现在应该看起来如下所示:private void InitializeApp() {

message = (TextView) findViewById(R.id.message);

droid = (ImageView) findViewById(R.id.imageView);

// Define and attach listeners

droidTapListener = new View.OnClickListener() {

public void onClick(View v) {

TapDroid();

}

};

droid.setOnClickListener(droidTapListener);

}

这段代码的净效果是,每次用户点击图像时,都会调用该 TapDroid 方法。

4.处理“Click”事件

该 TapDroid 方法只计算用户触摸图像的时间,并显示一条消息。您需要向 HelloDroid 类添加新的私有成员以统计点击次数:public class MyActivity extends Activity

{

private TextView message;

private ImageView droid;

private View.OnClickListener droidTapListener;

private int counter = 0;

// More code goes here ...

}

接下来,定义如下所示的 TapDroid 方法:private void TapDroid() {

counter++;

String temp;

switch (counter)

{

case 1:

temp = "once";

break;

case 2:

temp = "twice";

break;

default:

temp = String.format("%d times", counter);

}

message.setText(String.format("You touched the droid %s", temp));

}

5.构建应用程序并在设备上启动它

您的示例应用程序现在已经完成。您可以构建并将其部署到 Android 设备。

创建运行/调试配置并在目标设备下选择 USB 设备。

通过 USB 电缆将 Android 设备连接到计算机。如果设备第一次连接,请等到所有驱动程序安装完毕。

如果这是您第一次在 Android 应用程序存储外部署应用程序,请在您的设备上启用 USB 调试模式。在 Android 4.2 或更高版本上,请执行以下操作:打开设备的设置。

滚动到“关于手机(About phone)”或“关于平板电脑(About tablet)”,然后点击它。

滚动到底部并点击 Build number 7次,直到您看到“您是开发人员!” 信息。通过这样做,您可以在设备上解锁 USB 调试模式。

现在导航到:设置| 开发人员选项| 调试| USB调试(Settings

| Developer Options | Debugging | USB Debugging),让您的手机部署非打包应用程序。

确保在编辑器右上角的下拉列表中选择了相应的运行/调试配置,然后单击运行图标:

当应用程序在设备上成功部署后,点击图像并查看用户界面的更改:

idea编写html程序如何让别人应用,IntelliJ IDEA使应用程序交互相关推荐

  1. python程序怎么给别人运行_如何使Python脚本作为服务运行?

    小编典典 我使用此代码来守护我的应用程序.它允许您start/stop/restart使用以下命令来编写脚本. python myscript.py start python myscript.py ...

  2. 如何将自己chrome中的拓展程序分享给别人

    如何将自己chrome中的拓展程序分享给别人 一.找到自己拓展程序在电脑中的位置 二.打包拓展程序 至此结束,希望能帮助到各位. 一.找到自己拓展程序在电脑中的位置 1.一般自己的拓展程序位置如下: ...

  3. 怎么把python程序发给别人_别人怎么用我的Python程序

    别人怎么用我的Python程序 这里讲的给别人用,不是指将你的代码开源,也不是指给另一个程序员用.比如你写了一个小工具,想给别人用,总不能叫别人也去装python吧. 让别人不装Python环境就可以 ...

  4. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔

    *6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序.使用下面的方法体编写一个计算税款的方法.使用这个方法编写程序 题目 题目描述 破题 程序清单3-5(非本题):代码不全 补充代码:编 ...

  5. 【汇编程序】编写一个在显示器上显示的一个笑脸字符的程序

     程序需求:编写一个在显示器上显示的一个笑脸字符的程序 要使用dos系统功能号 显示单个字符 使用2号功能  ;顺序结构程序结构设计 ;顺序结构程序也称为简单程序,这种程序按指令排列的先后顺序逐条执行 ...

  6. Java黑皮书课后题第2章:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换为千克并显示结果。1磅等于0.454千克

    2.4(将磅转换为千克)编写程序,将磅数转换为千克数.程序提示用户输入磅数,然后转换为千克并显示结果.1磅等于0.454千克 题目 题目概述 运行示例 破题 代码块 方法评价 修改日志 题目 题目概述 ...

  7. 【心情分享】自己心中的程序员和别人眼里的程序员

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.序章 我很少去写这种心情分享的文章,更多的是去分享一下技术. 还记得高中 ...

  8. 一有问题,就想依靠别人,这根本不能算程序员。真的是代码民工。

    若想找老师,或者是想找人问,这本身就是不对的,程序员是最好的职业,前提是合格的程序员,现在很多人,一有问题,就想依靠别人,这根本不能算程序员.真的是代码民工.

  9. JAVA程序中访问别人接口

    说明:前台访问你的接口,传过来参数,你返回对应数据.同理,你在java程序中访问别人接口,你给别人参数,别人返回给你相应数据. 这个功能相当于前端调用你的接口传过来参数,你解决不了,需要调用别的接口解 ...

最新文章

  1. c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式
  2. mac os 快捷键
  3. html5 滤色,深入理解CSS mix-blend-mode滤色screen混合模式
  4. Tech.Ed 2008
  5. php实现注册登陆验证
  6. 程序闪退怎么运行_苹果应用程序崩溃闪退怎么办?如何解决苹果设备的软故障?...
  7. java组件是什么意思_年前面试京东3面凉经~ 面试过程与真题全分享+备战春招(java)...
  8. 运维工程师必会的linux命令下载,运维工程师必会的109个Linux命令.pdf
  9. JAVA隐藏鼠标的方法
  10. 其他的AdapterView——Spinner
  11. 云呐|固定资产盘点管理办法
  12. mysql可视化界面数据导出_MySQL 使用可视化工具导出与导入数据
  13. c语言蠕虫病毒源码,蠕虫病毒源码!附带解毒源码!
  14. 无聊做做数学题系列1 - 正弦定理及三角公式
  15. 联想g400从u盘启动计算机,联想G40怎么从U盘启动|联想G40设置U盘启动方法
  16. 收藏的一些有意思的网站
  17. numpy操作技巧二三事
  18. spring cloud gateway filters学习
  19. Unity接入穿山甲广告(使用unity插件SDK接入)看这一篇就够了
  20. LVGL 获取光标坐标位置

热门文章

  1. 游戏运营必学数据分析!
  2. linux下安装mysql客户端client
  3. Python入门第四天——[小甲鱼]零基础入门学习Python
  4. HFSS中文手册_568页_微波仿真论坛出品[免费下载]
  5. 解决QQ客服链接点开后不能进入添加好友或者聊天界面
  6. 粒子群算法和遗传算法求多元函数的最大值、最小值对比
  7. Java--入门指引
  8. vue实现Cnode具体有axios分页请求 | filters(过滤器)解决时间转秒前 分钟前 小时前 月前 年前
  9. Office 2016系列下载地址
  10. 通达信公式如何判断是指数