IntelliJ IDEA使应用程序交互
应用程序交互
上一节内容中,我们介绍了一个 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 方法中,为私有成员分配对可视元素的引用:
该表达式 R.id.xxx 表示自动生成的 R 类的成员。message = (TextView) findViewById(R.id.message); droid = (ImageView) findViewById(R.id.imageView);
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),让您的手机部署非打包应用程序。
- 确保在编辑器右上角的下拉列表中选择了相应的运行/调试配置,然后单击运行图标:
- 当应用程序在设备上成功部署后,点击图像并查看用户界面的更改: